<?xml version="1.0" encoding="utf-8"?>
<FilingSummary xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <Version>2.4.0.8</Version>
  <ProcessingTime />
  <ReportFormat>Html</ReportFormat>
  <ContextCount>82</ContextCount>
  <ElementCount>241</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>false</FootnotesReported>
  <SegmentCount>25</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>8</UnitCount>
  <MyReports>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R1.htm</HtmlFileName>
      <LongName>101 - Document - Document and Entity Information</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.nwpipe.com/taxonomy/role/DocumentandEntityInformation</Role>
      <ShortName>Document and Entity Information</ShortName>
    </Report>
    <Report>
      <IsDefault>true</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R2.htm</HtmlFileName>
      <LongName>103 - Statement - Condensed Consolidated Balance Sheets (Unaudited)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.nwpipe.com/taxonomy/role/StatementOfFinancialPositionClassified</Role>
      <ShortName>Condensed Consolidated Balance Sheets (Unaudited)</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R3.htm</HtmlFileName>
      <LongName>104 - Statement - Condensed Consolidated Balance Sheets (Unaudited) (Parenthetical)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.nwpipe.com/taxonomy/role/StatementOfFinancialPositionClassifiedParenthetical</Role>
      <ShortName>Condensed Consolidated Balance Sheets (Unaudited) (Parenthetical)</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R4.htm</HtmlFileName>
      <LongName>105 - Statement - Condensed Consolidated Statements of Operations (Unaudited)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.nwpipe.com/taxonomy/role/StatementOfIncome</Role>
      <ShortName>Condensed Consolidated Statements of Operations (Unaudited)</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R5.htm</HtmlFileName>
      <LongName>106 - Statement - Condensed Consolidated Statements of Comprehensive Income (Loss) (Unaudited)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.nwpipe.com/taxonomy/role/StatementOfOtherComprehensiveIncome</Role>
      <ShortName>Condensed Consolidated Statements of Comprehensive Income (Loss) (Unaudited)</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R6.htm</HtmlFileName>
      <LongName>107 - Statement - Condensed Consolidated Statements of Cash Flows (Unaudited)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.nwpipe.com/taxonomy/role/StatementOfCashFlowsIndirect</Role>
      <ShortName>Condensed Consolidated Statements of Cash Flows (Unaudited)</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R7.htm</HtmlFileName>
      <LongName>108 - Disclosure - Basis of Presentation</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.nwpipe.com/taxonomy/role/NotesToFinancialStatementsOrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock</Role>
      <ShortName>Basis of Presentation</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R8.htm</HtmlFileName>
      <LongName>109 - Disclosure - Acquisitions and Disposals</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.nwpipe.com/taxonomy/role/NotesToFinancialStatementsMergersAcquisitionsAndDispositionsDisclosuresTextBlock</Role>
      <ShortName>Acquisitions and Disposals</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R9.htm</HtmlFileName>
      <LongName>110 - Disclosure - Inventories</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.nwpipe.com/taxonomy/role/NotesToFinancialStatementsInventoryDisclosureTextBlock</Role>
      <ShortName>Inventories</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R10.htm</HtmlFileName>
      <LongName>111 - Disclosure - Fair Value Measurements</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.nwpipe.com/taxonomy/role/NotesToFinancialStatementsFairValueDisclosuresTextBlock</Role>
      <ShortName>Fair Value Measurements</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R11.htm</HtmlFileName>
      <LongName>112 - Disclosure - Derivative Instruments and Hedging Activities</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.nwpipe.com/taxonomy/role/NotesToFinancialStatementsDerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock</Role>
      <ShortName>Derivative Instruments and Hedging Activities</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R12.htm</HtmlFileName>
      <LongName>113 - Disclosure - Commitments and Contingencies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.nwpipe.com/taxonomy/role/NotesToFinancialStatementsCommitmentsAndContingenciesDisclosureTextBlock</Role>
      <ShortName>Commitments and Contingencies</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R13.htm</HtmlFileName>
      <LongName>114 - Disclosure - Segment Information</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.nwpipe.com/taxonomy/role/NotesToFinancialStatementsSegmentReportingDisclosureTextBlock</Role>
      <ShortName>Segment Information</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R14.htm</HtmlFileName>
      <LongName>115 - Disclosure - Share-based Compensation</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.nwpipe.com/taxonomy/role/NotesToFinancialStatementsDisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock</Role>
      <ShortName>Share-based Compensation</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R15.htm</HtmlFileName>
      <LongName>116 - Disclosure - Income Taxes</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.nwpipe.com/taxonomy/role/NotesToFinancialStatementsIncomeTaxDisclosureTextBlock</Role>
      <ShortName>Income Taxes</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R16.htm</HtmlFileName>
      <LongName>117 - Disclosure - Earnings per Share</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.nwpipe.com/taxonomy/role/NotesToFinancialStatementsEarningsPerShareTextBlock</Role>
      <ShortName>Earnings per Share</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R17.htm</HtmlFileName>
      <LongName>118 - Disclosure - Accumulated Other Comprehensive Income (Loss)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.nwpipe.com/taxonomy/role/NotesToFinancialStatementsComprehensiveIncomeNoteTextBlock</Role>
      <ShortName>Accumulated Other Comprehensive Income (Loss)</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R18.htm</HtmlFileName>
      <LongName>119 - Disclosure - Recent Accounting and Reporting Developments</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.nwpipe.com/taxonomy/role/NotesToFinancialStatementsNewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock</Role>
      <ShortName>Recent Accounting and Reporting Developments</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R19.htm</HtmlFileName>
      <LongName>120 - Disclosure - Basis of Presentation (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.nwpipe.com/taxonomy/role/NotesToFinancialStatementsOrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlockPolicies</Role>
      <ShortName>Basis of Presentation (Policies)</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R20.htm</HtmlFileName>
      <LongName>121 - Disclosure - Basis of Presentation (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.nwpipe.com/taxonomy/role/NotesToFinancialStatementsOrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlockTables</Role>
      <ShortName>Basis of Presentation (Tables)</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R21.htm</HtmlFileName>
      <LongName>122 - Disclosure - Acquisitions and Disposals (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.nwpipe.com/taxonomy/role/NotesToFinancialStatementsMergersAcquisitionsAndDispositionsDisclosuresTextBlockTables</Role>
      <ShortName>Acquisitions and Disposals (Tables)</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R22.htm</HtmlFileName>
      <LongName>123 - Disclosure - Inventories (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.nwpipe.com/taxonomy/role/NotesToFinancialStatementsInventoryDisclosureTextBlockTables</Role>
      <ShortName>Inventories (Tables)</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R23.htm</HtmlFileName>
      <LongName>124 - Disclosure - Fair Value Measurements (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.nwpipe.com/taxonomy/role/NotesToFinancialStatementsFairValueDisclosuresTextBlockTables</Role>
      <ShortName>Fair Value Measurements (Tables)</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R24.htm</HtmlFileName>
      <LongName>125 - Disclosure - Segment Information (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.nwpipe.com/taxonomy/role/NotesToFinancialStatementsSegmentReportingDisclosureTextBlockTables</Role>
      <ShortName>Segment Information (Tables)</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R25.htm</HtmlFileName>
      <LongName>126 - Disclosure - Share-based Compensation (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.nwpipe.com/taxonomy/role/NotesToFinancialStatementsDisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlockTables</Role>
      <ShortName>Share-based Compensation (Tables)</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R26.htm</HtmlFileName>
      <LongName>127 - Disclosure - Earnings per Share (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.nwpipe.com/taxonomy/role/NotesToFinancialStatementsEarningsPerShareTextBlockTables</Role>
      <ShortName>Earnings per Share (Tables)</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R27.htm</HtmlFileName>
      <LongName>128 - Disclosure - Accumulated Other Comprehensive Income (Loss) (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.nwpipe.com/taxonomy/role/NotesToFinancialStatementsComprehensiveIncomeNoteTextBlockTables</Role>
      <ShortName>Accumulated Other Comprehensive Income (Loss) (Tables)</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R28.htm</HtmlFileName>
      <LongName>129 - Disclosure - Basis of Presentation - Additional Information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.nwpipe.com/taxonomy/role/DisclosureBasisOfPresentationAdditionalInformation</Role>
      <ShortName>Basis of Presentation - Additional Information (Detail)</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R29.htm</HtmlFileName>
      <LongName>130 - Disclosure - Basis of Presentation - Schedule of Condensed Consolidated Statement of Operations (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.nwpipe.com/taxonomy/role/DisclosureBasisOfPresentationScheduleOfCondensedConsolidatedStatementOfOperations</Role>
      <ShortName>Basis of Presentation - Schedule of Condensed Consolidated Statement of Operations (Detail)</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R30.htm</HtmlFileName>
      <LongName>131 - Disclosure - Basis of Presentation - Schedule of Condensed Consolidated Balance Sheet (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.nwpipe.com/taxonomy/role/DisclosureBasisOfPresentationScheduleOfCondensedConsolidatedBalanceSheet</Role>
      <ShortName>Basis of Presentation - Schedule of Condensed Consolidated Balance Sheet (Detail)</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R31.htm</HtmlFileName>
      <LongName>132 - Disclosure - Basis of Presentation - Schedule of Condensed Consolidated Statement of Cash Flows (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.nwpipe.com/taxonomy/role/DisclosureBasisOfPresentationScheduleOfCondensedConsolidatedStatementOfCashFlows</Role>
      <ShortName>Basis of Presentation - Schedule of Condensed Consolidated Statement of Cash Flows (Detail)</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R32.htm</HtmlFileName>
      <LongName>133 - Disclosure - Acquisitions and Disposals - Additional Information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.nwpipe.com/taxonomy/role/DisclosureAcquisitionsAndDisposalsAdditionalInformation</Role>
      <ShortName>Acquisitions and Disposals - Additional Information (Detail)</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R33.htm</HtmlFileName>
      <LongName>134 - Disclosure - Acquisitions and Disposals - Summary of Components of Balance Sheet Accounts Classified as Assets and Liabilities of Discontinued Operations (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.nwpipe.com/taxonomy/role/DisclosureAcquisitionsAndDisposalsSummaryOfComponentsOfBalanceSheetAccountsClassifiedAsAssetsAndLiabilitiesOfDiscontinuedOperations</Role>
      <ShortName>Acquisitions and Disposals - Summary of Components of Balance Sheet Accounts Classified as Assets and Liabilities of Discontinued Operations (Detail)</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R34.htm</HtmlFileName>
      <LongName>135 - Disclosure - Acquisitions and Disposals - Summary of Operating Results for Company's Discontinued Operations (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.nwpipe.com/taxonomy/role/DisclosureAcquisitionsAndDisposalsSummaryOfOperatingResultsForCompanysDiscontinuedOperations</Role>
      <ShortName>Acquisitions and Disposals - Summary of Operating Results for Company's Discontinued Operations (Detail)</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R35.htm</HtmlFileName>
      <LongName>136 - Disclosure - Inventories - Components of Inventories (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.nwpipe.com/taxonomy/role/DisclosureInventoriesComponentsOfInventories</Role>
      <ShortName>Inventories - Components of Inventories (Detail)</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R36.htm</HtmlFileName>
      <LongName>137 - Disclosure - Fair Value Measurements - Assets and Liabilities Measured at Fair Value on Recurring Basis (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.nwpipe.com/taxonomy/role/DisclosureFairValueMeasurementsAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasis</Role>
      <ShortName>Fair Value Measurements - Assets and Liabilities Measured at Fair Value on Recurring Basis (Detail)</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R37.htm</HtmlFileName>
      <LongName>138 - Disclosure - Fair Value Measurements - Additional Information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.nwpipe.com/taxonomy/role/DisclosureFairValueMeasurementsAdditionalInformation</Role>
      <ShortName>Fair Value Measurements - Additional Information (Detail)</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R38.htm</HtmlFileName>
      <LongName>139 - Disclosure - Derivative Instruments and Hedging Activities - Additional Information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.nwpipe.com/taxonomy/role/DisclosureDerivativeInstrumentsAndHedgingActivitiesAdditionalInformation</Role>
      <ShortName>Derivative Instruments and Hedging Activities - Additional Information (Detail)</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R39.htm</HtmlFileName>
      <LongName>140 - Disclosure - Commitments and Contingencies - Additional Information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.nwpipe.com/taxonomy/role/DisclosureCommitmentsAndContingenciesAdditionalInformation</Role>
      <ShortName>Commitments and Contingencies - Additional Information (Detail)</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R40.htm</HtmlFileName>
      <LongName>141 - Disclosure - Segment Information - Additional Information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.nwpipe.com/taxonomy/role/DisclosureSegmentInformationAdditionalInformation</Role>
      <ShortName>Segment Information - Additional Information (Detail)</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R41.htm</HtmlFileName>
      <LongName>142 - Disclosure - Segment Information - Segment Information Report of Statements of Operations (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.nwpipe.com/taxonomy/role/DisclosureSegmentInformationSegmentInformationReportOfStatementsOfOperations</Role>
      <ShortName>Segment Information - Segment Information Report of Statements of Operations (Detail)</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R42.htm</HtmlFileName>
      <LongName>143 - Disclosure - Share-based Compensation - Additional Information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.nwpipe.com/taxonomy/role/DisclosureSharebasedCompensationAdditionalInformation</Role>
      <ShortName>Share-based Compensation - Additional Information (Detail)</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R43.htm</HtmlFileName>
      <LongName>144 - Disclosure - Share-based Compensation - Summary of Share-based Compensation Expense (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.nwpipe.com/taxonomy/role/DisclosureSharebasedCompensationSummaryOfSharebasedCompensationExpense</Role>
      <ShortName>Share-based Compensation - Summary of Share-based Compensation Expense (Detail)</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R44.htm</HtmlFileName>
      <LongName>145 - Disclosure - Share-based Compensation - Summary of Status of Company's Stock Options (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.nwpipe.com/taxonomy/role/DisclosureSharebasedCompensationSummaryOfStatusOfCompanysStockOptions</Role>
      <ShortName>Share-based Compensation - Summary of Status of Company's Stock Options (Detail)</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R45.htm</HtmlFileName>
      <LongName>146 - Disclosure - Share-based Compensation - Summary of Status of Company's RSUs and PSAs (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.nwpipe.com/taxonomy/role/DisclosureSharebasedCompensationSummaryOfStatusOfCompanysRSUsAndPSAs</Role>
      <ShortName>Share-based Compensation - Summary of Status of Company's RSUs and PSAs (Detail)</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R46.htm</HtmlFileName>
      <LongName>147 - Disclosure - Income Taxes - Additional Information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.nwpipe.com/taxonomy/role/DisclosureIncomeTaxesAdditionalInformation</Role>
      <ShortName>Income Taxes - Additional Information (Detail)</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R47.htm</HtmlFileName>
      <LongName>148 - Disclosure - Earnings per Share - Earnings per Basic and Diluted Weighted Average Common Share Outstanding for Continuing and Discontinued Operations (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.nwpipe.com/taxonomy/role/DisclosureEarningsPerShareEarningsPerBasicAndDilutedWeightedAverageCommonShareOutstandingForContinuingAndDiscontinuedOperations</Role>
      <ShortName>Earnings per Share - Earnings per Basic and Diluted Weighted Average Common Share Outstanding for Continuing and Discontinued Operations (Detail)</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R48.htm</HtmlFileName>
      <LongName>149 - Disclosure - Accumulated Other Comprehensive Income (Loss) - Schedule of Components of Accumulated Other Comprehensive Income (Loss) (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.nwpipe.com/taxonomy/role/DisclosureAccumulatedOtherComprehensiveIncomeLossScheduleOfComponentsOfAccumulatedOtherComprehensiveIncomeLoss</Role>
      <ShortName>Accumulated Other Comprehensive Income (Loss) - Schedule of Components of Accumulated Other Comprehensive Income (Loss) (Detail)</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R49.htm</HtmlFileName>
      <LongName>150 - Disclosure - Accumulated Other Comprehensive Income (Loss) - Schedule of Reclassifications of Accumulated Other Comprehensive Income (Loss) (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.nwpipe.com/taxonomy/role/DisclosureAccumulatedOtherComprehensiveIncomeLossScheduleOfReclassificationsOfAccumulatedOtherComprehensiveIncomeLoss</Role>
      <ShortName>Accumulated Other Comprehensive Income (Loss) - Schedule of Reclassifications of Accumulated Other Comprehensive Income (Loss) (Detail)</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <LongName>All Reports</LongName>
      <ReportType>Book</ReportType>
      <ShortName>All Reports</ShortName>
    </Report>
  </MyReports>
  <Logs>
    <Log type="Info">Element nwpx_EstimatedCostOfEpaSelectedRemedy had a mix of decimals attribute values: -7 -6.</Log>
    <Log type="Info">Element us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1 had a mix of decimals attribute values: -5 -3.</Log>
    <Log type="Info">Element us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax had a mix of decimals attribute values: -5 -3.</Log>
    <Log type="Info">Element us-gaap_ProceedsFromDivestitureOfBusinesses had a mix of decimals attribute values: -5 -3.</Log>
    <Log type="Info">'Monetary' elements on report '133 - Disclosure - Acquisitions and Disposals - Additional Information (Detail)' had a mix of different decimal attribute values.</Log>
    <Log type="Info">'Monetary' elements on report '139 - Disclosure - Derivative Instruments and Hedging Activities - Additional Information (Detail)' had a mix of different decimal attribute values.</Log>
    <Log type="Info">Process Flow-Through: 103 - Statement - Condensed Consolidated Balance Sheets (Unaudited)</Log>
    <Log type="Info">	Process Flow-Through: Removing column 'Mar. 31, 2014'</Log>
    <Log type="Info">	Process Flow-Through: Removing column 'Jun. 30, 2013'</Log>
    <Log type="Info">	Process Flow-Through: Removing column 'Dec. 31, 2012'</Log>
    <Log type="Info">Process Flow-Through: 104 - Statement - Condensed Consolidated Balance Sheets (Unaudited) (Parenthetical)</Log>
    <Log type="Info">Process Flow-Through: 105 - Statement - Condensed Consolidated Statements of Operations (Unaudited)</Log>
    <Log type="Info">	Process Flow-Through: Removing column '3 Months Ended
Mar. 31, 2014'</Log>
    <Log type="Info">Process Flow-Through: 106 - Statement - Condensed Consolidated Statements of Comprehensive Income (Loss) (Unaudited)</Log>
    <Log type="Info">	Process Flow-Through: Removing column '3 Months Ended
Mar. 31, 2014'</Log>
    <Log type="Info">Process Flow-Through: 107 - Statement - Condensed Consolidated Statements of Cash Flows (Unaudited)</Log>
  </Logs>
  <InputFiles>
    <File>nwpx-20140630.xml</File>
    <File>nwpx-20140630.xsd</File>
    <File>nwpx-20140630_cal.xml</File>
    <File>nwpx-20140630_def.xml</File>
    <File>nwpx-20140630_lab.xml</File>
    <File>nwpx-20140630_pre.xml</File>
  </InputFiles>
  <SupplementalFiles />
  <BaseTaxonomies />
  <HasPresentationLinkbase>true</HasPresentationLinkbase>
  <HasCalculationLinkbase>true</HasCalculationLinkbase>
</FilingSummary>
