<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.24.1.u1</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>30</ContextCount>
  <ElementCount>27</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>false</FootnotesReported>
  <SegmentCount>13</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>2</UnitCount>
  <MyReports>
    <Report instance="tm2333314-d4_def14a.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R1.htm</HtmlFileName>
      <LongName>995100 - Document - Cover</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://xbrl.sec.gov/dei/role/document/Cover</Role>
      <ShortName>Cover</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>1</Position>
    </Report>
    <Report instance="tm2333314-d4_def14a.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R2.htm</HtmlFileName>
      <LongName>995410 - Disclosure - Pay vs Performance Disclosure</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://xbrl.sec.gov/ecd/role/PvpDisclosure</Role>
      <ShortName>Pay vs Performance Disclosure</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>2</Position>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <LongName>All Reports</LongName>
      <ReportType>Book</ReportType>
      <ShortName>All Reports</ShortName>
    </Report>
  </MyReports>
  <InputFiles>
    <File>gnrc-20231231.xsd</File>
    <File>gnrc-20231231_def.xml</File>
    <File>gnrc-20231231_lab.xml</File>
    <File>gnrc-20231231_pre.xml</File>
    <File doctype="DEF 14A" isProxy="true" isUsgaap="true" original="tm2333314-d4_def14a.htm">tm2333314-d4_def14a.htm</File>
  </InputFiles>
  <SupplementalFiles>
    <File>bc_totadjust-pn.jpg</File>
    <File>bc_totcash-pn.jpg</File>
    <File>fc_busihighlig-pn.jpg</File>
    <File>fc_business-pn.jpg</File>
    <File>fc_compen-pn.jpg</File>
    <File>fc_elements-pn.jpg</File>
    <File>fc_netsales-pn.jpg</File>
    <File>fc_smartworld-pn.jpg</File>
    <File>ic_admiss-pn.jpg</File>
    <File>ic_arrow-pn.jpg</File>
    <File>ic_business-pn.jpg</File>
    <File>ic_check-pn.gif</File>
    <File>ic_check-pn.jpg</File>
    <File>ic_checkbox-pn.jpg</File>
    <File>ic_date-pn.jpg</File>
    <File>ic_mail-pn.jpg</File>
    <File>ic_net-pn.jpg</File>
    <File>ic_person-pn.jpg</File>
    <File>ic_phone-pn.jpg</File>
    <File>ic_wheree-pn.jpg</File>
    <File>ic_xmark-pn.gif</File>
    <File>lc_ebitda-pn.jpg</File>
    <File>lc_netincome-pn.jpg</File>
    <File>lc_tsr-pn.jpg</File>
    <File>lg_generac-pn.jpg</File>
    <File>org_outrea-pn.jpg</File>
    <File>pc_longterm-pn.jpg</File>
    <File>pc_paymix-pn.jpg</File>
    <File>ph_aaronjagdfeld-bw.jpg</File>
    <File>ph_andrewlampereur-bw.jpg</File>
    <File>ph_bennettmorgan-bw.jpg</File>
    <File>ph_davidramon-bw.jpg</File>
    <File>ph_dominickzarcone-bw.jpg</File>
    <File>ph_johnbowlin-bw.jpg</File>
    <File>ph_kathrynroedel-bw.jpg</File>
    <File>ph_marciaavedon-bw.jpg</File>
    <File>ph_namtnguyen-bw.jpg</File>
    <File>ph_robertdixon-bw.jpg</File>
    <File>ph_williamjenkins-bw.jpg</File>
    <File>px_24genpxy01pg01-bw.jpg</File>
    <File>px_24genpxy01pg02-bw.jpg</File>
    <File>sg_rajjanuru-bw.jpg</File>
    <File>tbl_brdcomp-pn.jpg</File>
    <File>tbl_indepen-pn.jpg</File>
  </SupplementalFiles>
  <BaseTaxonomies>
    <BaseTaxonomy items="5">http://fasb.org/us-gaap/2023</BaseTaxonomy>
    <BaseTaxonomy items="4">http://xbrl.sec.gov/dei/2023</BaseTaxonomy>
    <BaseTaxonomy items="73">http://xbrl.sec.gov/ecd/2023</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>true</HasPresentationLinkbase>
  <HasCalculationLinkbase>false</HasCalculationLinkbase>
</FilingSummary>
