<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.24.0.1</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>336</ContextCount>
  <ElementCount>561</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>true</FootnotesReported>
  <SegmentCount>115</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>9</UnitCount>
  <MyReports>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R1.htm</HtmlFileName>
      <LongName>100000 - Document - Cover Page</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/CoverPage</Role>
      <ShortName>Cover Page</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>1</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R2.htm</HtmlFileName>
      <LongName>100010 - Statement - CONSOLIDATED BALANCE SHEETS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheets</Role>
      <ShortName>CONSOLIDATED BALANCE SHEETS</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>2</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R3.htm</HtmlFileName>
      <LongName>100060 - Statement - CONSOLIDATED BALANCE SHEETS (Parenthetical)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheetsParenthetical</Role>
      <ShortName>CONSOLIDATED BALANCE SHEETS (Parenthetical)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>3</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R4.htm</HtmlFileName>
      <LongName>100070 - Statement - CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfComprehensiveIncome</Role>
      <ShortName>CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>4</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R5.htm</HtmlFileName>
      <LongName>100080 - Statement - CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfStockholdersEquity</Role>
      <ShortName>CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>5</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R6.htm</HtmlFileName>
      <LongName>100100 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedStatementsOfCashFlows</Role>
      <ShortName>CONSOLIDATED STATEMENTS OF CASH FLOWS</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>6</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R7.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>7</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R8.htm</HtmlFileName>
      <LongName>995445 - Disclosure - Insider Trading Arrangements</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements</Role>
      <ShortName>Insider Trading Arrangements</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>8</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R9.htm</HtmlFileName>
      <LongName>995455 - Disclosure - Organization and Nature of Business</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/OrganizationAndNatureOfBusiness</Role>
      <ShortName>Organization and Nature of Business</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>9</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R10.htm</HtmlFileName>
      <LongName>995465 - Disclosure - Summary of Significant Accounting Policies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPolicies</Role>
      <ShortName>Summary of Significant Accounting Policies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>10</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R11.htm</HtmlFileName>
      <LongName>995475 - Disclosure - Fair Value Measurements</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurements</Role>
      <ShortName>Fair Value Measurements</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>11</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R12.htm</HtmlFileName>
      <LongName>995485 - Disclosure - Acquisitions</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/Acquisitions</Role>
      <ShortName>Acquisitions</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>12</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R13.htm</HtmlFileName>
      <LongName>995495 - Disclosure - Restructuring Plan</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlan</Role>
      <ShortName>Restructuring Plan</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>13</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R14.htm</HtmlFileName>
      <LongName>995505 - Disclosure - Leases</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/Leases</Role>
      <ShortName>Leases</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>14</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R15.htm</HtmlFileName>
      <LongName>995515 - Disclosure - Revenue Recognition</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/RevenueRecognition</Role>
      <ShortName>Revenue Recognition</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>15</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R16.htm</HtmlFileName>
      <LongName>995525 - Disclosure - Credit Losses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/CreditLosses</Role>
      <ShortName>Credit Losses</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>16</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R17.htm</HtmlFileName>
      <LongName>995535 - Disclosure - Goodwill and Intangible Assets</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/GoodwillAndIntangibleAssets</Role>
      <ShortName>Goodwill and Intangible Assets</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>17</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R18.htm</HtmlFileName>
      <LongName>995545 - Disclosure - Consolidated Balance Sheet Detail</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheetDetail</Role>
      <ShortName>Consolidated Balance Sheet Detail</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>18</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R19.htm</HtmlFileName>
      <LongName>995555 - Disclosure - Income Taxes</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxes</Role>
      <ShortName>Income Taxes</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>19</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R20.htm</HtmlFileName>
      <LongName>995565 - Disclosure - Stockholders' Equity</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquity</Role>
      <ShortName>Stockholders' Equity</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>20</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R21.htm</HtmlFileName>
      <LongName>995575 - Disclosure - Commitments and Contingencies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/CommitmentsAndContingencies</Role>
      <ShortName>Commitments and Contingencies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>21</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R22.htm</HtmlFileName>
      <LongName>995585 - Disclosure - Convertible Senior Notes</LongName>
      <ReportType>Notes</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotes</Role>
      <ShortName>Convertible Senior Notes</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>22</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R23.htm</HtmlFileName>
      <LongName>995605 - Disclosure - Employee Benefit Plans</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/EmployeeBenefitPlans</Role>
      <ShortName>Employee Benefit Plans</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>23</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R24.htm</HtmlFileName>
      <LongName>995615 - Disclosure - Related Party Transactions</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/RelatedPartyTransactions</Role>
      <ShortName>Related Party Transactions</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>24</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R25.htm</HtmlFileName>
      <LongName>995635 - Disclosure - Summary of Significant Accounting Policies (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPoliciesPolicies</Role>
      <ShortName>Summary of Significant Accounting Policies (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <ParentRole>http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPolicies</ParentRole>
      <Position>25</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R26.htm</HtmlFileName>
      <LongName>995645 - Disclosure - Summary of Significant Accounting Policies (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPoliciesTables</Role>
      <ShortName>Summary of Significant Accounting Policies (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.repligencorp.com/20231231/taxonomy/role/SummaryOfSignificantAccountingPolicies</ParentRole>
      <Position>26</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R27.htm</HtmlFileName>
      <LongName>995655 - Disclosure - Fair Value Measurements (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsTables</Role>
      <ShortName>Fair Value Measurements (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurements</ParentRole>
      <Position>27</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R28.htm</HtmlFileName>
      <LongName>995665 - Disclosure - Acquisitions (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsTables</Role>
      <ShortName>Acquisitions (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.repligencorp.com/20231231/taxonomy/role/Acquisitions</ParentRole>
      <Position>28</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R29.htm</HtmlFileName>
      <LongName>995675 - Disclosure - Restructuring Plan (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanTables</Role>
      <ShortName>Restructuring Plan (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlan</ParentRole>
      <Position>29</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R30.htm</HtmlFileName>
      <LongName>995685 - Disclosure - Leases (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/LeasesTables</Role>
      <ShortName>Leases (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.repligencorp.com/20231231/taxonomy/role/Leases</ParentRole>
      <Position>30</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R31.htm</HtmlFileName>
      <LongName>995695 - Disclosure - Revenue Recognition (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/RevenueRecognitionTables</Role>
      <ShortName>Revenue Recognition (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.repligencorp.com/20231231/taxonomy/role/RevenueRecognition</ParentRole>
      <Position>31</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R32.htm</HtmlFileName>
      <LongName>995705 - Disclosure - Credit Losses (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/CreditLossesTables</Role>
      <ShortName>Credit Losses (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.repligencorp.com/20231231/taxonomy/role/CreditLosses</ParentRole>
      <Position>32</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R33.htm</HtmlFileName>
      <LongName>995715 - Disclosure - Goodwill and Intangible Assets (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/GoodwillAndIntangibleAssetsTables</Role>
      <ShortName>Goodwill and Intangible Assets (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.repligencorp.com/20231231/taxonomy/role/GoodwillAndIntangibleAssets</ParentRole>
      <Position>33</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R34.htm</HtmlFileName>
      <LongName>995725 - Disclosure - Consolidated Balance Sheet Detail (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheetDetailTables</Role>
      <ShortName>Consolidated Balance Sheet Detail (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.repligencorp.com/20231231/taxonomy/role/ConsolidatedBalanceSheetDetail</ParentRole>
      <Position>34</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R35.htm</HtmlFileName>
      <LongName>995735 - Disclosure - Income Taxes (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesTables</Role>
      <ShortName>Income Taxes (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxes</ParentRole>
      <Position>35</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R36.htm</HtmlFileName>
      <LongName>995745 - Disclosure - Stockholders' Equity (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityTables</Role>
      <ShortName>Stockholders' Equity (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquity</ParentRole>
      <Position>36</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R37.htm</HtmlFileName>
      <LongName>995755 - Disclosure - Convertible Senior Notes (Tables)</LongName>
      <ReportType>Notes</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesTables</Role>
      <ShortName>Convertible Senior Notes (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotes</ParentRole>
      <Position>37</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R38.htm</HtmlFileName>
      <LongName>995785 - Disclosure - Organization and Nature of Business - Additional Information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureOrganizationAndNatureOfBusinessAdditionalInformationDetail</Role>
      <ShortName>Organization and Nature of Business - Additional Information (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>38</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R39.htm</HtmlFileName>
      <LongName>995795 - Disclosure - Summary of Significant Accounting Policies - Additional Information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail</Role>
      <ShortName>Summary of Significant Accounting Policies - Additional Information (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>39</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R40.htm</HtmlFileName>
      <LongName>995805 - Disclosure - Summary of Significant Accounting Policies - Estimated Useful Life of Assets (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesEstimatedUsefulLifeOfAssetsDetail</Role>
      <ShortName>Summary of Significant Accounting Policies - Estimated Useful Life of Assets (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>40</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R41.htm</HtmlFileName>
      <LongName>995815 - Disclosure - Summary of Significant Accounting Policies - Reconciliation of Basic and Diluted Shares Amounts (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsDetail</Role>
      <ShortName>Summary of Significant Accounting Policies - Reconciliation of Basic and Diluted Shares Amounts (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>41</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R42.htm</HtmlFileName>
      <LongName>995825 - Disclosure - Summary of Significant Accounting Policies - Reconciliation of Basic and Diluted Shares Amounts (parenthetical) (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesReconciliationOfBasicAndDilutedSharesAmountsParentheticalDetail</Role>
      <ShortName>Summary of Significant Accounting Policies - Reconciliation of Basic and Diluted Shares Amounts (parenthetical) (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>42</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R43.htm</HtmlFileName>
      <LongName>995835 - Disclosure - Summary of Significant Accounting Policies - Summary of Product Revenues by Product Line (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesSummaryOfProductRevenuesByProductLineDetail</Role>
      <ShortName>Summary of Significant Accounting Policies - Summary of Product Revenues by Product Line (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>43</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R44.htm</HtmlFileName>
      <LongName>995845 - Disclosure - Summary of Significant Accounting Policies - Percentage of Revenue by Geographic Area (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPercentageOfRevenueByGeographicAreaDetail</Role>
      <ShortName>Summary of Significant Accounting Policies - Percentage of Revenue by Geographic Area (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>44</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R45.htm</HtmlFileName>
      <LongName>995855 - Disclosure - Summary of Significant Accounting Policies - Total Assets by Geographic Area (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesTotalAssetsByGeographicAreaDetail</Role>
      <ShortName>Summary of Significant Accounting Policies - Total Assets by Geographic Area (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>45</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R46.htm</HtmlFileName>
      <LongName>995865 - Disclosure - Summary of Significant Accounting Policies - Long Lived Assets by Geographic Area (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesLongLivedAssetsByGeographicAreaDetail</Role>
      <ShortName>Summary of Significant Accounting Policies - Long Lived Assets by Geographic Area (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>46</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R47.htm</HtmlFileName>
      <LongName>995875 - Disclosure - Fair Value Measurements - Summary of Company's Cash, Cash Equivalents and Marketable Securities Held to Maturity (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsSummaryOfCompanysCashCashEquivalentsAndMarketableSecuritiesHeldToMaturityDetail</Role>
      <ShortName>Fair Value Measurements - Summary of Company's Cash, Cash Equivalents and Marketable Securities Held to Maturity (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>47</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R48.htm</HtmlFileName>
      <LongName>995885 - Disclosure - Fair Value Measurements - Schedule of Amortized Cost and Fair Value Held to Maturity Securities by Contractual Maturity (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfAmortizedCostAndFairValueHeldToMaturitySecuritiesByContractualMaturityDetail</Role>
      <ShortName>Fair Value Measurements - Schedule of Amortized Cost and Fair Value Held to Maturity Securities by Contractual Maturity (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>48</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R49.htm</HtmlFileName>
      <LongName>995895 - Disclosure - Fair Value Measurements - Schedule of Financial Assets and Financial Liabilities Measured at Fair Value on a Recurring Basis (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfFinancialAssetsAndFinancialLiabilitiesMeasuredAtFairValueOnARecurringBasisDetail</Role>
      <ShortName>Fair Value Measurements - Schedule of Financial Assets and Financial Liabilities Measured at Fair Value on a Recurring Basis (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>49</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R50.htm</HtmlFileName>
      <LongName>995905 - Disclosure - Fair Value Measurements - Additional Information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsAdditionalInformationDetail</Role>
      <ShortName>Fair Value Measurements - Additional Information (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>50</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R51.htm</HtmlFileName>
      <LongName>995915 - Disclosure - Fair Value Measurements - Schedule of Reconciliation of the Change in the Fair Value of Contingent Consideration - Earnout (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfReconciliationOfTheChangeInTheFairValueOfContingentConsiderationEarnoutDetail</Role>
      <ShortName>Fair Value Measurements - Schedule of Reconciliation of the Change in the Fair Value of Contingent Consideration - Earnout (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>51</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R52.htm</HtmlFileName>
      <LongName>995925 - Disclosure - Fair Value Measurements - Schedule of Contingent Consideration Earnout Expect to be Required to Settle include Significant unobservable Inputs (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfContingentConsiderationEarnoutExpectToBeRequiredToSettleIncludeSignificantUnobservableInputsDetail</Role>
      <ShortName>Fair Value Measurements - Schedule of Contingent Consideration Earnout Expect to be Required to Settle include Significant unobservable Inputs (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>52</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R53.htm</HtmlFileName>
      <LongName>995935 - Disclosure - Acquisitions - Additional Information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/AcquisitionsAdditionalInformationDetail</Role>
      <ShortName>Acquisitions - Additional Information (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>53</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R54.htm</HtmlFileName>
      <LongName>995945 - Disclosure - Acquisitions - Consideration Transferred (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsConsiderationTransferredDetail</Role>
      <ShortName>Acquisitions - Consideration Transferred (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>54</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R55.htm</HtmlFileName>
      <LongName>995955 - Disclosure - Acquisitions - Fair Value of Net Assets Acquired (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsFairValueOfNetAssetsAcquiredDetail</Role>
      <ShortName>Acquisitions - Fair Value of Net Assets Acquired (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>55</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R56.htm</HtmlFileName>
      <LongName>995965 - Disclosure - Acquisitions - Estimated Useful Life and Fair Value (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAcquisitionsEstimatedUsefulLifeAndFairValueDetail</Role>
      <ShortName>Acquisitions - Estimated Useful Life and Fair Value (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>56</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R57.htm</HtmlFileName>
      <LongName>995985 - Disclosure - Restructuring Plan - Additional Information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanAdditionalInformationDetail</Role>
      <ShortName>Restructuring Plan - Additional Information (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>57</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R58.htm</HtmlFileName>
      <LongName>995995 - Disclosure - Restructuring Plan - Summary of Restructuring Activities by Type of Cost (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanSummaryOfRestructuringActivitiesByTypeOfCostDetail</Role>
      <ShortName>Restructuring Plan - Summary of Restructuring Activities by Type of Cost (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>58</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R59.htm</HtmlFileName>
      <LongName>996005 - Disclosure - Restructuring Plan - Summary of Activity Related to Restructuring Plan (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRestructuringPlanSummaryOfActivityRelatedToRestructuringPlanDetail</Role>
      <ShortName>Restructuring Plan - Summary of Activity Related to Restructuring Plan (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>59</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R60.htm</HtmlFileName>
      <LongName>996015 - Disclosure - Leases - Additional Information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/LeasesAdditionalInformationDetail</Role>
      <ShortName>Leases - Additional Information (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>60</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R61.htm</HtmlFileName>
      <LongName>996025 - Disclosure - Leases - Summary of Maturities of Operating Lease Liabilities (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfMaturitiesOfOperatingLeaseLiabilitiesDetail</Role>
      <ShortName>Leases - Summary of Maturities of Operating Lease Liabilities (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>61</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R62.htm</HtmlFileName>
      <LongName>996035 - Disclosure - Leases - Summary of Maturities of Operating Lease Liabilities (parenthetical) (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfMaturitiesOfOperatingLeaseLiabilitiesParentheticalDetail</Role>
      <ShortName>Leases - Summary of Maturities of Operating Lease Liabilities (parenthetical) (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>62</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R63.htm</HtmlFileName>
      <LongName>996045 - Disclosure - Leases - Summary of Operating Lease Liability (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfOperatingLeaseLiabilityDetail</Role>
      <ShortName>Leases - Summary of Operating Lease Liability (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>63</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R64.htm</HtmlFileName>
      <LongName>996055 - Disclosure - Leases - Summary of Operating Lease Cost (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesSummaryOfOperatingLeaseCostDetail</Role>
      <ShortName>Leases - Summary of Operating Lease Cost (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>64</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R65.htm</HtmlFileName>
      <LongName>996065 - Disclosure - Leases - Schedule of Supplemental Disclosure of Cash Flows Related to Operating Leases (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesScheduleOfSupplementalDisclosureOfCashFlowsRelatedToOperatingLeasesDetail</Role>
      <ShortName>Leases - Schedule of Supplemental Disclosure of Cash Flows Related to Operating Leases (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>65</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R66.htm</HtmlFileName>
      <LongName>996075 - Disclosure - Leases - Schedule of Weighted Average Discount Rate and Lease Term Used in Calculating Lease Liabilities (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureLeasesScheduleOfWeightedAverageDiscountRateAndLeaseTermUsedInCalculatingLeaseLiabilitiesDetail</Role>
      <ShortName>Leases - Schedule of Weighted Average Discount Rate and Lease Term Used in Calculating Lease Liabilities (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>66</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R67.htm</HtmlFileName>
      <LongName>996085 - Disclosure - Revenue Recognition - Summary of Disaggregation of Revenue (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRevenueRecognitionSummaryOfDisaggregationOfRevenueDetail</Role>
      <ShortName>Revenue Recognition - Summary of Disaggregation of Revenue (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>67</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R68.htm</HtmlFileName>
      <LongName>996095 - Disclosure - Revenue Recognition - Additional Information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRevenueRecognitionAdditionalInformationDetail</Role>
      <ShortName>Revenue Recognition - Additional Information (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>68</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R69.htm</HtmlFileName>
      <LongName>996105 - Disclosure - Revenue Recognition - Summary of Receivables and Deferred Revenue from Contracts with Customers (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureRevenueRecognitionSummaryOfReceivablesAndDeferredRevenueFromContractsWithCustomersDetail</Role>
      <ShortName>Revenue Recognition - Summary of Receivables and Deferred Revenue from Contracts with Customers (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>69</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R70.htm</HtmlFileName>
      <LongName>996115 - Disclosure - Credit Losses - Additional Information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureCreditLossesAdditionalInformationDetail</Role>
      <ShortName>Credit Losses - Additional Information (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>70</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R71.htm</HtmlFileName>
      <LongName>996125 - Disclosure - Credit Losses - Summary Of Allowance For Credit Losses For Accounts Receivables (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureCreditLossesSummaryOfAllowanceForCreditLossesForAccountsReceivablesDetail</Role>
      <ShortName>Credit Losses - Summary Of Allowance For Credit Losses For Accounts Receivables (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>71</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R72.htm</HtmlFileName>
      <LongName>996135 - Disclosure - Goodwill and Intangible Assets - Changes in Carrying Value of Goodwill (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsChangesInCarryingValueOfGoodwillDetail</Role>
      <ShortName>Goodwill and Intangible Assets - Changes in Carrying Value of Goodwill (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>72</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R73.htm</HtmlFileName>
      <LongName>996145 - Disclosure - Goodwill and Intangible Assets - Schedule of Intangible Assets (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsScheduleOfIntangibleAssetsDetail</Role>
      <ShortName>Goodwill and Intangible Assets - Schedule of Intangible Assets (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>73</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R74.htm</HtmlFileName>
      <LongName>996165 - Disclosure - Goodwill and Intangible Assets - Additional Information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/GoodwillAndIntangibleAssetsAdditionalInformationDetail</Role>
      <ShortName>Goodwill and Intangible Assets - Additional Information (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>74</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R75.htm</HtmlFileName>
      <LongName>996175 - Disclosure - Goodwill and Intangible Assets - Amortization Expense for Amortized Intangible Assets (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsAmortizationExpenseForAmortizedIntangibleAssetsDetail</Role>
      <ShortName>Goodwill and Intangible Assets - Amortization Expense for Amortized Intangible Assets (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>75</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R76.htm</HtmlFileName>
      <LongName>996185 - Disclosure - Consolidated Balance Sheet Detail - Schedule of Inventories (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailScheduleOfInventoriesDetail</Role>
      <ShortName>Consolidated Balance Sheet Detail - Schedule of Inventories (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>76</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R77.htm</HtmlFileName>
      <LongName>996195 - Disclosure - Consolidated Balance Sheet Detail - Prepaid Expenses and Other Current Assets (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailPrepaidExpensesAndOtherCurrentAssetsDetail</Role>
      <ShortName>Consolidated Balance Sheet Detail - Prepaid Expenses and Other Current Assets (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>77</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R78.htm</HtmlFileName>
      <LongName>996205 - Disclosure - Consolidated Balance Sheet Detail - Property, Plant and Equipment (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailPropertyPlantAndEquipmentDetail</Role>
      <ShortName>Consolidated Balance Sheet Detail - Property, Plant and Equipment (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>78</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R79.htm</HtmlFileName>
      <LongName>996215 - Disclosure - Consolidated Balance Sheet Detail - Additional Information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailAdditionalInformationDetail</Role>
      <ShortName>Consolidated Balance Sheet Detail - Additional Information (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>79</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R80.htm</HtmlFileName>
      <LongName>996225 - Disclosure - Consolidated Balance Sheet Detail - Schedule of Accrued Liabilities (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConsolidatedBalanceSheetDetailScheduleOfAccruedLiabilitiesDetail</Role>
      <ShortName>Consolidated Balance Sheet Detail - Schedule of Accrued Liabilities (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>80</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R81.htm</HtmlFileName>
      <LongName>996235 - Disclosure - Income Taxes - Income Before Income Taxes (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesIncomeBeforeIncomeTaxesDetail</Role>
      <ShortName>Income Taxes - Income Before Income Taxes (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>81</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R82.htm</HtmlFileName>
      <LongName>996245 - Disclosure - Income Taxes - Current, Deferred and Equity Income Taxes (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesCurrentDeferredAndEquityIncomeTaxesDetail</Role>
      <ShortName>Income Taxes - Current, Deferred and Equity Income Taxes (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>82</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R83.htm</HtmlFileName>
      <LongName>996255 - Disclosure - Income Taxes - Provision for Income Taxes by Jurisdiction (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesProvisionForIncomeTaxesByJurisdictionDetail</Role>
      <ShortName>Income Taxes - Provision for Income Taxes by Jurisdiction (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>83</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R84.htm</HtmlFileName>
      <LongName>996265 - Disclosure - Income Taxes - Additional Information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/IncomeTaxesAdditionalInformationDetail</Role>
      <ShortName>Income Taxes - Additional Information (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>84</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R85.htm</HtmlFileName>
      <LongName>996275 - Disclosure - Income Taxes - Consolidated Deferred Tax Assets (Liabilities) (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesConsolidatedDeferredTaxAssetsLiabilitiesDetail</Role>
      <ShortName>Income Taxes - Consolidated Deferred Tax Assets (Liabilities) (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>85</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R86.htm</HtmlFileName>
      <LongName>996285 - Disclosure - Income Taxes - Reconciliation of Federal Statutory Rate to Effective Income Tax Rate (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail</Role>
      <ShortName>Income Taxes - Reconciliation of Federal Statutory Rate to Effective Income Tax Rate (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>86</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R87.htm</HtmlFileName>
      <LongName>996295 - Disclosure - Income Taxes - Summary of Tax Returns Periods Subject to Examination by Federal, State and Foreign Tax Authorities (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesSummaryOfTaxReturnsPeriodsSubjectToExaminationByFederalStateAndForeignTaxAuthoritiesDetail</Role>
      <ShortName>Income Taxes - Summary of Tax Returns Periods Subject to Examination by Federal, State and Foreign Tax Authorities (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>87</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R88.htm</HtmlFileName>
      <LongName>996305 - Disclosure - Income Taxes - Reconciliation of Unrecognized Tax Benefits (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureIncomeTaxesReconciliationOfUnrecognizedTaxBenefitsDetail</Role>
      <ShortName>Income Taxes - Reconciliation of Unrecognized Tax Benefits (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>88</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R89.htm</HtmlFileName>
      <LongName>996315 - Disclosure - Stockholders' Equity - Additional Information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/StockholdersEquityAdditionalInformationDetail</Role>
      <ShortName>Stockholders' Equity - Additional Information (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>89</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R90.htm</HtmlFileName>
      <LongName>996325 - Disclosure - Stockholders' Equity -Stock-Based Compensation Expense (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquityStockbasedCompensationExpenseDetail</Role>
      <ShortName>Stockholders' Equity -Stock-Based Compensation Expense (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>90</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R91.htm</HtmlFileName>
      <LongName>996335 - Disclosure - Stockholders' Equity - Estimated Weighted Average Assumptions (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquityEstimatedWeightedAverageAssumptionsDetail</Role>
      <ShortName>Stockholders' Equity - Estimated Weighted Average Assumptions (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>91</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R92.htm</HtmlFileName>
      <LongName>996345 - Disclosure - Stockholders' Equity -Summary of Option Activity (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfOptionActivityDetail</Role>
      <ShortName>Stockholders' Equity -Summary of Option Activity (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>92</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R93.htm</HtmlFileName>
      <LongName>996355 - Disclosure - Stockholders' Equity - Summary of Option Activity (Parenthetical) (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfOptionActivityParentheticalDetail</Role>
      <ShortName>Stockholders' Equity - Summary of Option Activity (Parenthetical) (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>93</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R94.htm</HtmlFileName>
      <LongName>996365 - Disclosure - Stockholders' Equity - Summary of Restricted Stock Unit Activity (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfRestrictedStockUnitActivityDetail</Role>
      <ShortName>Stockholders' Equity - Summary of Restricted Stock Unit Activity (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>94</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R95.htm</HtmlFileName>
      <LongName>996375 - Disclosure - Stockholders' Equity - Summary of Restricted Stock Unit Activity (Parenthetical) (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureStockholdersEquitySummaryOfRestrictedStockUnitActivityParentheticalDetail</Role>
      <ShortName>Stockholders' Equity - Summary of Restricted Stock Unit Activity (Parenthetical) (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>95</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R96.htm</HtmlFileName>
      <LongName>996385 - Disclosure - Commitments and Contingencies - Additional Information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/CommitmentsAndContingenciesAdditionalInformationDetail</Role>
      <ShortName>Commitments and Contingencies - Additional Information (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>96</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R97.htm</HtmlFileName>
      <LongName>996395 - Disclosure - Convertible Senior Notes - Carrying Value of Convertible Senior Notes (Detail)</LongName>
      <ReportType>Notes</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureConvertibleSeniorNotesCarryingValueOfConvertibleSeniorNotesDetail</Role>
      <ShortName>Convertible Senior Notes - Carrying Value of Convertible Senior Notes (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>97</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R98.htm</HtmlFileName>
      <LongName>996405 - Disclosure - Convertible Senior Notes - Additional Information (Detail)</LongName>
      <ReportType>Notes</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/ConvertibleSeniorNotesAdditionalInformationDetail</Role>
      <ShortName>Convertible Senior Notes - Additional Information (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>98</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R99.htm</HtmlFileName>
      <LongName>996415 - Disclosure - Accumulated Other Comprehensive Income (Loss) - Changes in Accumulated Other Comprehensive Income (Loss) (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/DisclosureAccumulatedOtherComprehensiveIncomeLossChangesInAccumulatedOtherComprehensiveIncomeLossDetail</Role>
      <ShortName>Accumulated Other Comprehensive Income (Loss) - Changes in Accumulated Other Comprehensive Income (Loss) (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>99</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R100.htm</HtmlFileName>
      <LongName>996425 - Disclosure - Employee Benefit Plans - Additional Information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/EmployeeBenefitPlansAdditionalInformationDetail</Role>
      <ShortName>Employee Benefit Plans - Additional Information (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>100</Position>
    </Report>
    <Report instance="rgen-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R101.htm</HtmlFileName>
      <LongName>996435 - Disclosure - Related Party Transactions - Additional Information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/20231231/taxonomy/role/RelatedPartyTransactionsAdditionalInformationDetail</Role>
      <ShortName>Related Party Transactions - Additional Information (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>101</Position>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <LongName>All Reports</LongName>
      <ReportType>Book</ReportType>
      <ShortName>All Reports</ShortName>
    </Report>
  </MyReports>
  <InputFiles>
    <File doctype="10-K" isDefinitelyFs="true" isUsgaap="true" original="rgen-20231231.htm">rgen-20231231.htm</File>
    <File>rgen-20231231.xsd</File>
  </InputFiles>
  <SupplementalFiles>
    <File>img33618189_0.jpg</File>
  </SupplementalFiles>
  <BaseTaxonomies>
    <BaseTaxonomy items="1309">http://fasb.org/us-gaap/2023</BaseTaxonomy>
    <BaseTaxonomy items="38">http://xbrl.sec.gov/dei/2023</BaseTaxonomy>
    <BaseTaxonomy items="10">http://xbrl.sec.gov/ecd/2023</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>false</HasPresentationLinkbase>
  <HasCalculationLinkbase>false</HasCalculationLinkbase>
</FilingSummary>
