diff --git a/bitmap2component/bitmap2cmp_panel.cpp b/bitmap2component/bitmap2cmp_panel.cpp
index 313b9c9f5d..0ef40a5028 100644
--- a/bitmap2component/bitmap2cmp_panel.cpp
+++ b/bitmap2component/bitmap2cmp_panel.cpp
@@ -84,7 +84,8 @@ void BITMAP2CMP_PANEL::LoadSettings( BITMAP2CMP_SETTINGS* cfg )
     {
     default:
     case FOOTPRINT_FMT:     m_rbFootprint->SetValue( true );  break;
-    case SYMBOL_FMT:        m_rbSymbol->SetValue( true );     break;
+    case SYMBOL_FMT:
+    case SYMBOL_PASTE_FMT:  m_rbSymbol->SetValue( true );     break;
     case POSTSCRIPT_FMT:    m_rbPostscript->SetValue( true ); break;
     case DRAWING_SHEET_FMT: m_rbWorksheet->SetValue( true );  break;
     }
@@ -459,7 +460,8 @@ void BITMAP2CMP_PANEL::OnExportToFile( wxCommandEvent& event )
 {
     switch( getOutputFormat() )
     {
-    case SYMBOL_FMT:        m_parentFrame->ExportEeschemaFormat();     break;
+    case SYMBOL_FMT:
+    case SYMBOL_PASTE_FMT:  m_parentFrame->ExportEeschemaFormat();     break;
     case FOOTPRINT_FMT:     m_parentFrame->ExportPcbnewFormat();       break;
     case POSTSCRIPT_FMT:    m_parentFrame->ExportPostScriptFormat();   break;
     case DRAWING_SHEET_FMT: m_parentFrame->ExportDrawingSheetFormat(); break;
@@ -483,7 +485,8 @@ OUTPUT_FMT_ID BITMAP2CMP_PANEL::getOutputFormat()
 void BITMAP2CMP_PANEL::OnExportToClipboard( wxCommandEvent& event )
 {
     std::string buffer;
-    ExportToBuffer( buffer, getOutputFormat() );
+    OUTPUT_FMT_ID format = getOutputFormat() == SYMBOL_FMT ? SYMBOL_PASTE_FMT : getOutputFormat();
+    ExportToBuffer( buffer, format );
 
     wxLogNull doNotLog; // disable logging of failed clipboard actions
 
@@ -541,6 +544,8 @@ void BITMAP2CMP_PANEL::ExportToBuffer( std::string& aOutput, OUTPUT_FMT_ID aForm
         }
     }
 
+
+
     WX_STRING_REPORTER reporter;
     BITMAPCONV_INFO    converter( aOutput, reporter );
 
diff --git a/bitmap2component/bitmap2component.cpp b/bitmap2component/bitmap2component.cpp
index 2e2c9474ae..4a419dca6a 100644
--- a/bitmap2component/bitmap2component.cpp
+++ b/bitmap2component/bitmap2component.cpp
@@ -34,6 +34,7 @@
 
 #include <build_version.h>
 #include <locale_io.h>
+#include <macros.h>
 #include <potracelib.h>
 #include <reporter.h>
 #include <fmt/format.h>
@@ -127,6 +128,7 @@ int BITMAPCONV_INFO::ConvertBitmap( potrace_bitmap_t* aPotrace_bitmap, OUTPUT_FM
         break;
 
     case SYMBOL_FMT:
+    case SYMBOL_PASTE_FMT:
         m_ScaleX = SCH_IU_PER_MM * 25.4 / aDpi_X;   // the conversion scale from PPI to eeschema iu
         m_ScaleY = -SCH_IU_PER_MM * 25.4 / aDpi_Y;  // Y axis is bottom to Top for components in libs
         createOutputData();
@@ -192,12 +194,15 @@ void BITMAPCONV_INFO::outputDataHeader( const wxString& aBrdLayerName )
         break;
 
     case SYMBOL_FMT:
+        m_Data += fmt::format( "(kicad_symbol_lib (version 20220914) (generator \"bitmap2component\") (generator_version \"{}\")\n",
+                               GetMajorMinorVersion().ToStdString() );
+        KI_FALLTHROUGH;
+
+    case SYMBOL_PASTE_FMT:
         fieldSize = 1.27;             // fields text size in mm (= 50 mils)
         Ypos /= SCH_IU_PER_MM;
         Ypos += fieldSize / 2;
-        m_Data += fmt::format( "(kicad_symbol_lib (version 20220914) (generator \"bitmap2component\") (generator_version \"{}\")\n"
-                               "  (symbol \"{}\" (pin_names (offset 1.016)) (in_bom yes) (on_board yes)\n",
-                               GetMajorMinorVersion().ToStdString(),
+        m_Data += fmt::format( "  (symbol \"{}\" (pin_names (offset 1.016)) (in_bom yes) (on_board yes)\n",
                                m_CmpName.c_str() );
 
         m_Data += fmt::format( "    (property \"Reference\" \"#G\" (at 0 {:g} 0)\n"
@@ -246,6 +251,11 @@ void BITMAPCONV_INFO::outputDataEnd()
         m_Data += "  )\n)\n";
         break;
 
+    case SYMBOL_PASTE_FMT:
+        m_Data += "    )\n";        // end symbol_0_0
+        m_Data += "  )\n";          // end symbol
+        break;
+
     case SYMBOL_FMT:
         m_Data += "    )\n";        // end symbol_0_0
         m_Data += "  )\n";          // end symbol
@@ -336,6 +346,7 @@ void BITMAPCONV_INFO::outputOnePolygon( SHAPE_LINE_CHAIN& aPolygon, const wxStri
         break;
 
     case SYMBOL_FMT:
+    case SYMBOL_PASTE_FMT:
         // The polygon outline thickness is fixed here to 0.01  ( 0.0 is the default thickness)
 #define SCH_LINE_THICKNESS_MM 0.01
         //snprintf( strbuf, sizeof(strbuf), "P %d 0 0 %d", (int) aPolygon.PointCount() + 1, EE_LINE_THICKNESS );
diff --git a/bitmap2component/bitmap2component.h b/bitmap2component/bitmap2component.h
index 9719467518..5318e20c7f 100644
--- a/bitmap2component/bitmap2component.h
+++ b/bitmap2component/bitmap2component.h
@@ -32,6 +32,7 @@ class REPORTER;
 enum OUTPUT_FMT_ID
 {
     SYMBOL_FMT,
+    SYMBOL_PASTE_FMT, // This does not include the header information
     FOOTPRINT_FMT,
     POSTSCRIPT_FMT,
     DRAWING_SHEET_FMT,