<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.20.1</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>3</ContextCount>
  <ElementCount>95</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>false</FootnotesReported>
  <SegmentCount>0</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>2</UnitCount>
  <MyReports>
    <Report instance="nvee-20191228x10ka.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R1.htm</HtmlFileName>
      <LongName>0001000 - Document - Cover Page</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.nv5.com/role/CoverPage</Role>
      <ShortName>Cover Page</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>1</Position>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <LongName>All Reports</LongName>
      <ReportType>Book</ReportType>
      <ShortName>All Reports</ShortName>
    </Report>
  </MyReports>
  <InputFiles>
    <File doctype="10-K/A" original="nvee-20191228x10ka.htm">nvee-20191228x10ka.htm</File>
    <File>nvee-20191228.xsd</File>
    <File>nvee-20191228_cal.xml</File>
    <File>nvee-20191228_def.xml</File>
    <File>nvee-20191228_lab.xml</File>
    <File>nvee-20191228_pre.xml</File>
    <File>nvee-20191228x313kaxex3.htm</File>
    <File>nvee-20191228x314kaxex3.htm</File>
  </InputFiles>
  <SupplementalFiles>
    <File>chart-23356e0b65d7abcfc5d.jpg</File>
    <File>chart-aee9717233b75f16189.jpg</File>
    <File>chart-bffd586da0fdfb5cbfd.jpg</File>
  </SupplementalFiles>
  <BaseTaxonomies>
    <BaseTaxonomy>http://xbrl.sec.gov/dei/2019-01-31</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>true</HasPresentationLinkbase>
  <HasCalculationLinkbase>true</HasCalculationLinkbase>
</FilingSummary>
