<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:dei="http://xbrl.sec.gov/dei/2024"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:xlink="http://www.w3.org/1999/xlink">
    <link:schemaRef xlink:href="ceco-20250228.xsd" xlink:type="simple"/>
    <context id="C_42c2d657-370a-4355-ae85-47013c4935bb">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000003197</identifier>
        </entity>
        <period>
            <startDate>2025-02-28</startDate>
            <endDate>2025-02-28</endDate>
        </period>
    </context>
    <dei:EntityCentralIndexKey
      contextRef="C_42c2d657-370a-4355-ae85-47013c4935bb"
      id="F_6be48719-264e-4731-8a9a-a1238535dd08">0000003197</dei:EntityCentralIndexKey>
    <dei:AmendmentFlag
      contextRef="C_42c2d657-370a-4355-ae85-47013c4935bb"
      id="F_b0fdf3ad-e821-4351-96b6-144fd5c2a422">false</dei:AmendmentFlag>
    <dei:DocumentType
      contextRef="C_42c2d657-370a-4355-ae85-47013c4935bb"
      id="F_0ee59d07-35f5-455f-927a-161d549d478a">8-K</dei:DocumentType>
    <dei:DocumentPeriodEndDate
      contextRef="C_42c2d657-370a-4355-ae85-47013c4935bb"
      id="F_5c124ef7-986c-4752-947f-28549d32066c">2025-02-28</dei:DocumentPeriodEndDate>
    <dei:EntityRegistrantName
      contextRef="C_42c2d657-370a-4355-ae85-47013c4935bb"
      id="F_32d4bd39-6afc-4973-a285-b3bed8ca31ca">CECO ENVIRONMENTAL CORP.</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode
      contextRef="C_42c2d657-370a-4355-ae85-47013c4935bb"
      id="F_48464b31-c0d9-4def-ba51-2b2d6a0ff186">DE</dei:EntityIncorporationStateCountryCode>
    <dei:EntityFileNumber
      contextRef="C_42c2d657-370a-4355-ae85-47013c4935bb"
      id="F_41c85c67-c0aa-4e98-9f7a-2a302f3be54c">000-07099</dei:EntityFileNumber>
    <dei:EntityTaxIdentificationNumber
      contextRef="C_42c2d657-370a-4355-ae85-47013c4935bb"
      id="F_83a3cd5e-9043-4f75-af33-989d47abf6c7">13-2566064</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1
      contextRef="C_42c2d657-370a-4355-ae85-47013c4935bb"
      id="F_b822dc81-5b10-4348-9f68-4d8449316a22">5080 Spectrum Drive</dei:EntityAddressAddressLine1>
    <dei:EntityAddressAddressLine2
      contextRef="C_42c2d657-370a-4355-ae85-47013c4935bb"
      id="F_d3594c66-a3fd-4d13-818c-3e72d3d11bab">East Tower</dei:EntityAddressAddressLine2>
    <dei:EntityAddressAddressLine3
      contextRef="C_42c2d657-370a-4355-ae85-47013c4935bb"
      id="F_2283b081-08ca-451f-82ff-f24697797422">Suite 800E</dei:EntityAddressAddressLine3>
    <dei:EntityAddressCityOrTown
      contextRef="C_42c2d657-370a-4355-ae85-47013c4935bb"
      id="F_dc590f3a-ecb0-4e03-b262-fb36afbdf50c">Addison</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince
      contextRef="C_42c2d657-370a-4355-ae85-47013c4935bb"
      id="F_7fdc0fd0-3e42-4fa3-bbe5-ed9b05fed45f">TX</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode
      contextRef="C_42c2d657-370a-4355-ae85-47013c4935bb"
      id="F_7ae571ab-4854-4404-a236-ea2a9eb435f6">75001</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode
      contextRef="C_42c2d657-370a-4355-ae85-47013c4935bb"
      id="F_4e834a84-f863-4b24-ada2-7162cab8d46c">214</dei:CityAreaCode>
    <dei:LocalPhoneNumber
      contextRef="C_42c2d657-370a-4355-ae85-47013c4935bb"
      id="F_7cd4f18c-7254-4070-9ac4-dcbddd3a099e">357-6181</dei:LocalPhoneNumber>
    <dei:WrittenCommunications
      contextRef="C_42c2d657-370a-4355-ae85-47013c4935bb"
      id="F_ac023afa-86a9-489d-a410-620c18d20ee4">false</dei:WrittenCommunications>
    <dei:SolicitingMaterial
      contextRef="C_42c2d657-370a-4355-ae85-47013c4935bb"
      id="F_799617bd-9a09-4735-a3d2-00d79ebb8b9d">false</dei:SolicitingMaterial>
    <dei:PreCommencementTenderOffer
      contextRef="C_42c2d657-370a-4355-ae85-47013c4935bb"
      id="F_0c7c70bf-458a-47e2-9d9c-7bc1510075d0">false</dei:PreCommencementTenderOffer>
    <dei:PreCommencementIssuerTenderOffer
      contextRef="C_42c2d657-370a-4355-ae85-47013c4935bb"
      id="F_f5969072-5248-4ec3-ae6a-65d87f9874f9">false</dei:PreCommencementIssuerTenderOffer>
    <dei:Security12bTitle
      contextRef="C_42c2d657-370a-4355-ae85-47013c4935bb"
      id="F_ba7dbe62-8cb5-4df4-a530-7bc03c20976b">Common Stock, par value $0.01 per share</dei:Security12bTitle>
    <dei:TradingSymbol
      contextRef="C_42c2d657-370a-4355-ae85-47013c4935bb"
      id="F_8da3d014-57cb-48b8-9a7e-99eca16879f3">CECO</dei:TradingSymbol>
    <dei:SecurityExchangeName
      contextRef="C_42c2d657-370a-4355-ae85-47013c4935bb"
      id="F_123aeba9-5467-4acd-80e1-c0d53fa46a8d">NASDAQ</dei:SecurityExchangeName>
    <dei:EntityEmergingGrowthCompany
      contextRef="C_42c2d657-370a-4355-ae85-47013c4935bb"
      id="F_e03da5a3-a504-4529-b356-4930b39a222e">false</dei:EntityEmergingGrowthCompany>
</xbrl>
