| | | | | | | | | | | | | | | | | | | | | |
<?xml version="1.0" encoding="windows-1252"?> |
<!-- Generated by DFIN XBRL Instance Document - http://www.dfinsolutions.com/ - Version R3.0 - on 21-February-2023 [02:44:48] {AM} --> |
<schema targetNamespace="http://www.trex.com/20221231" elementFormDefault="qualified" xmlns:trex="http://www.trex.com/20221231" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xl="http://www.xbrl.org/2003/XLink" xmlns:us-gaap="http://fasb.org/us-gaap/2022" xmlns:country="http://xbrl.sec.gov/country/2022" xmlns:currency="http://xbrl.sec.gov/currency/2022" xmlns:dei="http://xbrl.sec.gov/dei/2022" xmlns:exch="http://xbrl.sec.gov/exch/2022" xmlns:naics="http://xbrl.sec.gov/naics/2022" xmlns:sic="http://xbrl.sec.gov/sic/2022" xmlns:us-types="http://fasb.org/us-types/2022" xmlns:stpr="http://xbrl.sec.gov/stpr/2022" xmlns:deprecated="http://www.xbrl.org/2009/arcrole/fact-explanatoryFact" xmlns:srt="http://fasb.org/srt/2022" xmlns:srt-types="http://fasb.org/srt-types/2022" xmlns:dtr-types="http://www.xbrl.org/dtr/type/2020-01-21" xmlns:us-gaap-supplement="http://fasb.org/us-gaap-sup/2022q3" xmlns:srt-supplement="http://fasb.org/srt-sup/2022q3"> |
| <annotation> |
| | <appinfo> |
| | | <link:roleType roleURI="http://www.trex.com/role/CoverPage" id="CoverPage"> |
| <link:definition> 1001 - Document - Cover Page </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.trex.com/role/ConsolidatedStatementsOfComprehensiveIncome" id="ConsolidatedStatementsOfComprehensiveIncome"> |
| <link:definition> 1002 - Statement - Consolidated Statements of Comprehensive Income </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.trex.com/role/ConsolidatedBalanceSheets" id="ConsolidatedBalanceSheets"> |
| <link:definition> 1003 - Statement - Consolidated Balance Sheets </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.trex.com/role/ConsolidatedBalanceSheetsParenthetical" id="ConsolidatedBalanceSheetsParenthetical"> |
| <link:definition> 1004 - Statement - Consolidated Balance Sheets (Parenthetical) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.trex.com/role/ConsolidatedStatementsOfChangesInStockholdersEquity" id="ConsolidatedStatementsOfChangesInStockholdersEquity"> |
| <link:definition> 1005 - Statement - Consolidated Statements of Changes in Stockholders' Equity </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.trex.com/role/ConsolidatedStatementsOfCashFlows" id="ConsolidatedStatementsOfCashFlows"> |
| <link:definition> 1006 - Statement - Consolidated Statements of Cash Flows </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.trex.com/role/BusinessAndOrganization" id="BusinessAndOrganization"> |
| <link:definition> 1007 - Disclosure - Business and Organization </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.trex.com/role/SummaryOfSignificantAccountingPolicies" id="SummaryOfSignificantAccountingPolicies"> |
| <link:definition> 1008 - Disclosure - Summary of Significant Accounting Policies </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.trex.com/role/SaleOfTrexCommercialProductsInc" id="SaleOfTrexCommercialProductsInc"> |
| <link:definition> 1009 - Disclosure - Sale of Trex Commercial Products, Inc. </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.trex.com/role/Inventories" id="Inventories"> |
| <link:definition> 1010 - Disclosure - Inventories </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.trex.com/role/PrepaidExpensesAndOtherAssets" id="PrepaidExpensesAndOtherAssets"> |
| <link:definition> 1011 - Disclosure - Prepaid Expenses and Other Assets </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.trex.com/role/GoodwillAndOtherIntangibleAssetsNet" id="GoodwillAndOtherIntangibleAssetsNet"> |
| <link:definition> 1012 - Disclosure - Goodwill and Other Intangible Assets, Net </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.trex.com/role/PropertyPlantAndEquipment" id="PropertyPlantAndEquipment"> |
| <link:definition> 1013 - Disclosure - Property, Plant and Equipment </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.trex.com/role/AccruedExpensesAndOtherLiabilities" id="AccruedExpensesAndOtherLiabilities"> |
| <link:definition> 1014 - Disclosure - Accrued Expenses and Other Liabilities </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.trex.com/role/Debt" id="Debt"> |
| <link:definition> 1015 - Disclosure - Debt </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.trex.com/role/Leases" id="Leases"> |
| <link:definition> 1016 - Disclosure - Leases </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.trex.com/role/FinancialInstruments" id="FinancialInstruments"> |
| <link:definition> 1017 - Disclosure - Financial Instruments </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.trex.com/role/StockholdersEquity" id="StockholdersEquity"> |
| <link:definition> 1018 - Disclosure - Stockholders' Equity </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.trex.com/role/RevenueFromContractsWithCustomers" id="RevenueFromContractsWithCustomers"> |
| <link:definition> 1019 - Disclosure - Revenue From Contracts With Customers </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.trex.com/role/StockBasedCompensation" id="StockBasedCompensation"> |
| <link:definition> 1020 - Disclosure - Stock-Based Compensation </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.trex.com/role/EmployeeBenefitPlans" id="EmployeeBenefitPlans"> |
| <link:definition> 1021 - Disclosure - Employee Benefit Plans </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.trex.com/role/IncomeTaxes" id="IncomeTaxes"> |
| <link:definition> 1022 - Disclosure - Income Taxes </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.trex.com/role/SegmentInformation" id="SegmentInformation"> |
| <link:definition> 1023 - Disclosure - Segment Information </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.trex.com/role/Seasonality" id="Seasonality"> |
| <link:definition> 1024 - Disclosure - Seasonality </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.trex.com/role/CommitmentsAndContingencies" id="CommitmentsAndContingencies"> |
| <link:definition> 1025 - Disclosure - Commitments and Contingencies </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.trex.com/role/ScheduleIiValuationAndQualifyingAccountsAndReserves" id="ScheduleIiValuationAndQualifyingAccountsAndReserves"> |
| <link:definition> 1026 - Disclosure - Schedule II - Valuation and Qualifying Accounts and Reserves </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.trex.com/role/SummaryOfSignificantAccountingPoliciesPolicies" id="SummaryOfSignificantAccountingPoliciesPolicies"> |
| <link:definition> 1027 - Disclosure - Summary of Significant Accounting Policies (Policies) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.trex.com/role/SummaryOfSignificantAccountingPoliciesTables" id="SummaryOfSignificantAccountingPoliciesTables"> |
| <link:definition> 1028 - Disclosure - Summary of Significant Accounting Policies (Tables) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.trex.com/role/InventoriesTables" id="InventoriesTables"> |
| <link:definition> 1029 - Disclosure - Inventories (Tables) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.trex.com/role/PrepaidExpensesAndOtherAssetsTables" id="PrepaidExpensesAndOtherAssetsTables"> |
| <link:definition> 1030 - Disclosure - Prepaid Expenses and Other Assets (Tables) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.trex.com/role/PropertyPlantAndEquipmentTables" id="PropertyPlantAndEquipmentTables"> |
| <link:definition> 1031 - Disclosure - Property, Plant and Equipment (Tables) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.trex.com/role/AccruedExpensesAndOtherLiabilitiesTables" id="AccruedExpensesAndOtherLiabilitiesTables"> |
| <link:definition> 1032 - Disclosure - Accrued Expenses and Other Liabilities (Tables) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.trex.com/role/LeasesTables" id="LeasesTables"> |
| <link:definition> 1033 - Disclosure - Leases (Tables) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.trex.com/role/StockholdersEquityTables" id="StockholdersEquityTables"> |
| <link:definition> 1034 - Disclosure - Stockholders' Equity (Tables) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.trex.com/role/RevenueFromContractsWithCustomersTables" id="RevenueFromContractsWithCustomersTables"> |
| <link:definition> 1035 - Disclosure - Revenue From Contracts With Customers (Tables) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.trex.com/role/StockBasedCompensationTables" id="StockBasedCompensationTables"> |
| <link:definition> 1036 - Disclosure - Stock-Based Compensation (Tables) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.trex.com/role/IncomeTaxesTables" id="IncomeTaxesTables"> |
| <link:definition> 1037 - Disclosure - Income Taxes (Tables) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.trex.com/role/SegmentInformationTables" id="SegmentInformationTables"> |
| <link:definition> 1038 - Disclosure - Segment Information (Tables) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.trex.com/role/CommitmentsAndContingenciesTables" id="CommitmentsAndContingenciesTables"> |
| <link:definition> 1039 - Disclosure - Commitments and Contingencies (Tables) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.trex.com/role/BusinessAndOrganizationAdditionalInformationDetail" id="BusinessAndOrganizationAdditionalInformationDetail"> |
| <link:definition> 1040 - Disclosure - Business and Organization - Additional Information (Detail) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.trex.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail" id="SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"> |
| <link:definition> 1041 - Disclosure - Summary of Significant Accounting Policies - Additional Information (Detail) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.trex.com/role/SummaryOfSignificantAccountingPoliciesEstimatedUsefulLivesOfPropertyPlantAndEquipmentDetail" id="SummaryOfSignificantAccountingPoliciesEstimatedUsefulLivesOfPropertyPlantAndEquipmentDetail"> |
| <link:definition> 1042 - Disclosure - Summary of Significant Accounting Policies - Estimated Useful Lives of Property Plant and Equipment (Detail) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.trex.com/role/SaleOfTrexCommercialProductsIncAdditionalInformationDetail" id="SaleOfTrexCommercialProductsIncAdditionalInformationDetail"> |
| <link:definition> 1043 - Disclosure - Sale of Trex Commercial Products, Inc. - Additional Information (Detail) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.trex.com/role/InventoriesSummaryOfInventoriesDetail" id="InventoriesSummaryOfInventoriesDetail"> |
| <link:definition> 1044 - Disclosure - Inventories - Summary of Inventories (Detail) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.trex.com/role/InventoriesAdditionalInformationDetail" id="InventoriesAdditionalInformationDetail"> |
| <link:definition> 1045 - Disclosure - Inventories - Additional Information (Detail) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.trex.com/role/PrepaidExpensesAndOtherAssetsSummaryOfPrepaidExpensesAndOtherAssetsDetail" id="PrepaidExpensesAndOtherAssetsSummaryOfPrepaidExpensesAndOtherAssetsDetail"> |
| <link:definition> 1046 - Disclosure - Prepaid Expenses and Other Assets - Summary of Prepaid Expenses and Other Assets (Detail) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.trex.com/role/GoodwillAndOtherIntangibleAssetsNetAdditionalInformationDetail" id="GoodwillAndOtherIntangibleAssetsNetAdditionalInformationDetail"> |
| <link:definition> 1047 - Disclosure - Goodwill and Other Intangible Assets, Net - Additional Information (Detail) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.trex.com/role/PropertyPlantAndEquipmentSummaryOfPropertyPlantAndEquipmentDetail" id="PropertyPlantAndEquipmentSummaryOfPropertyPlantAndEquipmentDetail"> |
| <link:definition> 1048 - Disclosure - Property, Plant and Equipment - Summary of Property, Plant and Equipment (Detail) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.trex.com/role/PropertyPlantAndEquipmentAdditionalInformationDetail" id="PropertyPlantAndEquipmentAdditionalInformationDetail"> |
| <link:definition> 1049 - Disclosure - Property, Plant and Equipment - Additional Information (Detail) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.trex.com/role/AccruedExpensesAndOtherLiabilitiesSummaryOfAccruedExpensesAndOtherLiabilitiesDetail" id="AccruedExpensesAndOtherLiabilitiesSummaryOfAccruedExpensesAndOtherLiabilitiesDetail"> |
| <link:definition> 1050 - Disclosure - Accrued Expenses and Other Liabilities - Summary of Accrued Expenses and Other Liabilities (Detail) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.trex.com/role/DebtAdditionalInformationDetail" id="DebtAdditionalInformationDetail"> |
| <link:definition> 1051 - Disclosure - Debt - Additional Information (Detail) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.trex.com/role/LeasesAdditionalInformationDetail" id="LeasesAdditionalInformationDetail"> |
| <link:definition> 1052 - Disclosure - Leases - Additional Information (Detail) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.trex.com/role/LeasesSupplementalCashFlowInformationToOperatingLeasesDetails" id="LeasesSupplementalCashFlowInformationToOperatingLeasesDetails"> |
| <link:definition> 1053 - Disclosure - Leases - Supplemental Cash flow Information to operating leases (Details) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.trex.com/role/LeasesMaturitiesOfOperatingLeaseLiabilitiesDetails" id="LeasesMaturitiesOfOperatingLeaseLiabilitiesDetails"> |
| <link:definition> 1054 - Disclosure - Leases - Maturities of Operating Lease Liabilities (Details) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.trex.com/role/StockholdersEquityAdditionalInformationDetail" id="StockholdersEquityAdditionalInformationDetail"> |
| <link:definition> 1055 - Disclosure - Stockholders' Equity - Additional Information (Detail) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.trex.com/role/StockholdersEquityComputationOfBasicAndDilutedEarningsPerShareDetail" id="StockholdersEquityComputationOfBasicAndDilutedEarningsPerShareDetail"> |
| <link:definition> 1056 - Disclosure - Stockholders' Equity - Computation of Basic and Diluted Earnings Per Share (Detail) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.trex.com/role/StockholdersEquityAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareDetail" id="StockholdersEquityAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareDetail"> |
| <link:definition> 1057 - Disclosure - Stockholders' Equity - Antidilutive Securities Excluded from Computation of Earnings Per Share (Detail) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.trex.com/role/RevenueFromContractsWithCustomersSummaryOfDisaggregatedNetSalesDetail" id="RevenueFromContractsWithCustomersSummaryOfDisaggregatedNetSalesDetail"> |
| <link:definition> 1058 - Disclosure - Revenue From Contracts With Customers - Summary of Disaggregated Net Sales (Detail) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.trex.com/role/StockBasedCompensationAdditionalInformationDetail" id="StockBasedCompensationAdditionalInformationDetail"> |
| <link:definition> 1059 - Disclosure - Stock-Based Compensation - Additional Information (Detail) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.trex.com/role/StockBasedCompensationSummaryOfStockBasedCompensationExpensesDetail" id="StockBasedCompensationSummaryOfStockBasedCompensationExpensesDetail"> |
| <link:definition> 1060 - Disclosure - Stock-Based Compensation - Summary of Stock-Based Compensation Expenses (Detail) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.trex.com/role/StockBasedCompensationTimeBasedRestrictedStockAndRestrictedStockUnitActivityDetail" id="StockBasedCompensationTimeBasedRestrictedStockAndRestrictedStockUnitActivityDetail"> |
| <link:definition> 1061 - Disclosure - Stock-Based Compensation - Time-Based Restricted Stock and Restricted Stock Unit Activity (Detail) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.trex.com/role/StockBasedCompensationPerformanceBasedRestrictedStockActivityDetail" id="StockBasedCompensationPerformanceBasedRestrictedStockActivityDetail"> |
| <link:definition> 1062 - Disclosure - Stock-Based Compensation - Performance-Based Restricted Stock Activity (Detail) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.trex.com/role/StockBasedCompensationSummaryOfAssumptionsUsedToEstimateFairValueOfEachSarDetail" id="StockBasedCompensationSummaryOfAssumptionsUsedToEstimateFairValueOfEachSarDetail"> |
| <link:definition> 1063 - Disclosure - Stock-Based Compensation - Summary of Assumptions Used to Estimate Fair Value of Each SAR (Detail) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.trex.com/role/StockBasedCompensationSarActivityDetail" id="StockBasedCompensationSarActivityDetail"> |
| <link:definition> 1064 - Disclosure - Stock-Based Compensation - SAR Activity (Detail) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.trex.com/role/EmployeeBenefitPlansAdditionalInformationDetail" id="EmployeeBenefitPlansAdditionalInformationDetail"> |
| <link:definition> 1065 - Disclosure - Employee Benefit Plans - Additional Information (Detail) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.trex.com/role/IncomeTaxesIncomeTaxProvisionBenefitDetail" id="IncomeTaxesIncomeTaxProvisionBenefitDetail"> |
| <link:definition> 1066 - Disclosure - Income Taxes - Income Tax Provision (Benefit) (Detail) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.trex.com/role/IncomeTaxesReconciliationOfDifferencesBetweenIncomeTaxProvisionAndIncomeTaxDeterminedByApplyingUsFederalStatutoryRateDetail" id="IncomeTaxesReconciliationOfDifferencesBetweenIncomeTaxProvisionAndIncomeTaxDeterminedByApplyingUsFederalStatutoryRateDetail"> |
| <link:definition> 1067 - Disclosure - Income Taxes - Reconciliation of Differences between Income Tax Provision and Income Tax Determined by Applying US Federal Statutory Rate (Detail) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.trex.com/role/IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetail" id="IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetail"> |
| <link:definition> 1068 - Disclosure - Income Taxes - Schedule of Deferred Tax Assets and Liabilities (Detail) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.trex.com/role/IncomeTaxesAdditionalInformationDetail" id="IncomeTaxesAdditionalInformationDetail"> |
| <link:definition> 1069 - Disclosure - Income Taxes - Additional Information (Detail) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.trex.com/role/SegmentInformationAdditionalInformationDetail" id="SegmentInformationAdditionalInformationDetail"> |
| <link:definition> 1070 - Disclosure - Segment Information - Additional Information (Detail) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.trex.com/role/SegmentInformationDetailsOfSegmentInformationDetail" id="SegmentInformationDetailsOfSegmentInformationDetail"> |
| <link:definition> 1071 - Disclosure - Segment Information - Details of Segment Information (Detail) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.trex.com/role/SegmentInformationScheduleOfReconciliationOfNetIncomeToEbitdaDetail" id="SegmentInformationScheduleOfReconciliationOfNetIncomeToEbitdaDetail"> |
| <link:definition> 1072 - Disclosure - Segment Information - Schedule of Reconciliation of Net Income to EBITDA (Detail) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.trex.com/role/CommitmentsAndContingenciesAdditionalInformationDetail" id="CommitmentsAndContingenciesAdditionalInformationDetail"> |
| <link:definition> 1073 - Disclosure - Commitments and Contingencies - Additional Information (Detail) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.trex.com/role/CommitmentsAndContingenciesSummaryOfReconciliationOfCompanysResidentialProductWarrantyReserveDetail" id="CommitmentsAndContingenciesSummaryOfReconciliationOfCompanysResidentialProductWarrantyReserveDetail"> |
| <link:definition> 1074 - Disclosure - Commitments and Contingencies - Summary of Reconciliation of Company's Residential Product Warranty Reserve (Detail) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.trex.com/role/ScheduleIiValuationAndQualifyingAccountsAndReservesDetail" id="ScheduleIiValuationAndQualifyingAccountsAndReservesDetail"> |
| <link:definition> 1075 - Disclosure - Schedule II - Valuation and Qualifying Accounts and Reserves (Detail) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.trex.com/role/LeasesMaturitiesOfOperatingLeaseLiabilitiesDetailsAlternate1" id="LeasesMaturitiesOfOperatingLeaseLiabilitiesDetailsAlternate1"> |
| <link:definition> 1076 - Statement - Leases - Maturities of Operating Lease Liabilities (Details) Alternate 1 </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| </link:roleType> |
| | | <link:linkbaseRef xlink:type="simple" xlink:href="trex-20221231_pre.xml" xlink:role="http://www.xbrl.org/2003/role/presentationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase"/> |
| | | <link:linkbaseRef xlink:type="simple" xlink:href="trex-20221231_def.xml" xlink:role="http://www.xbrl.org/2003/role/definitionLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase"/> |
| | | <link:linkbaseRef xlink:type="simple" xlink:href="trex-20221231_lab.xml" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase"/> |
| | | <link:linkbaseRef xlink:type="simple" xlink:href="trex-20221231_cal.xml" xlink:role="http://www.xbrl.org/2003/role/calculationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase"/> |
| | | </appinfo> |
| | </annotation> |
| <import namespace="http://www.xbrl.org/2003/instance" schemaLocation="http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd"/> |
| <import namespace="http://www.xbrl.org/2003/linkbase" schemaLocation="http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd"/> |
| <import namespace="http://xbrl.org/2005/xbrldt" schemaLocation="http://www.xbrl.org/2005/xbrldt-2005.xsd"/> |
| <import namespace="http://fasb.org/us-gaap/2022" schemaLocation="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd"/> |
| <import namespace="http://xbrl.sec.gov/country/2022" schemaLocation="https://xbrl.sec.gov/country/2022/country-2022.xsd"/> |
| <import namespace="http://xbrl.sec.gov/currency/2022" schemaLocation="https://xbrl.sec.gov/currency/2022/currency-2022.xsd"/> |
| <import namespace="http://xbrl.sec.gov/exch/2022" schemaLocation="https://xbrl.sec.gov/exch/2022/exch-2022.xsd"/> |
| <import namespace="http://xbrl.sec.gov/naics/2022" schemaLocation="https://xbrl.sec.gov/naics/2022/naics-2022.xsd"/> |
| <import namespace="http://xbrl.sec.gov/sic/2022" schemaLocation="https://xbrl.sec.gov/sic/2022/sic-2022.xsd"/> |
| <import namespace="http://xbrl.sec.gov/stpr/2022" schemaLocation="https://xbrl.sec.gov/stpr/2022/stpr-2022.xsd"/> |
| <import namespace="http://www.xbrl.org/2009/role/negated" schemaLocation="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd"/> |
| <import namespace="http://www.xbrl.org/2009/role/net" schemaLocation="http://www.xbrl.org/lrr/role/net-2009-12-16.xsd"/> |
| <import namespace="http://www.xbrl.org/2009/arcrole/fact-explanatoryFact" schemaLocation="http://www.xbrl.org/lrr/arcrole/factExplanatory-2009-12-16.xsd"/> |
| <import namespace="http://xbrl.sec.gov/dei/2022" schemaLocation="https://xbrl.sec.gov/dei/2022/dei-2022.xsd"/> |
| <import namespace="http://fasb.org/us-types/2022" schemaLocation="https://xbrl.fasb.org/us-gaap/2022/elts/us-types-2022.xsd"/> |
| <import namespace="http://fasb.org/srt-types/2022" schemaLocation="https://xbrl.fasb.org/srt/2022/elts/srt-types-2022.xsd"/> |
| <import namespace="http://fasb.org/srt/2022" schemaLocation="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd"/> |
| <import namespace="http://www.xbrl.org/dtr/type/2020-01-21" schemaLocation="https://www.xbrl.org/dtr/type/2020-01-21/types.xsd"/> |
| <import namespace="http://fasb.org/us-gaap-sup/2022q3" schemaLocation="https://xbrl.fasb.org/us-gaap/2022q3/us-gaap-sup-2022q3.xsd"/> |
| <import namespace="http://fasb.org/srt-sup/2022q3" schemaLocation="https://xbrl.fasb.org/srt/2022q3/srt-sup-2022q3.xsd"/> |
| <element name="AccruedLiabilitiesAndOtherLiabilitiesCurrentExcludingWarranty" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="instant" nillable="true" id="trex_AccruedLiabilitiesAndOtherLiabilitiesCurrentExcludingWarranty" substitutionGroup="xbrli:item" xbrli:balance="credit"/> |
| <element name="CapitalExpendituresInAccountsPayable" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="duration" nillable="true" id="trex_CapitalExpendituresInAccountsPayable" substitutionGroup="xbrli:item" xbrli:balance="credit"/> |
| <element name="ScheduleOfDivestureOfInterestsInSubsidiaryAbstract" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="trex_ScheduleOfDivestureOfInterestsInSubsidiaryAbstract" substitutionGroup="xbrli:item"/> |
| <element name="TrexCommercialProductsIncMember" type="dtr-types:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="trex_TrexCommercialProductsIncMember" substitutionGroup="xbrli:item"/> |
| <element name="ScheduleOfDivestureOfInterestsInSubsidiaryTextBlock" type="dtr-types:textBlockItemType" abstract="false" xbrli:periodType="duration" nillable="true" id="trex_ScheduleOfDivestureOfInterestsInSubsidiaryTextBlock" substitutionGroup="xbrli:item"/> |
| <element name="PrepaidAndOtherCurrentAssetsDisclosureTextBlock" type="dtr-types:textBlockItemType" abstract="false" xbrli:periodType="duration" nillable="true" id="trex_PrepaidAndOtherCurrentAssetsDisclosureTextBlock" substitutionGroup="xbrli:item"/> |
| <element name="SeasonalityDisclosureTextBlock" type="dtr-types:textBlockItemType" abstract="false" xbrli:periodType="duration" nillable="true" id="trex_SeasonalityDisclosureTextBlock" substitutionGroup="xbrli:item"/> |
| <element name="InsuranceProceedsPolicyTextBlock" type="dtr-types:textBlockItemType" abstract="false" xbrli:periodType="duration" nillable="true" id="trex_InsuranceProceedsPolicyTextBlock" substitutionGroup="xbrli:item"/> |
| <element name="PropertyPlantAndEquipmentEstimatedUsefulLifeTableTextBlock" type="dtr-types:textBlockItemType" abstract="false" xbrli:periodType="duration" nillable="true" id="trex_PropertyPlantAndEquipmentEstimatedUsefulLifeTableTextBlock" substitutionGroup="xbrli:item"/> |
| <element name="PrepaidExpenseAndOtherAssetsCurrentTableTextBlock" type="dtr-types:textBlockItemType" abstract="false" xbrli:periodType="duration" nillable="true" id="trex_PrepaidExpenseAndOtherAssetsCurrentTableTextBlock" substitutionGroup="xbrli:item"/> |
| <element name="ScheduleOfAccruedLiabilitiesAndOtherCurrentLiabilitiesTableTextBlock" type="dtr-types:textBlockItemType" abstract="false" xbrli:periodType="duration" nillable="true" id="trex_ScheduleOfAccruedLiabilitiesAndOtherCurrentLiabilitiesTableTextBlock" substitutionGroup="xbrli:item"/> |
| <element name="SupplementalFinancialInformationOfOperatingLeasesTableTextBlock" type="dtr-types:textBlockItemType" abstract="false" xbrli:periodType="duration" nillable="true" id="trex_SupplementalFinancialInformationOfOperatingLeasesTableTextBlock" substitutionGroup="xbrli:item"/> |
| <element name="TimeBasedRestrictedStockAndTimeBasedRestrictedStockUnitsMember" type="dtr-types:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="trex_TimeBasedRestrictedStockAndTimeBasedRestrictedStockUnitsMember" substitutionGroup="xbrli:item"/> |
| <element name="PerformanceBasedRestrictedStockAndPerformanceBasedRestrictedStockUnitsMember" type="dtr-types:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="trex_PerformanceBasedRestrictedStockAndPerformanceBasedRestrictedStockUnitsMember" substitutionGroup="xbrli:item"/> |
| <element name="ScheduleOfReconciliationOfNetIncomeToEBITDATableTextBlock" type="dtr-types:textBlockItemType" abstract="false" xbrli:periodType="duration" nillable="true" id="trex_ScheduleOfReconciliationOfNetIncomeToEBITDATableTextBlock" substitutionGroup="xbrli:item"/> |
| <element name="AccountingPoliciesTable" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="trex_AccountingPoliciesTable" substitutionGroup="xbrldt:hypercubeItem"/> |
| <element name="CustomerTwoMember" type="dtr-types:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="trex_CustomerTwoMember" substitutionGroup="xbrli:item"/> |
| <element name="CustomerOneMember" type="dtr-types:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="trex_CustomerOneMember" substitutionGroup="xbrli:item"/> |
| <element name="RawMaterialsMember" type="dtr-types:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="trex_RawMaterialsMember" substitutionGroup="xbrli:item"/> |
| <element name="CommercialUseMember" type="dtr-types:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="trex_CommercialUseMember" substitutionGroup="xbrli:item"/> |
| <element name="ResidentialUseMember" type="dtr-types:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="trex_ResidentialUseMember" substitutionGroup="xbrli:item"/> |
| <element name="TranscendDeckingMember" type="dtr-types:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="trex_TranscendDeckingMember" substitutionGroup="xbrli:item"/> |
| <element name="SelectDeckingAndUniversalFasciaMember" type="dtr-types:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="trex_SelectDeckingAndUniversalFasciaMember" substitutionGroup="xbrli:item"/> |
| <element name="EnhanceDeckingAndTranscendSelectEnhanceAndSignatureRailingMember" type="dtr-types:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="trex_EnhanceDeckingAndTranscendSelectEnhanceAndSignatureRailingMember" substitutionGroup="xbrli:item"/> |
| <element name="SignatureRailingAndTranscendCladdingMember" type="dtr-types:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="trex_SignatureRailingAndTranscendCladdingMember" substitutionGroup="xbrli:item"/> |
| <element name="SignatureRailingMember" type="dtr-types:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="trex_SignatureRailingMember" substitutionGroup="xbrli:item"/> |
| <element name="ScheduleOfSignificantAccountingPoliciesLineItems" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="trex_ScheduleOfSignificantAccountingPoliciesLineItems" substitutionGroup="xbrli:item"/> |
| <element name="MaturityPeriodOfCashEquivalent" type="xbrli:durationItemType" abstract="false" xbrli:periodType="duration" nillable="true" id="trex_MaturityPeriodOfCashEquivalent" substitutionGroup="xbrli:item"/> |
| <element name="NumberOfCustomerAccountedForTenPercentOrMoreAccountReceivable" type="xbrli:integerItemType" abstract="false" xbrli:periodType="duration" nillable="true" id="trex_NumberOfCustomerAccountedForTenPercentOrMoreAccountReceivable" substitutionGroup="xbrli:item"/> |
| <element name="NumberOfFinancialInstitutionWithDeposit" type="xbrli:integerItemType" abstract="false" xbrli:periodType="duration" nillable="true" id="trex_NumberOfFinancialInstitutionWithDeposit" substitutionGroup="xbrli:item"/> |
| <element name="NumberOfLargestRawMaterialSuppliers" type="xbrli:integerItemType" abstract="false" xbrli:periodType="duration" nillable="true" id="trex_NumberOfLargestRawMaterialSuppliers" substitutionGroup="xbrli:item"/> |
| <element name="NumberOfCustomerAccountedForTenPercentOrMoreSalesOfNetSales" type="xbrli:integerItemType" abstract="false" xbrli:periodType="duration" nillable="true" id="trex_NumberOfCustomerAccountedForTenPercentOrMoreSalesOfNetSales" substitutionGroup="xbrli:item"/> |
| <element name="ValuationAllowanceForCreditLossesAndDisputedAmounts" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="duration" nillable="true" id="trex_ValuationAllowanceForCreditLossesAndDisputedAmounts" substitutionGroup="xbrli:item" xbrli:balance="credit"/> |
| <element name="WarrantyPeriod" type="xbrli:durationItemType" abstract="false" xbrli:periodType="duration" nillable="true" id="trex_WarrantyPeriod" substitutionGroup="xbrli:item"/> |
| <element name="DescriptionOfOperatingLeasesWithInitialTerm" type="xbrli:stringItemType" abstract="false" xbrli:periodType="duration" nillable="true" id="trex_DescriptionOfOperatingLeasesWithInitialTerm" substitutionGroup="xbrli:item"/> |
| <element name="GainLossOnInsuranceSettlement" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="duration" nillable="true" id="trex_GainLossOnInsuranceSettlement" substitutionGroup="xbrli:item" xbrli:balance="credit"/> |
| <element name="RailingMember" type="dtr-types:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="trex_RailingMember" substitutionGroup="xbrli:item"/> |
| <element name="StagingMember" type="dtr-types:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="trex_StagingMember" substitutionGroup="xbrli:item"/> |
| <element name="FourLargestSuppliersMember" type="dtr-types:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="trex_FourLargestSuppliersMember" substitutionGroup="xbrli:item"/> |
| <element name="FireAtVirginiaFacilityMember" type="dtr-types:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="trex_FireAtVirginiaFacilityMember" substitutionGroup="xbrli:item"/> |
| <element name="ForkliftsAndTractorsMember" type="dtr-types:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="trex_ForkliftsAndTractorsMember" substitutionGroup="xbrli:item"/> |
| <element name="AccruedManufacturingExpensesCurrent" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="instant" nillable="true" id="trex_AccruedManufacturingExpensesCurrent" substitutionGroup="xbrli:item" xbrli:balance="credit"/> |
| <element name="BillingsInExcessOfRevenuesCurrent" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="instant" nillable="true" id="trex_BillingsInExcessOfRevenuesCurrent" substitutionGroup="xbrli:item" xbrli:balance="credit"/> |
| <element name="RevolverLoansPortionEffectiveOneJanuaryThroughThirtyJuneMember" type="dtr-types:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="trex_RevolverLoansPortionEffectiveOneJanuaryThroughThirtyJuneMember" substitutionGroup="xbrli:item"/> |
| <element name="RevolverLoansPortionEffectiveOneJulyThroughThirtyFirstDecemberMember" type="dtr-types:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="trex_RevolverLoansPortionEffectiveOneJulyThroughThirtyFirstDecemberMember" substitutionGroup="xbrli:item"/> |
| <element name="RevolvingBLoanMember" type="dtr-types:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="trex_RevolvingBLoanMember" substitutionGroup="xbrli:item"/> |
| <element name="LineOfCreditFacilityAdditionalBorrowingCapacity" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="instant" nillable="true" id="trex_LineOfCreditFacilityAdditionalBorrowingCapacity" substitutionGroup="xbrli:item" xbrli:balance="credit"/> |
| <element name="NumberOfBusinessDaysWithinWhichLenderMayRaiseObjectionsToAmendment" type="xbrli:durationItemType" abstract="false" xbrli:periodType="duration" nillable="true" id="trex_NumberOfBusinessDaysWithinWhichLenderMayRaiseObjectionsToAmendment" substitutionGroup="xbrli:item"/> |
| <element name="FourthamendedandrestatedcreditagreementMember" type="dtr-types:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="trex_FourthamendedandrestatedcreditagreementMember" substitutionGroup="xbrli:item"/> |
| <element name="AgreementAxis" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="trex_AgreementAxis" substitutionGroup="xbrldt:dimensionItem"/> |
| <element name="AgreementDomain" type="dtr-types:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="trex_AgreementDomain" substitutionGroup="xbrli:item"/> |
| <element name="FifthAmendmentAndRestatedAgreementMember" type="dtr-types:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="trex_FifthAmendmentAndRestatedAgreementMember" substitutionGroup="xbrli:item"/> |
| <element name="CreditFacilityOneAxis" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="trex_CreditFacilityOneAxis" substitutionGroup="xbrldt:dimensionItem"/> |
| <element name="CreditFacilityOneDomain" type="dtr-types:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="trex_CreditFacilityOneDomain" substitutionGroup="xbrli:item"/> |
| <element name="SwinglineLetterOfCreditMember" type="dtr-types:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="trex_SwinglineLetterOfCreditMember" substitutionGroup="xbrli:item"/> |
| <element name="SupplementalBalanceSheetInformationAbstract" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="trex_SupplementalBalanceSheetInformationAbstract" substitutionGroup="xbrli:item"/> |
| <element name="LesseeOperatingLeasesAccruedExpensesAndOtherCurrentLiabilities" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="instant" nillable="true" id="trex_LesseeOperatingLeasesAccruedExpensesAndOtherCurrentLiabilities" substitutionGroup="xbrli:item" xbrli:balance="credit"/> |
| <element name="StockRepurchaseProgramMember" type="dtr-types:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="trex_StockRepurchaseProgramMember" substitutionGroup="xbrli:item"/> |
| <element name="ComponentsOfBasicAndDilutedEarningPerShareTable" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="trex_ComponentsOfBasicAndDilutedEarningPerShareTable" substitutionGroup="xbrldt:hypercubeItem"/> |
| <element name="ComponentsOfBasicAndDilutedEarningPerShareLineItems" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="trex_ComponentsOfBasicAndDilutedEarningPerShareLineItems" substitutionGroup="xbrli:item"/> |
| <element name="StockAppreciationRightsMember" type="dtr-types:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="trex_StockAppreciationRightsMember" substitutionGroup="xbrli:item"/> |
| <element name="EmployeeStockPurchasePlanMember" type="dtr-types:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="trex_EmployeeStockPurchasePlanMember" substitutionGroup="xbrli:item"/> |
| <element name="TwoThousandFourteenStockIncentivePlanMember" type="dtr-types:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="trex_TwoThousandFourteenStockIncentivePlanMember" substitutionGroup="xbrli:item"/> |
| <element name="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionGrantsInPeriodWeightedAverageGrantDateFairValuePerPricingModel" type="dtr-types:perShareItemType" abstract="false" xbrli:periodType="duration" nillable="true" id="trex_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionGrantsInPeriodWeightedAverageGrantDateFairValuePerPricingModel" substitutionGroup="xbrli:item"/> |
| <element name="SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentageToTargetNumberOfShares" type="dtr-types:percentItemType" abstract="false" xbrli:periodType="duration" nillable="true" id="trex_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentageToTargetNumberOfShares" substitutionGroup="xbrli:item"/> |
| <element name="StockIssuedSharesEmployeeStockPurchasePlan" type="xbrli:sharesItemType" abstract="false" xbrli:periodType="duration" nillable="true" id="trex_StockIssuedSharesEmployeeStockPurchasePlan" substitutionGroup="xbrli:item"/> |
| <element name="PerformanceBasedRestrictedStockAndrestrictedStockunitsMember" type="dtr-types:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="trex_PerformanceBasedRestrictedStockAndrestrictedStockunitsMember" substitutionGroup="xbrli:item"/> |
| <element name="TimeBasedRestrictedStockandRestrictedstockUnitsMember" type="dtr-types:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="trex_TimeBasedRestrictedStockandRestrictedstockUnitsMember" substitutionGroup="xbrli:item"/> |
| <element name="ScheduleOfRestrictedStockActivityTable" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="trex_ScheduleOfRestrictedStockActivityTable" substitutionGroup="xbrldt:hypercubeItem"/> |
| <element name="ScheduleOfRestrictedStockActivityLineItems" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="trex_ScheduleOfRestrictedStockActivityLineItems" substitutionGroup="xbrli:item"/> |
| <element name="ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyTable" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="trex_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyTable" substitutionGroup="xbrldt:hypercubeItem"/> |
| <element name="ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyLineItems" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="trex_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyLineItems" substitutionGroup="xbrli:item"/> |
| <element name="ScheduleOfStockAppreciationRightsActivityTable" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="trex_ScheduleOfStockAppreciationRightsActivityTable" substitutionGroup="xbrldt:hypercubeItem"/> |
| <element name="ScheduleOfStockAppreciationRightsActivityLineItems" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="trex_ScheduleOfStockAppreciationRightsActivityLineItems" substitutionGroup="xbrli:item"/> |
| <element name="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsEquityInstrumentsGrantedWeightedAverageGrantPrice" type="dtr-types:perShareItemType" abstract="false" xbrli:periodType="duration" nillable="true" id="trex_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsEquityInstrumentsGrantedWeightedAverageGrantPrice" substitutionGroup="xbrli:item"/> |
| <element name="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsEquityInstrumentsOutstandingWeightedAverageGrantPrice" type="dtr-types:perShareItemType" abstract="false" xbrli:periodType="instant" nillable="true" id="trex_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsEquityInstrumentsOutstandingWeightedAverageGrantPrice" substitutionGroup="xbrli:item"/> |
| <element name="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsEquityInstrumentsVestedWeightedAverageGrantPrice" type="dtr-types:perShareItemType" abstract="false" xbrli:periodType="instant" nillable="true" id="trex_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsEquityInstrumentsVestedWeightedAverageGrantPrice" substitutionGroup="xbrli:item"/> |
| <element name="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsEquityInstrumentsCanceledWeightedAverageGrantPrice" type="dtr-types:perShareItemType" abstract="false" xbrli:periodType="duration" nillable="true" id="trex_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsEquityInstrumentsCanceledWeightedAverageGrantPrice" substitutionGroup="xbrli:item"/> |
| <element name="SharebasedCompensationArrangementByShareBasedPaymentAwardNonoptionEquityInstrumentsVested" type="xbrli:sharesItemType" abstract="false" xbrli:periodType="instant" nillable="true" id="trex_SharebasedCompensationArrangementByShareBasedPaymentAwardNonoptionEquityInstrumentsVested" substitutionGroup="xbrli:item"/> |
| <element name="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsEquityInstrumentsExercisedWeightedAverageGrantPrice" type="dtr-types:perShareItemType" abstract="false" xbrli:periodType="duration" nillable="true" id="trex_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsEquityInstrumentsExercisedWeightedAverageGrantPrice" substitutionGroup="xbrli:item"/> |
| <element name="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercisable" type="xbrli:sharesItemType" abstract="false" xbrli:periodType="instant" nillable="true" id="trex_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercisable" substitutionGroup="xbrli:item"/> |
| <element name="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsExercisableIntrinsicValue" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="instant" nillable="true" id="trex_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsExercisableIntrinsicValue" substitutionGroup="xbrli:item" xbrli:balance="debit"/> |
| <element name="SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsExercisableWeightedAverageRemainingContractualTerm" type="xbrli:durationItemType" abstract="false" xbrli:periodType="duration" nillable="true" id="trex_SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsExercisableWeightedAverageRemainingContractualTerm" substitutionGroup="xbrli:item"/> |
| <element name="SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm" type="xbrli:durationItemType" abstract="false" xbrli:periodType="duration" nillable="true" id="trex_SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm" substitutionGroup="xbrli:item"/> |
| <element name="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsEquityInstrumentsExercisableWeightedAverageGrantPrice" type="dtr-types:perShareItemType" abstract="false" xbrli:periodType="instant" nillable="true" id="trex_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsEquityInstrumentsExercisableWeightedAverageGrantPrice" substitutionGroup="xbrli:item"/> |
| <element name="DeferredTaxLiabilitiesDepreciation" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="instant" nillable="true" id="trex_DeferredTaxLiabilitiesDepreciation" substitutionGroup="xbrli:item" xbrli:balance="credit"/> |
| <element name="DeferredTaxLiabilitiesGoodwillAmortization" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="instant" nillable="true" id="trex_DeferredTaxLiabilitiesGoodwillAmortization" substitutionGroup="xbrli:item" xbrli:balance="credit"/> |
| <element name="DeferredTaxLiabilitiesInventoriesAndOther" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="instant" nillable="true" id="trex_DeferredTaxLiabilitiesInventoriesAndOther" substitutionGroup="xbrli:item" xbrli:balance="credit"/> |
| <element name="DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="instant" nillable="true" id="trex_DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets" substitutionGroup="xbrli:item" xbrli:balance="credit"/> |
| <element name="DeferredTaxAssetsOperatingLeaseLiabilities" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="instant" nillable="true" id="trex_DeferredTaxAssetsOperatingLeaseLiabilities" substitutionGroup="xbrli:item" xbrli:balance="debit"/> |
| <element name="DeferredTaxAssetsGoodwillAmortization" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="instant" nillable="true" id="trex_DeferredTaxAssetsGoodwillAmortization" substitutionGroup="xbrli:item" xbrli:balance="debit"/> |
| <element name="DeferredTaxAssetsTaxCutAndJobsActCapitalizationOfResearchAndDevelopmentCosts" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="instant" nillable="true" id="trex_DeferredTaxAssetsTaxCutAndJobsActCapitalizationOfResearchAndDevelopmentCosts" substitutionGroup="xbrli:item" xbrli:balance="debit"/> |
| <element name="UnrecognizedTaxBenefitsNumberOfTaxMattersIdentified" type="xbrli:integerItemType" abstract="false" xbrli:periodType="duration" nillable="true" id="trex_UnrecognizedTaxBenefitsNumberOfTaxMattersIdentified" substitutionGroup="xbrli:item"/> |
| <element name="NumberOfSalesRetailers" type="xbrli:integerItemType" abstract="false" xbrli:periodType="duration" nillable="true" id="trex_NumberOfSalesRetailers" substitutionGroup="xbrli:item"/> |
| <element name="CapitalExpenditure" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="duration" nillable="true" id="trex_CapitalExpenditure" substitutionGroup="xbrli:item" xbrli:balance="credit"/> |
| <element name="EBITDA" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="duration" nillable="true" id="trex_EBITDA" substitutionGroup="xbrli:item" xbrli:balance="credit"/> |
| <element name="ScheduleOfCommitmentsAndContingenciesTable" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="trex_ScheduleOfCommitmentsAndContingenciesTable" substitutionGroup="xbrldt:hypercubeItem"/> |
| <element name="ResidentialAndCommercialUseMember" type="dtr-types:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="trex_ResidentialAndCommercialUseMember" substitutionGroup="xbrli:item"/> |
| <element name="ScheduleOfCommitmentsAndContingenciesLineItems" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="trex_ScheduleOfCommitmentsAndContingenciesLineItems" substitutionGroup="xbrli:item"/> |
| <element name="AveragePeriodForPeMaterialPurchasesUnderShortTermSupplyContractsForWhichPricingIsNegotiatedAsNeeded" type="xbrli:durationItemType" abstract="false" xbrli:periodType="duration" nillable="true" id="trex_AveragePeriodForPeMaterialPurchasesUnderShortTermSupplyContractsForWhichPricingIsNegotiatedAsNeeded" substitutionGroup="xbrli:item"/> |
| <element name="PercentSensitivityChangeInExpectedSurfaceFlakingClaims" type="dtr-types:percentItemType" abstract="false" xbrli:periodType="duration" nillable="true" id="trex_PercentSensitivityChangeInExpectedSurfaceFlakingClaims" substitutionGroup="xbrli:item"/> |
| <element name="SensitivityChangeInSurfaceFlakingWarrantyReserve" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="instant" nillable="true" id="trex_SensitivityChangeInSurfaceFlakingWarrantyReserve" substitutionGroup="xbrli:item" xbrli:balance="credit"/> |
| <element name="RawMaterialSupplyContractsMember" type="dtr-types:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="trex_RawMaterialSupplyContractsMember" substitutionGroup="xbrli:item"/> |
| <element name="SurfaceFlakingWarrantyReserveMember" type="dtr-types:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="trex_SurfaceFlakingWarrantyReserveMember" substitutionGroup="xbrli:item"/> |
| <element name="ProductsSoldOnOrAfterJanuaryOneTwoThousandAndTwentyThreeMember" type="dtr-types:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="trex_ProductsSoldOnOrAfterJanuaryOneTwoThousandAndTwentyThreeMember" substitutionGroup="xbrli:item"/> |
| <element name="ProductsSoldPriorToJanuaryOneTwoThousandAndTwentyThreeMember" type="dtr-types:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="trex_ProductsSoldPriorToJanuaryOneTwoThousandAndTwentyThreeMember" substitutionGroup="xbrli:item"/> |
| <element name="SurfaceFlakingMember" type="dtr-types:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="trex_SurfaceFlakingMember" substitutionGroup="xbrli:item"/> |
| <element name="OtherResidentialMember" type="dtr-types:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="trex_OtherResidentialMember" substitutionGroup="xbrli:item"/> |
| </schema> |