<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.23.2</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>320</ContextCount>
  <ElementCount>282</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>true</FootnotesReported>
  <SegmentCount>71</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>7</UnitCount>
  <MyReports>
    <Report instance="gnrc20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R1.htm</HtmlFileName>
      <LongName>000 - Document - Document And Entity Information</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20230630/role/statement-document-and-entity-information</Role>
      <ShortName>Document And Entity Information</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>1</Position>
    </Report>
    <Report instance="gnrc20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R2.htm</HtmlFileName>
      <LongName>001 - Statement - Condensed Consolidated Balance Sheets (Current Period Unaudited)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20230630/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited</Role>
      <ShortName>Condensed Consolidated Balance Sheets (Current Period Unaudited)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>2</Position>
    </Report>
    <Report instance="gnrc20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R3.htm</HtmlFileName>
      <LongName>002 - Statement - Condensed Consolidated Balance Sheets (Current Period Unaudited) (Parentheticals)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20230630/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited-parentheticals</Role>
      <ShortName>Condensed Consolidated Balance Sheets (Current Period Unaudited) (Parentheticals)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>3</Position>
    </Report>
    <Report instance="gnrc20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R4.htm</HtmlFileName>
      <LongName>003 - Statement - Condensed Consolidated Statements of Comprehensive Income (Unaudited)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20230630/role/statement-condensed-consolidated-statements-of-comprehensive-income-unaudited</Role>
      <ShortName>Condensed Consolidated Statements of Comprehensive Income (Unaudited)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>4</Position>
    </Report>
    <Report instance="gnrc20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R5.htm</HtmlFileName>
      <LongName>004 - Statement - Condensed Consolidated Statements of Stockholders' Equity (Unaudited)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20230630/role/statement-condensed-consolidated-statements-of-stockholders-equity-unaudited</Role>
      <ShortName>Condensed Consolidated Statements of Stockholders' Equity (Unaudited)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>5</Position>
    </Report>
    <Report instance="gnrc20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R6.htm</HtmlFileName>
      <LongName>005 - Statement - Condensed Consolidated Statements of Stockholders' Equity (Unaudited) (Parentheticals)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20230630/role/statement-condensed-consolidated-statements-of-stockholders-equity-unaudited-parentheticals</Role>
      <ShortName>Condensed Consolidated Statements of Stockholders' Equity (Unaudited) (Parentheticals)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>6</Position>
    </Report>
    <Report instance="gnrc20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R7.htm</HtmlFileName>
      <LongName>006 - Statement - Condensed Consolidated Statements of Cash Flows (Unaudited)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20230630/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited</Role>
      <ShortName>Condensed Consolidated Statements of Cash Flows (Unaudited)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>7</Position>
    </Report>
    <Report instance="gnrc20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R8.htm</HtmlFileName>
      <LongName>007 - Disclosure - Note 1 - Description of Business and Basis of Presentation</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20230630/role/statement-note-1-description-of-business-and-basis-of-presentation</Role>
      <ShortName>Note 1 - Description of Business and Basis of Presentation</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>8</Position>
    </Report>
    <Report instance="gnrc20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R9.htm</HtmlFileName>
      <LongName>008 - Disclosure - Note 2 - Acquisitions</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20230630/role/statement-note-2-acquisitions</Role>
      <ShortName>Note 2 - Acquisitions</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>9</Position>
    </Report>
    <Report instance="gnrc20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R10.htm</HtmlFileName>
      <LongName>009 - Disclosure - Note 3 - Redeemable Noncontrolling Interest</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20230630/role/statement-note-3-redeemable-noncontrolling-interest</Role>
      <ShortName>Note 3 - Redeemable Noncontrolling Interest</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>10</Position>
    </Report>
    <Report instance="gnrc20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R11.htm</HtmlFileName>
      <LongName>010 - Disclosure - Note 4 - Derivative Instruments and Hedging Activities</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20230630/role/statement-note-4-derivative-instruments-and-hedging-activities</Role>
      <ShortName>Note 4 - Derivative Instruments and Hedging Activities</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>11</Position>
    </Report>
    <Report instance="gnrc20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R12.htm</HtmlFileName>
      <LongName>011 - Disclosure - Note 5 - Fair Value Measurements</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20230630/role/statement-note-5-fair-value-measurements</Role>
      <ShortName>Note 5 - Fair Value Measurements</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>12</Position>
    </Report>
    <Report instance="gnrc20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R13.htm</HtmlFileName>
      <LongName>012 - Disclosure - Note 6 - Accumulated Other Comprehensive Loss</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20230630/role/statement-note-6-accumulated-other-comprehensive-loss</Role>
      <ShortName>Note 6 - Accumulated Other Comprehensive Loss</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>13</Position>
    </Report>
    <Report instance="gnrc20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R14.htm</HtmlFileName>
      <LongName>013 - Disclosure - Note 7 - Segment Reporting</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20230630/role/statement-note-7-segment-reporting</Role>
      <ShortName>Note 7 - Segment Reporting</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>14</Position>
    </Report>
    <Report instance="gnrc20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R15.htm</HtmlFileName>
      <LongName>014 - Disclosure - Note 8 - Balance Sheet Details</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20230630/role/statement-note-8-balance-sheet-details</Role>
      <ShortName>Note 8 - Balance Sheet Details</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>15</Position>
    </Report>
    <Report instance="gnrc20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R16.htm</HtmlFileName>
      <LongName>015 - Disclosure - Note 9 - Product Warranty Obligations</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20230630/role/statement-note-9-product-warranty-obligations</Role>
      <ShortName>Note 9 - Product Warranty Obligations</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>16</Position>
    </Report>
    <Report instance="gnrc20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R17.htm</HtmlFileName>
      <LongName>016 - Disclosure - Note 10 - Contract Balances</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20230630/role/statement-note-10-contract-balances</Role>
      <ShortName>Note 10 - Contract Balances</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>17</Position>
    </Report>
    <Report instance="gnrc20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R18.htm</HtmlFileName>
      <LongName>017 - Disclosure - Note 11 - Credit Agreements</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20230630/role/statement-note-11-credit-agreements</Role>
      <ShortName>Note 11 - Credit Agreements</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>18</Position>
    </Report>
    <Report instance="gnrc20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R19.htm</HtmlFileName>
      <LongName>018 - Disclosure - Note 12 - Stock Repurchase Program</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20230630/role/statement-note-12-stock-repurchase-program</Role>
      <ShortName>Note 12 - Stock Repurchase Program</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>19</Position>
    </Report>
    <Report instance="gnrc20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R20.htm</HtmlFileName>
      <LongName>019 - Disclosure - Note 13 - Earnings Per Share</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20230630/role/statement-note-13-earnings-per-share</Role>
      <ShortName>Note 13 - Earnings Per Share</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>20</Position>
    </Report>
    <Report instance="gnrc20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R21.htm</HtmlFileName>
      <LongName>020 - Disclosure - Note 14 - Income Taxes</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20230630/role/statement-note-14-income-taxes</Role>
      <ShortName>Note 14 - Income Taxes</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>21</Position>
    </Report>
    <Report instance="gnrc20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R22.htm</HtmlFileName>
      <LongName>021 - Disclosure - Note 15 - Commitments and Contingencies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20230630/role/statement-note-15-commitments-and-contingencies</Role>
      <ShortName>Note 15 - Commitments and Contingencies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>22</Position>
    </Report>
    <Report instance="gnrc20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R23.htm</HtmlFileName>
      <LongName>022 - Disclosure - Item 5. Other Information</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20230630/role/statement-item-5-other-information</Role>
      <ShortName>Item 5. Other Information</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>23</Position>
    </Report>
    <Report instance="gnrc20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R24.htm</HtmlFileName>
      <LongName>023 - Disclosure - Significant Accounting Policies (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20230630/role/statement-significant-accounting-policies-policies</Role>
      <ShortName>Significant Accounting Policies (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <Position>24</Position>
    </Report>
    <Report instance="gnrc20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R25.htm</HtmlFileName>
      <LongName>024 - Disclosure - Note 3 - Redeemable Noncontrolling Interest (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20230630/role/statement-note-3-redeemable-noncontrolling-interest-tables</Role>
      <ShortName>Note 3 - Redeemable Noncontrolling Interest (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.generac.com/20230630/role/statement-note-3-redeemable-noncontrolling-interest</ParentRole>
      <Position>25</Position>
    </Report>
    <Report instance="gnrc20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R26.htm</HtmlFileName>
      <LongName>025 - Disclosure - Note 4 - Derivative Instruments and Hedging Activities (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20230630/role/statement-note-4-derivative-instruments-and-hedging-activities-tables</Role>
      <ShortName>Note 4 - Derivative Instruments and Hedging Activities (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.generac.com/20230630/role/statement-note-4-derivative-instruments-and-hedging-activities</ParentRole>
      <Position>26</Position>
    </Report>
    <Report instance="gnrc20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R27.htm</HtmlFileName>
      <LongName>026 - Disclosure - Note 5 - Fair Value Measurements (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20230630/role/statement-note-5-fair-value-measurements-tables</Role>
      <ShortName>Note 5 - Fair Value Measurements (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.generac.com/20230630/role/statement-note-5-fair-value-measurements</ParentRole>
      <Position>27</Position>
    </Report>
    <Report instance="gnrc20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R28.htm</HtmlFileName>
      <LongName>027 - Disclosure - Note 6 - Accumulated Other Comprehensive Loss (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20230630/role/statement-note-6-accumulated-other-comprehensive-loss-tables</Role>
      <ShortName>Note 6 - Accumulated Other Comprehensive Loss (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.generac.com/20230630/role/statement-note-6-accumulated-other-comprehensive-loss</ParentRole>
      <Position>28</Position>
    </Report>
    <Report instance="gnrc20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R29.htm</HtmlFileName>
      <LongName>028 - Disclosure - Note 7 - Segment Reporting (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20230630/role/statement-note-7-segment-reporting-tables</Role>
      <ShortName>Note 7 - Segment Reporting (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.generac.com/20230630/role/statement-note-7-segment-reporting</ParentRole>
      <Position>29</Position>
    </Report>
    <Report instance="gnrc20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R30.htm</HtmlFileName>
      <LongName>029 - Disclosure - Note 8 - Balance Sheet Details (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20230630/role/statement-note-8-balance-sheet-details-tables</Role>
      <ShortName>Note 8 - Balance Sheet Details (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.generac.com/20230630/role/statement-note-8-balance-sheet-details</ParentRole>
      <Position>30</Position>
    </Report>
    <Report instance="gnrc20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R31.htm</HtmlFileName>
      <LongName>030 - Disclosure - Note 9 - Product Warranty Obligations (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20230630/role/statement-note-9-product-warranty-obligations-tables</Role>
      <ShortName>Note 9 - Product Warranty Obligations (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.generac.com/20230630/role/statement-note-9-product-warranty-obligations</ParentRole>
      <Position>31</Position>
    </Report>
    <Report instance="gnrc20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R32.htm</HtmlFileName>
      <LongName>031 - Disclosure - Note 11 - Credit Agreements (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20230630/role/statement-note-11-credit-agreements-tables</Role>
      <ShortName>Note 11 - Credit Agreements (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.generac.com/20230630/role/statement-note-11-credit-agreements</ParentRole>
      <Position>32</Position>
    </Report>
    <Report instance="gnrc20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R33.htm</HtmlFileName>
      <LongName>032 - Disclosure - Note 13 - Earnings Per Share (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20230630/role/statement-note-13-earnings-per-share-tables</Role>
      <ShortName>Note 13 - Earnings Per Share (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.generac.com/20230630/role/statement-note-13-earnings-per-share</ParentRole>
      <Position>33</Position>
    </Report>
    <Report instance="gnrc20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R34.htm</HtmlFileName>
      <LongName>033 - Disclosure - Note 2 - Acquisitions (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20230630/role/statement-note-2-acquisitions-details-textual</Role>
      <ShortName>Note 2 - Acquisitions (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.generac.com/20230630/role/statement-note-2-acquisitions</ParentRole>
      <Position>34</Position>
    </Report>
    <Report instance="gnrc20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R35.htm</HtmlFileName>
      <LongName>034 - Disclosure - Note 3 - Redeemable Noncontrolling Interest (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20230630/role/statement-note-3-redeemable-noncontrolling-interest-details-textual</Role>
      <ShortName>Note 3 - Redeemable Noncontrolling Interest (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.generac.com/20230630/role/statement-note-3-redeemable-noncontrolling-interest-tables</ParentRole>
      <Position>35</Position>
    </Report>
    <Report instance="gnrc20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R36.htm</HtmlFileName>
      <LongName>035 - Disclosure - Note 3 - Redeemable Noncontrolling Interest - Redeemable Noncontrolling Interest (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20230630/role/statement-note-3-redeemable-noncontrolling-interest-redeemable-noncontrolling-interest-details</Role>
      <ShortName>Note 3 - Redeemable Noncontrolling Interest - Redeemable Noncontrolling Interest (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>36</Position>
    </Report>
    <Report instance="gnrc20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R37.htm</HtmlFileName>
      <LongName>036 - Disclosure - Note 4 - Derivative Instruments and Hedging Activities (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20230630/role/statement-note-4-derivative-instruments-and-hedging-activities-details-textual</Role>
      <ShortName>Note 4 - Derivative Instruments and Hedging Activities (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.generac.com/20230630/role/statement-note-4-derivative-instruments-and-hedging-activities-tables</ParentRole>
      <Position>37</Position>
    </Report>
    <Report instance="gnrc20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R38.htm</HtmlFileName>
      <LongName>037 - Disclosure - Note 4 - Derivative Instruments and Hedging Activities - Fair Value of Derivatives (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20230630/role/statement-note-4-derivative-instruments-and-hedging-activities-fair-value-of-derivatives-details</Role>
      <ShortName>Note 4 - Derivative Instruments and Hedging Activities - Fair Value of Derivatives (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>38</Position>
    </Report>
    <Report instance="gnrc20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R39.htm</HtmlFileName>
      <LongName>038 - Disclosure - Note 5 - Fair Value Measurements (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20230630/role/statement-note-5-fair-value-measurements-details-textual</Role>
      <ShortName>Note 5 - Fair Value Measurements (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.generac.com/20230630/role/statement-note-5-fair-value-measurements-tables</ParentRole>
      <Position>39</Position>
    </Report>
    <Report instance="gnrc20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R40.htm</HtmlFileName>
      <LongName>039 - Disclosure - Note 5 - Fair Value Measurements - Reconciliation of Contingent Consideration (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20230630/role/statement-note-5-fair-value-measurements-reconciliation-of-contingent-consideration-details</Role>
      <ShortName>Note 5 - Fair Value Measurements - Reconciliation of Contingent Consideration (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>40</Position>
    </Report>
    <Report instance="gnrc20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R41.htm</HtmlFileName>
      <LongName>040 - Disclosure - Note 6 - Accumulated Other Comprehensive Loss (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20230630/role/statement-note-6-accumulated-other-comprehensive-loss-details-textual</Role>
      <ShortName>Note 6 - Accumulated Other Comprehensive Loss (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.generac.com/20230630/role/statement-note-6-accumulated-other-comprehensive-loss-tables</ParentRole>
      <Position>41</Position>
    </Report>
    <Report instance="gnrc20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R42.htm</HtmlFileName>
      <LongName>041 - Disclosure - Note 6 - Accumulated Other Comprehensive Loss - Disclosure of Changes in Accumulated Other Comprehensive Loss (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20230630/role/statement-note-6-accumulated-other-comprehensive-loss-disclosure-of-changes-in-accumulated-other-comprehensive-loss-details</Role>
      <ShortName>Note 6 - Accumulated Other Comprehensive Loss - Disclosure of Changes in Accumulated Other Comprehensive Loss (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>42</Position>
    </Report>
    <Report instance="gnrc20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R43.htm</HtmlFileName>
      <LongName>042 - Disclosure - Note 7 - Segment Reporting (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20230630/role/statement-note-7-segment-reporting-details-textual</Role>
      <ShortName>Note 7 - Segment Reporting (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.generac.com/20230630/role/statement-note-7-segment-reporting-tables</ParentRole>
      <Position>43</Position>
    </Report>
    <Report instance="gnrc20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R44.htm</HtmlFileName>
      <LongName>043 - Disclosure - Note 7 - Segment Reporting - Net Sales by Products and Services (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20230630/role/statement-note-7-segment-reporting-net-sales-by-products-and-services-details</Role>
      <ShortName>Note 7 - Segment Reporting - Net Sales by Products and Services (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>44</Position>
    </Report>
    <Report instance="gnrc20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R45.htm</HtmlFileName>
      <LongName>044 - Disclosure - Note 7 - Segment Reporting - Total Sales by Reportable Segment (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20230630/role/statement-note-7-segment-reporting-total-sales-by-reportable-segment-details</Role>
      <ShortName>Note 7 - Segment Reporting - Total Sales by Reportable Segment (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>45</Position>
    </Report>
    <Report instance="gnrc20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R46.htm</HtmlFileName>
      <LongName>045 - Disclosure - Note 7 - Segment Reporting - Segment Information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20230630/role/statement-note-7-segment-reporting-segment-information-details</Role>
      <ShortName>Note 7 - Segment Reporting - Segment Information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>46</Position>
    </Report>
    <Report instance="gnrc20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R47.htm</HtmlFileName>
      <LongName>046 - Disclosure - Note 8 - Balance Sheet Details (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20230630/role/statement-note-8-balance-sheet-details-details-textual</Role>
      <ShortName>Note 8 - Balance Sheet Details (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.generac.com/20230630/role/statement-note-8-balance-sheet-details-tables</ParentRole>
      <Position>47</Position>
    </Report>
    <Report instance="gnrc20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R48.htm</HtmlFileName>
      <LongName>047 - Disclosure - Note 8 - Balance Sheet Details - Inventories (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20230630/role/statement-note-8-balance-sheet-details-inventories-details</Role>
      <ShortName>Note 8 - Balance Sheet Details - Inventories (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>48</Position>
    </Report>
    <Report instance="gnrc20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R49.htm</HtmlFileName>
      <LongName>048 - Disclosure - Note 8 - Balance Sheet Details - Property and Equipment (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20230630/role/statement-note-8-balance-sheet-details-property-and-equipment-details</Role>
      <ShortName>Note 8 - Balance Sheet Details - Property and Equipment (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>49</Position>
    </Report>
    <Report instance="gnrc20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R50.htm</HtmlFileName>
      <LongName>049 - Disclosure - Note 9 - Product Warranty Obligations (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20230630/role/statement-note-9-product-warranty-obligations-details-textual</Role>
      <ShortName>Note 9 - Product Warranty Obligations (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.generac.com/20230630/role/statement-note-9-product-warranty-obligations-tables</ParentRole>
      <Position>50</Position>
    </Report>
    <Report instance="gnrc20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R51.htm</HtmlFileName>
      <LongName>050 - Disclosure - Note 9 - Product Warranty Obligations - Reconciliation of Product Warranty Liability (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20230630/role/statement-note-9-product-warranty-obligations-reconciliation-of-product-warranty-liability-details</Role>
      <ShortName>Note 9 - Product Warranty Obligations - Reconciliation of Product Warranty Liability (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>51</Position>
    </Report>
    <Report instance="gnrc20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R52.htm</HtmlFileName>
      <LongName>051 - Disclosure - Note 9 - Product Warranty Obligations - Recognition of Deferred Revenue Related to Extended Warranties (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20230630/role/statement-note-9-product-warranty-obligations-recognition-of-deferred-revenue-related-to-extended-warranties-details</Role>
      <ShortName>Note 9 - Product Warranty Obligations - Recognition of Deferred Revenue Related to Extended Warranties (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>52</Position>
    </Report>
    <Report instance="gnrc20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R53.htm</HtmlFileName>
      <LongName>052 - Disclosure - Note 9 - Product Warranty Obligations - Recognition of Deferred Revenue Related to Extended Warranties 2 (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20230630/role/statement-note-9-product-warranty-obligations-recognition-of-deferred-revenue-related-to-extended-warranties-2-details</Role>
      <ShortName>Note 9 - Product Warranty Obligations - Recognition of Deferred Revenue Related to Extended Warranties 2 (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>53</Position>
    </Report>
    <Report instance="gnrc20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R54.htm</HtmlFileName>
      <LongName>053 - Disclosure - Note 9 - Product Warranty Obligations - Recognition of Deferred Revenue Related to Extended Warranties (Details) (Parentheticals)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20230630/role/statement-note-9-product-warranty-obligations-recognition-of-deferred-revenue-related-to-extended-warranties-details-parentheticals</Role>
      <ShortName>Note 9 - Product Warranty Obligations - Recognition of Deferred Revenue Related to Extended Warranties (Details) (Parentheticals)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>54</Position>
    </Report>
    <Report instance="gnrc20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R55.htm</HtmlFileName>
      <LongName>054 - Disclosure - Note 9 - Product Warranty Obligations - Deferred Product Obligations (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20230630/role/statement-note-9-product-warranty-obligations-deferred-product-obligations-details</Role>
      <ShortName>Note 9 - Product Warranty Obligations - Deferred Product Obligations (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>55</Position>
    </Report>
    <Report instance="gnrc20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R56.htm</HtmlFileName>
      <LongName>055 - Disclosure - Note 10 - Contract Balances (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20230630/role/statement-note-10-contract-balances-details-textual</Role>
      <ShortName>Note 10 - Contract Balances (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.generac.com/20230630/role/statement-note-10-contract-balances</ParentRole>
      <Position>56</Position>
    </Report>
    <Report instance="gnrc20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R57.htm</HtmlFileName>
      <LongName>056 - Disclosure - Note 11 - Credit Agreements (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20230630/role/statement-note-11-credit-agreements-details-textual</Role>
      <ShortName>Note 11 - Credit Agreements (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.generac.com/20230630/role/statement-note-11-credit-agreements-tables</ParentRole>
      <Position>57</Position>
    </Report>
    <Report instance="gnrc20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R58.htm</HtmlFileName>
      <LongName>057 - Disclosure - Note 11 - Credit Agreements - Long-term Borrowings (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20230630/role/statement-note-11-credit-agreements-longterm-borrowings-details</Role>
      <ShortName>Note 11 - Credit Agreements - Long-term Borrowings (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>58</Position>
    </Report>
    <Report instance="gnrc20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R59.htm</HtmlFileName>
      <LongName>058 - Disclosure - Note 11 - Credit Agreements - Maturities of Long-term Borrowings Outstanding (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20230630/role/statement-note-11-credit-agreements-maturities-of-longterm-borrowings-outstanding-details</Role>
      <ShortName>Note 11 - Credit Agreements - Maturities of Long-term Borrowings Outstanding (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>59</Position>
    </Report>
    <Report instance="gnrc20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R60.htm</HtmlFileName>
      <LongName>059 - Disclosure - Note 12 - Stock Repurchase Program (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20230630/role/statement-note-12-stock-repurchase-program-details-textual</Role>
      <ShortName>Note 12 - Stock Repurchase Program (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.generac.com/20230630/role/statement-note-12-stock-repurchase-program</ParentRole>
      <Position>60</Position>
    </Report>
    <Report instance="gnrc20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R61.htm</HtmlFileName>
      <LongName>060 - Disclosure - Note 13 - Earnings Per Share (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20230630/role/statement-note-13-earnings-per-share-details-textual</Role>
      <ShortName>Note 13 - Earnings Per Share (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.generac.com/20230630/role/statement-note-13-earnings-per-share-tables</ParentRole>
      <Position>61</Position>
    </Report>
    <Report instance="gnrc20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R62.htm</HtmlFileName>
      <LongName>061 - Disclosure - Note 13 - Earnings Per Share - Reconciliation of Basic and Diluted Earnings Per Share (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20230630/role/statement-note-13-earnings-per-share-reconciliation-of-basic-and-diluted-earnings-per-share-details</Role>
      <ShortName>Note 13 - Earnings Per Share - Reconciliation of Basic and Diluted Earnings Per Share (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>62</Position>
    </Report>
    <Report instance="gnrc20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R63.htm</HtmlFileName>
      <LongName>062 - Disclosure - Note 14 - Income Taxes (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20230630/role/statement-note-14-income-taxes-details-textual</Role>
      <ShortName>Note 14 - Income Taxes (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.generac.com/20230630/role/statement-note-14-income-taxes</ParentRole>
      <Position>63</Position>
    </Report>
    <Report instance="gnrc20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R64.htm</HtmlFileName>
      <LongName>063 - Disclosure - Note 15 - Commitments and Contingencies (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20230630/role/statement-note-15-commitments-and-contingencies-details-textual</Role>
      <ShortName>Note 15 - Commitments and Contingencies (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.generac.com/20230630/role/statement-note-15-commitments-and-contingencies</ParentRole>
      <Position>64</Position>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <LongName>All Reports</LongName>
      <ReportType>Book</ReportType>
      <ShortName>All Reports</ShortName>
    </Report>
  </MyReports>
  <Logs>
    <Log type="Warning">[ix-0514-Hidden-Fact-Eligible-For-Transform] WARN: 33 fact(s) appearing in ix:hidden were eligible for transformation: dei:EntityRegistrantName, gnrc:BusinessAcquisitionNoncontrollingInterestTermOfPutOption, gnrc:ExtendedWarrantyTerm, gnrc:NumberOfNewContractsEntered, gnrc:SharesAcquiredUnderStockRepurchasesProgramShares, us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent, us-gaap:CommonStockParOrStatedValuePerShare, us-gaap:CommonStockSharesAuthorized, us-gaap:CommonStockSharesIssued, us-gaap:DerivativeNumberOfInstrumentsHeld, us-gaap:EffectiveIncomeTaxRateContinuingOperations, us-gaap:LongTermDebtMaturityDate, us-gaap:NumberOfReportableSegments, us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationTax, us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1, us-gaap:TreasuryStockCommonShares -  gnrc20230630_10q.htm 8, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44</Log>
  </Logs>
  <InputFiles>
    <File doctype="10-Q" original="gnrc20230630_10q.htm">gnrc20230630_10q.htm</File>
    <File>ex_524927.htm</File>
    <File>ex_524928.htm</File>
    <File>ex_524929.htm</File>
    <File>ex_524930.htm</File>
    <File>gnrc-20230630.xsd</File>
    <File>gnrc-20230630_cal.xml</File>
    <File>gnrc-20230630_def.xml</File>
    <File>gnrc-20230630_lab.xml</File>
    <File>gnrc-20230630_pre.xml</File>
  </InputFiles>
  <SupplementalFiles/>
  <BaseTaxonomies>
    <BaseTaxonomy items="986">http://fasb.org/us-gaap/2023</BaseTaxonomy>
    <BaseTaxonomy items="29">http://xbrl.sec.gov/dei/2023</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>true</HasPresentationLinkbase>
  <HasCalculationLinkbase>true</HasCalculationLinkbase>
</FilingSummary>
