| | | | | | | | | | | | | | | | | | | | | |
<?xml version="1.0" encoding="windows-1252"?> |
<FilingSummary> |
| <Version> 3.22.4 </Version> |
| <ProcessingTime/> |
| <ReportFormat> html </ReportFormat> |
| <ContextCount> 235 </ContextCount> |
| <ElementCount> 352 </ElementCount> |
| <EntityCount> 1 </EntityCount> |
| <FootnotesReported> false </FootnotesReported> |
| <SegmentCount> 76 </SegmentCount> |
| <ScenarioCount> 0 </ScenarioCount> |
| <TuplesReported> false </TuplesReported> |
| <UnitCount> 14 </UnitCount> |
| <MyReports> |
| | <Report instance="d426102d10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R1.htm </HtmlFileName> |
| | | <LongName> 1001 - Document - Cover Page </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.trex.com/role/CoverPage </Role> |
| | | <ShortName> Cover Page </ShortName> |
| | | <MenuCategory> Cover </MenuCategory> |
| | | <Position> 1 </Position> |
| | | </Report> |
| | <Report instance="d426102d10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R2.htm </HtmlFileName> |
| | | <LongName> 1002 - Statement - Consolidated Statements of Comprehensive Income </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.trex.com/role/ConsolidatedStatementsOfComprehensiveIncome </Role> |
| | | <ShortName> Consolidated Statements of Comprehensive Income </ShortName> |
| | | <MenuCategory> Statements </MenuCategory> |
| | | <Position> 2 </Position> |
| | | </Report> |
| | <Report instance="d426102d10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R3.htm </HtmlFileName> |
| | | <LongName> 1003 - Statement - Consolidated Balance Sheets </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.trex.com/role/ConsolidatedBalanceSheets </Role> |
| | | <ShortName> Consolidated Balance Sheets </ShortName> |
| | | <MenuCategory> Statements </MenuCategory> |
| | | <Position> 3 </Position> |
| | | </Report> |
| | <Report instance="d426102d10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R4.htm </HtmlFileName> |
| | | <LongName> 1004 - Statement - Consolidated Balance Sheets (Parenthetical) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.trex.com/role/ConsolidatedBalanceSheetsParenthetical </Role> |
| | | <ShortName> Consolidated Balance Sheets (Parenthetical) </ShortName> |
| | | <MenuCategory> Statements </MenuCategory> |
| | | <Position> 4 </Position> |
| | | </Report> |
| | <Report instance="d426102d10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R5.htm </HtmlFileName> |
| | | <LongName> 1005 - Statement - Consolidated Statements of Changes in Stockholders' Equity </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.trex.com/role/ConsolidatedStatementsOfChangesInStockholdersEquity </Role> |
| | | <ShortName> Consolidated Statements of Changes in Stockholders' Equity </ShortName> |
| | | <MenuCategory> Statements </MenuCategory> |
| | | <Position> 5 </Position> |
| | | </Report> |
| | <Report instance="d426102d10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R6.htm </HtmlFileName> |
| | | <LongName> 1006 - Statement - Consolidated Statements of Cash Flows </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.trex.com/role/ConsolidatedStatementsOfCashFlows </Role> |
| | | <ShortName> Consolidated Statements of Cash Flows </ShortName> |
| | | <MenuCategory> Statements </MenuCategory> |
| | | <Position> 6 </Position> |
| | | </Report> |
| | <Report instance="d426102d10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R7.htm </HtmlFileName> |
| | | <LongName> 1007 - Disclosure - Business and Organization </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.trex.com/role/BusinessAndOrganization </Role> |
| | | <ShortName> Business and Organization </ShortName> |
| | | <MenuCategory> Notes </MenuCategory> |
| | | <Position> 7 </Position> |
| | | </Report> |
| | <Report instance="d426102d10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R8.htm </HtmlFileName> |
| | | <LongName> 1008 - Disclosure - Summary of Significant Accounting Policies </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.trex.com/role/SummaryOfSignificantAccountingPolicies </Role> |
| | | <ShortName> Summary of Significant Accounting Policies </ShortName> |
| | | <MenuCategory> Notes </MenuCategory> |
| | | <Position> 8 </Position> |
| | | </Report> |
| | <Report instance="d426102d10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R9.htm </HtmlFileName> |
| | | <LongName> 1009 - Disclosure - Sale of Trex Commercial Products, Inc. </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.trex.com/role/SaleOfTrexCommercialProductsInc </Role> |
| | | <ShortName> Sale of Trex Commercial Products, Inc. </ShortName> |
| | | <MenuCategory> Notes </MenuCategory> |
| | | <Position> 9 </Position> |
| | | </Report> |
| | <Report instance="d426102d10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R10.htm </HtmlFileName> |
| | | <LongName> 1010 - Disclosure - Inventories </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.trex.com/role/Inventories </Role> |
| | | <ShortName> Inventories </ShortName> |
| | | <MenuCategory> Notes </MenuCategory> |
| | | <Position> 10 </Position> |
| | | </Report> |
| | <Report instance="d426102d10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R11.htm </HtmlFileName> |
| | | <LongName> 1011 - Disclosure - Prepaid Expenses and Other Assets </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.trex.com/role/PrepaidExpensesAndOtherAssets </Role> |
| | | <ShortName> Prepaid Expenses and Other Assets </ShortName> |
| | | <MenuCategory> Notes </MenuCategory> |
| | | <Position> 11 </Position> |
| | | </Report> |
| | <Report instance="d426102d10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R12.htm </HtmlFileName> |
| | | <LongName> 1012 - Disclosure - Goodwill and Other Intangible Assets, Net </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.trex.com/role/GoodwillAndOtherIntangibleAssetsNet </Role> |
| | | <ShortName> Goodwill and Other Intangible Assets, Net </ShortName> |
| | | <MenuCategory> Notes </MenuCategory> |
| | | <Position> 12 </Position> |
| | | </Report> |
| | <Report instance="d426102d10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R13.htm </HtmlFileName> |
| | | <LongName> 1013 - Disclosure - Property, Plant and Equipment </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.trex.com/role/PropertyPlantAndEquipment </Role> |
| | | <ShortName> Property, Plant and Equipment </ShortName> |
| | | <MenuCategory> Notes </MenuCategory> |
| | | <Position> 13 </Position> |
| | | </Report> |
| | <Report instance="d426102d10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R14.htm </HtmlFileName> |
| | | <LongName> 1014 - Disclosure - Accrued Expenses and Other Liabilities </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.trex.com/role/AccruedExpensesAndOtherLiabilities </Role> |
| | | <ShortName> Accrued Expenses and Other Liabilities </ShortName> |
| | | <MenuCategory> Notes </MenuCategory> |
| | | <Position> 14 </Position> |
| | | </Report> |
| | <Report instance="d426102d10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R15.htm </HtmlFileName> |
| | | <LongName> 1015 - Disclosure - Debt </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.trex.com/role/Debt </Role> |
| | | <ShortName> Debt </ShortName> |
| | | <MenuCategory> Notes </MenuCategory> |
| | | <Position> 15 </Position> |
| | | </Report> |
| | <Report instance="d426102d10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R16.htm </HtmlFileName> |
| | | <LongName> 1016 - Disclosure - Leases </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.trex.com/role/Leases </Role> |
| | | <ShortName> Leases </ShortName> |
| | | <MenuCategory> Notes </MenuCategory> |
| | | <Position> 16 </Position> |
| | | </Report> |
| | <Report instance="d426102d10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R17.htm </HtmlFileName> |
| | | <LongName> 1017 - Disclosure - Financial Instruments </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.trex.com/role/FinancialInstruments </Role> |
| | | <ShortName> Financial Instruments </ShortName> |
| | | <MenuCategory> Notes </MenuCategory> |
| | | <Position> 17 </Position> |
| | | </Report> |
| | <Report instance="d426102d10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R18.htm </HtmlFileName> |
| | | <LongName> 1018 - Disclosure - Stockholders' Equity </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.trex.com/role/StockholdersEquity </Role> |
| | | <ShortName> Stockholders' Equity </ShortName> |
| | | <MenuCategory> Notes </MenuCategory> |
| | | <Position> 18 </Position> |
| | | </Report> |
| | <Report instance="d426102d10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R19.htm </HtmlFileName> |
| | | <LongName> 1019 - Disclosure - Revenue From Contracts With Customers </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.trex.com/role/RevenueFromContractsWithCustomers </Role> |
| | | <ShortName> Revenue From Contracts With Customers </ShortName> |
| | | <MenuCategory> Notes </MenuCategory> |
| | | <Position> 19 </Position> |
| | | </Report> |
| | <Report instance="d426102d10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R20.htm </HtmlFileName> |
| | | <LongName> 1020 - Disclosure - Stock-Based Compensation </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.trex.com/role/StockBasedCompensation </Role> |
| | | <ShortName> Stock-Based Compensation </ShortName> |
| | | <MenuCategory> Notes </MenuCategory> |
| | | <Position> 20 </Position> |
| | | </Report> |
| | <Report instance="d426102d10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R21.htm </HtmlFileName> |
| | | <LongName> 1021 - Disclosure - Employee Benefit Plans </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.trex.com/role/EmployeeBenefitPlans </Role> |
| | | <ShortName> Employee Benefit Plans </ShortName> |
| | | <MenuCategory> Notes </MenuCategory> |
| | | <Position> 21 </Position> |
| | | </Report> |
| | <Report instance="d426102d10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R22.htm </HtmlFileName> |
| | | <LongName> 1022 - Disclosure - Income Taxes </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.trex.com/role/IncomeTaxes </Role> |
| | | <ShortName> Income Taxes </ShortName> |
| | | <MenuCategory> Notes </MenuCategory> |
| | | <Position> 22 </Position> |
| | | </Report> |
| | <Report instance="d426102d10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R23.htm </HtmlFileName> |
| | | <LongName> 1023 - Disclosure - Segment Information </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.trex.com/role/SegmentInformation </Role> |
| | | <ShortName> Segment Information </ShortName> |
| | | <MenuCategory> Notes </MenuCategory> |
| | | <Position> 23 </Position> |
| | | </Report> |
| | <Report instance="d426102d10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R24.htm </HtmlFileName> |
| | | <LongName> 1024 - Disclosure - Seasonality </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.trex.com/role/Seasonality </Role> |
| | | <ShortName> Seasonality </ShortName> |
| | | <MenuCategory> Notes </MenuCategory> |
| | | <Position> 24 </Position> |
| | | </Report> |
| | <Report instance="d426102d10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R25.htm </HtmlFileName> |
| | | <LongName> 1025 - Disclosure - Commitments and Contingencies </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.trex.com/role/CommitmentsAndContingencies </Role> |
| | | <ShortName> Commitments and Contingencies </ShortName> |
| | | <MenuCategory> Notes </MenuCategory> |
| | | <Position> 25 </Position> |
| | | </Report> |
| | <Report instance="d426102d10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R26.htm </HtmlFileName> |
| | | <LongName> 1026 - Disclosure - Schedule II - Valuation and Qualifying Accounts and Reserves </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.trex.com/role/ScheduleIiValuationAndQualifyingAccountsAndReserves </Role> |
| | | <ShortName> Schedule II - Valuation and Qualifying Accounts and Reserves </ShortName> |
| | | <MenuCategory> Notes </MenuCategory> |
| | | <Position> 26 </Position> |
| | | </Report> |
| | <Report instance="d426102d10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R27.htm </HtmlFileName> |
| | | <LongName> 1027 - Disclosure - Summary of Significant Accounting Policies (Policies) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.trex.com/role/SummaryOfSignificantAccountingPoliciesPolicies </Role> |
| | | <ShortName> Summary of Significant Accounting Policies (Policies) </ShortName> |
| | | <MenuCategory> Policies </MenuCategory> |
| | | <ParentRole> http://www.trex.com/role/SummaryOfSignificantAccountingPolicies </ParentRole> |
| | | <Position> 27 </Position> |
| | | </Report> |
| | <Report instance="d426102d10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R28.htm </HtmlFileName> |
| | | <LongName> 1028 - Disclosure - Summary of Significant Accounting Policies (Tables) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.trex.com/role/SummaryOfSignificantAccountingPoliciesTables </Role> |
| | | <ShortName> Summary of Significant Accounting Policies (Tables) </ShortName> |
| | | <MenuCategory> Tables </MenuCategory> |
| | | <ParentRole> http://www.trex.com/role/SummaryOfSignificantAccountingPolicies </ParentRole> |
| | | <Position> 28 </Position> |
| | | </Report> |
| | <Report instance="d426102d10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R29.htm </HtmlFileName> |
| | | <LongName> 1029 - Disclosure - Inventories (Tables) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.trex.com/role/InventoriesTables </Role> |
| | | <ShortName> Inventories (Tables) </ShortName> |
| | | <MenuCategory> Tables </MenuCategory> |
| | | <ParentRole> http://www.trex.com/role/Inventories </ParentRole> |
| | | <Position> 29 </Position> |
| | | </Report> |
| | <Report instance="d426102d10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R30.htm </HtmlFileName> |
| | | <LongName> 1030 - Disclosure - Prepaid Expenses and Other Assets (Tables) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.trex.com/role/PrepaidExpensesAndOtherAssetsTables </Role> |
| | | <ShortName> Prepaid Expenses and Other Assets (Tables) </ShortName> |
| | | <MenuCategory> Tables </MenuCategory> |
| | | <ParentRole> http://www.trex.com/role/PrepaidExpensesAndOtherAssets </ParentRole> |
| | | <Position> 30 </Position> |
| | | </Report> |
| | <Report instance="d426102d10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R31.htm </HtmlFileName> |
| | | <LongName> 1031 - Disclosure - Property, Plant and Equipment (Tables) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.trex.com/role/PropertyPlantAndEquipmentTables </Role> |
| | | <ShortName> Property, Plant and Equipment (Tables) </ShortName> |
| | | <MenuCategory> Tables </MenuCategory> |
| | | <ParentRole> http://www.trex.com/role/PropertyPlantAndEquipment </ParentRole> |
| | | <Position> 31 </Position> |
| | | </Report> |
| | <Report instance="d426102d10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R32.htm </HtmlFileName> |
| | | <LongName> 1032 - Disclosure - Accrued Expenses and Other Liabilities (Tables) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.trex.com/role/AccruedExpensesAndOtherLiabilitiesTables </Role> |
| | | <ShortName> Accrued Expenses and Other Liabilities (Tables) </ShortName> |
| | | <MenuCategory> Tables </MenuCategory> |
| | | <ParentRole> http://www.trex.com/role/AccruedExpensesAndOtherLiabilities </ParentRole> |
| | | <Position> 32 </Position> |
| | | </Report> |
| | <Report instance="d426102d10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R33.htm </HtmlFileName> |
| | | <LongName> 1033 - Disclosure - Leases (Tables) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.trex.com/role/LeasesTables </Role> |
| | | <ShortName> Leases (Tables) </ShortName> |
| | | <MenuCategory> Tables </MenuCategory> |
| | | <ParentRole> http://www.trex.com/role/Leases </ParentRole> |
| | | <Position> 33 </Position> |
| | | </Report> |
| | <Report instance="d426102d10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R34.htm </HtmlFileName> |
| | | <LongName> 1034 - Disclosure - Stockholders' Equity (Tables) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.trex.com/role/StockholdersEquityTables </Role> |
| | | <ShortName> Stockholders' Equity (Tables) </ShortName> |
| | | <MenuCategory> Tables </MenuCategory> |
| | | <ParentRole> http://www.trex.com/role/StockholdersEquity </ParentRole> |
| | | <Position> 34 </Position> |
| | | </Report> |
| | <Report instance="d426102d10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R35.htm </HtmlFileName> |
| | | <LongName> 1035 - Disclosure - Revenue From Contracts With Customers (Tables) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.trex.com/role/RevenueFromContractsWithCustomersTables </Role> |
| | | <ShortName> Revenue From Contracts With Customers (Tables) </ShortName> |
| | | <MenuCategory> Tables </MenuCategory> |
| | | <ParentRole> http://www.trex.com/role/RevenueFromContractsWithCustomers </ParentRole> |
| | | <Position> 35 </Position> |
| | | </Report> |
| | <Report instance="d426102d10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R36.htm </HtmlFileName> |
| | | <LongName> 1036 - Disclosure - Stock-Based Compensation (Tables) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.trex.com/role/StockBasedCompensationTables </Role> |
| | | <ShortName> Stock-Based Compensation (Tables) </ShortName> |
| | | <MenuCategory> Tables </MenuCategory> |
| | | <ParentRole> http://www.trex.com/role/StockBasedCompensation </ParentRole> |
| | | <Position> 36 </Position> |
| | | </Report> |
| | <Report instance="d426102d10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R37.htm </HtmlFileName> |
| | | <LongName> 1037 - Disclosure - Income Taxes (Tables) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.trex.com/role/IncomeTaxesTables </Role> |
| | | <ShortName> Income Taxes (Tables) </ShortName> |
| | | <MenuCategory> Tables </MenuCategory> |
| | | <ParentRole> http://www.trex.com/role/IncomeTaxes </ParentRole> |
| | | <Position> 37 </Position> |
| | | </Report> |
| | <Report instance="d426102d10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R38.htm </HtmlFileName> |
| | | <LongName> 1038 - Disclosure - Segment Information (Tables) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.trex.com/role/SegmentInformationTables </Role> |
| | | <ShortName> Segment Information (Tables) </ShortName> |
| | | <MenuCategory> Tables </MenuCategory> |
| | | <ParentRole> http://www.trex.com/role/SegmentInformation </ParentRole> |
| | | <Position> 38 </Position> |
| | | </Report> |
| | <Report instance="d426102d10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R39.htm </HtmlFileName> |
| | | <LongName> 1039 - Disclosure - Commitments and Contingencies (Tables) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.trex.com/role/CommitmentsAndContingenciesTables </Role> |
| | | <ShortName> Commitments and Contingencies (Tables) </ShortName> |
| | | <MenuCategory> Tables </MenuCategory> |
| | | <ParentRole> http://www.trex.com/role/CommitmentsAndContingencies </ParentRole> |
| | | <Position> 39 </Position> |
| | | </Report> |
| | <Report instance="d426102d10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R40.htm </HtmlFileName> |
| | | <LongName> 1040 - Disclosure - Business and Organization - Additional Information (Detail) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.trex.com/role/BusinessAndOrganizationAdditionalInformationDetail </Role> |
| | | <ShortName> Business and Organization - Additional Information (Detail) </ShortName> |
| | | <MenuCategory> Details </MenuCategory> |
| | | <Position> 40 </Position> |
| | | </Report> |
| | <Report instance="d426102d10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R41.htm </HtmlFileName> |
| | | <LongName> 1041 - Disclosure - Summary of Significant Accounting Policies - Additional Information (Detail) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.trex.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail </Role> |
| | | <ShortName> Summary of Significant Accounting Policies - Additional Information (Detail) </ShortName> |
| | | <MenuCategory> Details </MenuCategory> |
| | | <Position> 41 </Position> |
| | | </Report> |
| | <Report instance="d426102d10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R42.htm </HtmlFileName> |
| | | <LongName> 1042 - Disclosure - Summary of Significant Accounting Policies - Estimated Useful Lives of Property Plant and Equipment (Detail) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.trex.com/role/SummaryOfSignificantAccountingPoliciesEstimatedUsefulLivesOfPropertyPlantAndEquipmentDetail </Role> |
| | | <ShortName> Summary of Significant Accounting Policies - Estimated Useful Lives of Property Plant and Equipment (Detail) </ShortName> |
| | | <MenuCategory> Details </MenuCategory> |
| | | <Position> 42 </Position> |
| | | </Report> |
| | <Report instance="d426102d10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R43.htm </HtmlFileName> |
| | | <LongName> 1043 - Disclosure - Sale of Trex Commercial Products, Inc. - Additional Information (Detail) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.trex.com/role/SaleOfTrexCommercialProductsIncAdditionalInformationDetail </Role> |
| | | <ShortName> Sale of Trex Commercial Products, Inc. - Additional Information (Detail) </ShortName> |
| | | <MenuCategory> Details </MenuCategory> |
| | | <Position> 43 </Position> |
| | | </Report> |
| | <Report instance="d426102d10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R44.htm </HtmlFileName> |
| | | <LongName> 1044 - Disclosure - Inventories - Summary of Inventories (Detail) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.trex.com/role/InventoriesSummaryOfInventoriesDetail </Role> |
| | | <ShortName> Inventories - Summary of Inventories (Detail) </ShortName> |
| | | <MenuCategory> Details </MenuCategory> |
| | | <Position> 44 </Position> |
| | | </Report> |
| | <Report instance="d426102d10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R45.htm </HtmlFileName> |
| | | <LongName> 1045 - Disclosure - Inventories - Additional Information (Detail) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.trex.com/role/InventoriesAdditionalInformationDetail </Role> |
| | | <ShortName> Inventories - Additional Information (Detail) </ShortName> |
| | | <MenuCategory> Details </MenuCategory> |
| | | <Position> 45 </Position> |
| | | </Report> |
| | <Report instance="d426102d10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R46.htm </HtmlFileName> |
| | | <LongName> 1046 - Disclosure - Prepaid Expenses and Other Assets - Summary of Prepaid Expenses and Other Assets (Detail) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.trex.com/role/PrepaidExpensesAndOtherAssetsSummaryOfPrepaidExpensesAndOtherAssetsDetail </Role> |
| | | <ShortName> Prepaid Expenses and Other Assets - Summary of Prepaid Expenses and Other Assets (Detail) </ShortName> |
| | | <MenuCategory> Details </MenuCategory> |
| | | <Position> 46 </Position> |
| | | </Report> |
| | <Report instance="d426102d10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R47.htm </HtmlFileName> |
| | | <LongName> 1047 - Disclosure - Goodwill and Other Intangible Assets, Net - Additional Information (Detail) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.trex.com/role/GoodwillAndOtherIntangibleAssetsNetAdditionalInformationDetail </Role> |
| | | <ShortName> Goodwill and Other Intangible Assets, Net - Additional Information (Detail) </ShortName> |
| | | <MenuCategory> Details </MenuCategory> |
| | | <Position> 47 </Position> |
| | | </Report> |
| | <Report instance="d426102d10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R48.htm </HtmlFileName> |
| | | <LongName> 1048 - Disclosure - Property, Plant and Equipment - Summary of Property, Plant and Equipment (Detail) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.trex.com/role/PropertyPlantAndEquipmentSummaryOfPropertyPlantAndEquipmentDetail </Role> |
| | | <ShortName> Property, Plant and Equipment - Summary of Property, Plant and Equipment (Detail) </ShortName> |
| | | <MenuCategory> Details </MenuCategory> |
| | | <Position> 48 </Position> |
| | | </Report> |
| | <Report instance="d426102d10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R49.htm </HtmlFileName> |
| | | <LongName> 1049 - Disclosure - Property, Plant and Equipment - Additional Information (Detail) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.trex.com/role/PropertyPlantAndEquipmentAdditionalInformationDetail </Role> |
| | | <ShortName> Property, Plant and Equipment - Additional Information (Detail) </ShortName> |
| | | <MenuCategory> Details </MenuCategory> |
| | | <Position> 49 </Position> |
| | | </Report> |
| | <Report instance="d426102d10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R50.htm </HtmlFileName> |
| | | <LongName> 1050 - Disclosure - Accrued Expenses and Other Liabilities - Summary of Accrued Expenses and Other Liabilities (Detail) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.trex.com/role/AccruedExpensesAndOtherLiabilitiesSummaryOfAccruedExpensesAndOtherLiabilitiesDetail </Role> |
| | | <ShortName> Accrued Expenses and Other Liabilities - Summary of Accrued Expenses and Other Liabilities (Detail) </ShortName> |
| | | <MenuCategory> Details </MenuCategory> |
| | | <Position> 50 </Position> |
| | | </Report> |
| | <Report instance="d426102d10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R51.htm </HtmlFileName> |
| | | <LongName> 1051 - Disclosure - Debt - Additional Information (Detail) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.trex.com/role/DebtAdditionalInformationDetail </Role> |
| | | <ShortName> Debt - Additional Information (Detail) </ShortName> |
| | | <MenuCategory> Details </MenuCategory> |
| | | <Position> 51 </Position> |
| | | </Report> |
| | <Report instance="d426102d10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R52.htm </HtmlFileName> |
| | | <LongName> 1052 - Disclosure - Leases - Additional Information (Detail) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.trex.com/role/LeasesAdditionalInformationDetail </Role> |
| | | <ShortName> Leases - Additional Information (Detail) </ShortName> |
| | | <MenuCategory> Details </MenuCategory> |
| | | <Position> 52 </Position> |
| | | </Report> |
| | <Report instance="d426102d10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R53.htm </HtmlFileName> |
| | | <LongName> 1053 - Disclosure - Leases - Supplemental Cash flow Information to operating leases (Details) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.trex.com/role/LeasesSupplementalCashFlowInformationToOperatingLeasesDetails </Role> |
| | | <ShortName> Leases - Supplemental Cash flow Information to operating leases (Details) </ShortName> |
| | | <MenuCategory> Details </MenuCategory> |
| | | <Position> 53 </Position> |
| | | </Report> |
| | <Report instance="d426102d10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R54.htm </HtmlFileName> |
| | | <LongName> 1054 - Disclosure - Leases - Maturities of Operating Lease Liabilities (Details) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.trex.com/role/LeasesMaturitiesOfOperatingLeaseLiabilitiesDetails </Role> |
| | | <ShortName> Leases - Maturities of Operating Lease Liabilities (Details) </ShortName> |
| | | <MenuCategory> Details </MenuCategory> |
| | | <Position> 54 </Position> |
| | | </Report> |
| | <Report instance="d426102d10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R55.htm </HtmlFileName> |
| | | <LongName> 1055 - Disclosure - Stockholders' Equity - Additional Information (Detail) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.trex.com/role/StockholdersEquityAdditionalInformationDetail </Role> |
| | | <ShortName> Stockholders' Equity - Additional Information (Detail) </ShortName> |
| | | <MenuCategory> Details </MenuCategory> |
| | | <Position> 55 </Position> |
| | | </Report> |
| | <Report instance="d426102d10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R56.htm </HtmlFileName> |
| | | <LongName> 1056 - Disclosure - Stockholders' Equity - Computation of Basic and Diluted Earnings Per Share (Detail) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.trex.com/role/StockholdersEquityComputationOfBasicAndDilutedEarningsPerShareDetail </Role> |
| | | <ShortName> Stockholders' Equity - Computation of Basic and Diluted Earnings Per Share (Detail) </ShortName> |
| | | <MenuCategory> Details </MenuCategory> |
| | | <Position> 56 </Position> |
| | | </Report> |
| | <Report instance="d426102d10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R57.htm </HtmlFileName> |
| | | <LongName> 1057 - Disclosure - Stockholders' Equity - Antidilutive Securities Excluded from Computation of Earnings Per Share (Detail) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.trex.com/role/StockholdersEquityAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareDetail </Role> |
| | | <ShortName> Stockholders' Equity - Antidilutive Securities Excluded from Computation of Earnings Per Share (Detail) </ShortName> |
| | | <MenuCategory> Details </MenuCategory> |
| | | <Position> 57 </Position> |
| | | </Report> |
| | <Report instance="d426102d10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R58.htm </HtmlFileName> |
| | | <LongName> 1058 - Disclosure - Revenue From Contracts With Customers - Summary of Disaggregated Net Sales (Detail) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.trex.com/role/RevenueFromContractsWithCustomersSummaryOfDisaggregatedNetSalesDetail </Role> |
| | | <ShortName> Revenue From Contracts With Customers - Summary of Disaggregated Net Sales (Detail) </ShortName> |
| | | <MenuCategory> Details </MenuCategory> |
| | | <Position> 58 </Position> |
| | | </Report> |
| | <Report instance="d426102d10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R59.htm </HtmlFileName> |
| | | <LongName> 1059 - Disclosure - Stock-Based Compensation - Additional Information (Detail) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.trex.com/role/StockBasedCompensationAdditionalInformationDetail </Role> |
| | | <ShortName> Stock-Based Compensation - Additional Information (Detail) </ShortName> |
| | | <MenuCategory> Details </MenuCategory> |
| | | <Position> 59 </Position> |
| | | </Report> |
| | <Report instance="d426102d10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R60.htm </HtmlFileName> |
| | | <LongName> 1060 - Disclosure - Stock-Based Compensation - Summary of Stock-Based Compensation Expenses (Detail) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.trex.com/role/StockBasedCompensationSummaryOfStockBasedCompensationExpensesDetail </Role> |
| | | <ShortName> Stock-Based Compensation - Summary of Stock-Based Compensation Expenses (Detail) </ShortName> |
| | | <MenuCategory> Details </MenuCategory> |
| | | <Position> 60 </Position> |
| | | </Report> |
| | <Report instance="d426102d10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R61.htm </HtmlFileName> |
| | | <LongName> 1061 - Disclosure - Stock-Based Compensation - Time-Based Restricted Stock and Restricted Stock Unit Activity (Detail) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.trex.com/role/StockBasedCompensationTimeBasedRestrictedStockAndRestrictedStockUnitActivityDetail </Role> |
| | | <ShortName> Stock-Based Compensation - Time-Based Restricted Stock and Restricted Stock Unit Activity (Detail) </ShortName> |
| | | <MenuCategory> Details </MenuCategory> |
| | | <Position> 61 </Position> |
| | | </Report> |
| | <Report instance="d426102d10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R62.htm </HtmlFileName> |
| | | <LongName> 1062 - Disclosure - Stock-Based Compensation - Performance-Based Restricted Stock Activity (Detail) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.trex.com/role/StockBasedCompensationPerformanceBasedRestrictedStockActivityDetail </Role> |
| | | <ShortName> Stock-Based Compensation - Performance-Based Restricted Stock Activity (Detail) </ShortName> |
| | | <MenuCategory> Details </MenuCategory> |
| | | <Position> 62 </Position> |
| | | </Report> |
| | <Report instance="d426102d10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R63.htm </HtmlFileName> |
| | | <LongName> 1063 - Disclosure - Stock-Based Compensation - Summary of Assumptions Used to Estimate Fair Value of Each SAR (Detail) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.trex.com/role/StockBasedCompensationSummaryOfAssumptionsUsedToEstimateFairValueOfEachSarDetail </Role> |
| | | <ShortName> Stock-Based Compensation - Summary of Assumptions Used to Estimate Fair Value of Each SAR (Detail) </ShortName> |
| | | <MenuCategory> Details </MenuCategory> |
| | | <Position> 63 </Position> |
| | | </Report> |
| | <Report instance="d426102d10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R64.htm </HtmlFileName> |
| | | <LongName> 1064 - Disclosure - Stock-Based Compensation - SAR Activity (Detail) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.trex.com/role/StockBasedCompensationSarActivityDetail </Role> |
| | | <ShortName> Stock-Based Compensation - SAR Activity (Detail) </ShortName> |
| | | <MenuCategory> Details </MenuCategory> |
| | | <Position> 64 </Position> |
| | | </Report> |
| | <Report instance="d426102d10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R65.htm </HtmlFileName> |
| | | <LongName> 1065 - Disclosure - Employee Benefit Plans - Additional Information (Detail) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.trex.com/role/EmployeeBenefitPlansAdditionalInformationDetail </Role> |
| | | <ShortName> Employee Benefit Plans - Additional Information (Detail) </ShortName> |
| | | <MenuCategory> Details </MenuCategory> |
| | | <Position> 65 </Position> |
| | | </Report> |
| | <Report instance="d426102d10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R66.htm </HtmlFileName> |
| | | <LongName> 1066 - Disclosure - Income Taxes - Income Tax Provision (Benefit) (Detail) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.trex.com/role/IncomeTaxesIncomeTaxProvisionBenefitDetail </Role> |
| | | <ShortName> Income Taxes - Income Tax Provision (Benefit) (Detail) </ShortName> |
| | | <MenuCategory> Details </MenuCategory> |
| | | <Position> 66 </Position> |
| | | </Report> |
| | <Report instance="d426102d10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R67.htm </HtmlFileName> |
| | | <LongName> 1067 - Disclosure - Income Taxes - Reconciliation of Differences between Income Tax Provision and Income Tax Determined by Applying US Federal Statutory Rate (Detail) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.trex.com/role/IncomeTaxesReconciliationOfDifferencesBetweenIncomeTaxProvisionAndIncomeTaxDeterminedByApplyingUsFederalStatutoryRateDetail </Role> |
| | | <ShortName> Income Taxes - Reconciliation of Differences between Income Tax Provision and Income Tax Determined by Applying US Federal Statutory Rate (Detail) </ShortName> |
| | | <MenuCategory> Details </MenuCategory> |
| | | <Position> 67 </Position> |
| | | </Report> |
| | <Report instance="d426102d10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R68.htm </HtmlFileName> |
| | | <LongName> 1068 - Disclosure - Income Taxes - Schedule of Deferred Tax Assets and Liabilities (Detail) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.trex.com/role/IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetail </Role> |
| | | <ShortName> Income Taxes - Schedule of Deferred Tax Assets and Liabilities (Detail) </ShortName> |
| | | <MenuCategory> Details </MenuCategory> |
| | | <Position> 68 </Position> |
| | | </Report> |
| | <Report instance="d426102d10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R69.htm </HtmlFileName> |
| | | <LongName> 1069 - Disclosure - Income Taxes - Additional Information (Detail) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.trex.com/role/IncomeTaxesAdditionalInformationDetail </Role> |
| | | <ShortName> Income Taxes - Additional Information (Detail) </ShortName> |
| | | <MenuCategory> Details </MenuCategory> |
| | | <Position> 69 </Position> |
| | | </Report> |
| | <Report instance="d426102d10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R70.htm </HtmlFileName> |
| | | <LongName> 1070 - Disclosure - Segment Information - Additional Information (Detail) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.trex.com/role/SegmentInformationAdditionalInformationDetail </Role> |
| | | <ShortName> Segment Information - Additional Information (Detail) </ShortName> |
| | | <MenuCategory> Details </MenuCategory> |
| | | <Position> 70 </Position> |
| | | </Report> |
| | <Report instance="d426102d10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R71.htm </HtmlFileName> |
| | | <LongName> 1071 - Disclosure - Segment Information - Details of Segment Information (Detail) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.trex.com/role/SegmentInformationDetailsOfSegmentInformationDetail </Role> |
| | | <ShortName> Segment Information - Details of Segment Information (Detail) </ShortName> |
| | | <MenuCategory> Details </MenuCategory> |
| | | <Position> 71 </Position> |
| | | </Report> |
| | <Report instance="d426102d10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R72.htm </HtmlFileName> |
| | | <LongName> 1072 - Disclosure - Segment Information - Schedule of Reconciliation of Net Income to EBITDA (Detail) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.trex.com/role/SegmentInformationScheduleOfReconciliationOfNetIncomeToEbitdaDetail </Role> |
| | | <ShortName> Segment Information - Schedule of Reconciliation of Net Income to EBITDA (Detail) </ShortName> |
| | | <MenuCategory> Details </MenuCategory> |
| | | <Position> 72 </Position> |
| | | </Report> |
| | <Report instance="d426102d10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R73.htm </HtmlFileName> |
| | | <LongName> 1073 - Disclosure - Commitments and Contingencies - Additional Information (Detail) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.trex.com/role/CommitmentsAndContingenciesAdditionalInformationDetail </Role> |
| | | <ShortName> Commitments and Contingencies - Additional Information (Detail) </ShortName> |
| | | <MenuCategory> Details </MenuCategory> |
| | | <Position> 73 </Position> |
| | | </Report> |
| | <Report instance="d426102d10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R74.htm </HtmlFileName> |
| | | <LongName> 1074 - Disclosure - Commitments and Contingencies - Summary of Reconciliation of Company's Residential Product Warranty Reserve (Detail) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.trex.com/role/CommitmentsAndContingenciesSummaryOfReconciliationOfCompanysResidentialProductWarrantyReserveDetail </Role> |
| | | <ShortName> Commitments and Contingencies - Summary of Reconciliation of Company's Residential Product Warranty Reserve (Detail) </ShortName> |
| | | <MenuCategory> Details </MenuCategory> |
| | | <Position> 74 </Position> |
| | | </Report> |
| | <Report instance="d426102d10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R75.htm </HtmlFileName> |
| | | <LongName> 1075 - Disclosure - Schedule II - Valuation and Qualifying Accounts and Reserves (Detail) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.trex.com/role/ScheduleIiValuationAndQualifyingAccountsAndReservesDetail </Role> |
| | | <ShortName> Schedule II - Valuation and Qualifying Accounts and Reserves (Detail) </ShortName> |
| | | <MenuCategory> Details </MenuCategory> |
| | | <ParentRole> http://www.trex.com/role/ScheduleIiValuationAndQualifyingAccountsAndReserves </ParentRole> |
| | | <Position> 75 </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: 5 fact(s) appearing in ix:hidden were eligible for transformation: dei:CurrentFiscalYearEndDate, dei:EntityAddressStateOrProvince, dei:EntityRegistrantName, trex:AveragePeriodForPeMaterialPurchasesUnderShortTermSupplyContractsForWhichPricingIsNegotiatedAsNeeded, trex:NumberOfBusinessDaysWithinWhichLenderMayRaiseObjectionsToAmendment - d426102d10k.htm 9, 3889 </Log> |
| | </Logs> |
| <InputFiles> |
| | <File doctype="10-K" original="d426102d10k.htm"> d426102d10k.htm </File> |
| | <File> d426102dex21.htm </File> |
| | <File> d426102dex23.htm </File> |
| | <File> d426102dex311.htm </File> |
| | <File> d426102dex312.htm </File> |
| | <File> d426102dex32.htm </File> |
| | <File> trex-20221231.xsd </File> |
| | <File> trex-20221231_cal.xml </File> |
| | <File> trex-20221231_def.xml </File> |
| | <File> trex-20221231_lab.xml </File> |
| | <File> trex-20221231_pre.xml </File> |
| | </InputFiles> |
| <SupplementalFiles> |
| | <File> g426102g00a01.jpg </File> |
| | <File> g426102g00a27.jpg </File> |
| | </SupplementalFiles> |
| <BaseTaxonomies> |
| | <BaseTaxonomy items="1"> http://fasb.org/srt/2022 </BaseTaxonomy> |
| | <BaseTaxonomy items="847"> http://fasb.org/us-gaap/2022 </BaseTaxonomy> |
| | <BaseTaxonomy items="36"> http://xbrl.sec.gov/dei/2022 </BaseTaxonomy> |
| | </BaseTaxonomies> |
| <HasPresentationLinkbase> true </HasPresentationLinkbase> |
| <HasCalculationLinkbase> true </HasCalculationLinkbase> |
| </FilingSummary> |