<?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-20250116.xsd" xlink:type="simple"/>
    <context id="C_6f8e9c0c-30b8-4760-80d4-369000405708">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000003197</identifier>
        </entity>
        <period>
            <startDate>2025-01-16</startDate>
            <endDate>2025-01-16</endDate>
        </period>
    </context>
    <dei:EntityCentralIndexKey
      contextRef="C_6f8e9c0c-30b8-4760-80d4-369000405708"
      id="F_09b96a0b-3583-4ad5-b8be-b9f574ef41ab">0000003197</dei:EntityCentralIndexKey>
    <dei:AmendmentFlag
      contextRef="C_6f8e9c0c-30b8-4760-80d4-369000405708"
      id="F_c4e905de-4c38-4f0a-95c6-91da24a087d9">false</dei:AmendmentFlag>
    <dei:DocumentType
      contextRef="C_6f8e9c0c-30b8-4760-80d4-369000405708"
      id="F_18cf86e7-cf37-483a-80a6-f123f2737d69">8-K</dei:DocumentType>
    <dei:DocumentPeriodEndDate
      contextRef="C_6f8e9c0c-30b8-4760-80d4-369000405708"
      id="F_3f0b02f5-9e75-48cd-aea4-a6c924a12b66">2025-01-16</dei:DocumentPeriodEndDate>
    <dei:EntityRegistrantName
      contextRef="C_6f8e9c0c-30b8-4760-80d4-369000405708"
      id="F_7b7f9342-22f7-4b9f-b620-b2618c7adbe0">CECO ENVIRONMENTAL CORP.</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode
      contextRef="C_6f8e9c0c-30b8-4760-80d4-369000405708"
      id="F_fe5edcd2-76e7-4cdd-b8a3-daaa2a5f2d14">DE</dei:EntityIncorporationStateCountryCode>
    <dei:EntityFileNumber
      contextRef="C_6f8e9c0c-30b8-4760-80d4-369000405708"
      id="F_0bb8137d-fe84-4aed-b7a1-851a0948fe74">000-7099</dei:EntityFileNumber>
    <dei:EntityTaxIdentificationNumber
      contextRef="C_6f8e9c0c-30b8-4760-80d4-369000405708"
      id="F_b916424b-d2a3-49c1-94bb-f6e39f2acdb8">13-2566064</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1
      contextRef="C_6f8e9c0c-30b8-4760-80d4-369000405708"
      id="F_1cb52d4a-1155-43f6-9f31-8e63e85c6063">5080 Spectrum Drive</dei:EntityAddressAddressLine1>
    <dei:EntityAddressAddressLine2
      contextRef="C_6f8e9c0c-30b8-4760-80d4-369000405708"
      id="F_6615855e-20d7-44bd-9742-71f8a9b1b58a">East Tower</dei:EntityAddressAddressLine2>
    <dei:EntityAddressAddressLine3
      contextRef="C_6f8e9c0c-30b8-4760-80d4-369000405708"
      id="F_db83101e-7ebe-4d53-a712-77d359f49d23">Suite 800E</dei:EntityAddressAddressLine3>
    <dei:EntityAddressCityOrTown
      contextRef="C_6f8e9c0c-30b8-4760-80d4-369000405708"
      id="F_859b50d8-fab1-424b-a306-ce04f21496a8"> Addison</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince
      contextRef="C_6f8e9c0c-30b8-4760-80d4-369000405708"
      id="F_149712c7-2a6c-4d2e-8e09-1b920ecda38c">TX</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode
      contextRef="C_6f8e9c0c-30b8-4760-80d4-369000405708"
      id="F_8dae3197-8ae5-42e9-9693-650bc8a716a2">75001</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode
      contextRef="C_6f8e9c0c-30b8-4760-80d4-369000405708"
      id="F_7f0754f9-aba7-4f13-97ee-0dc8871e0195">214</dei:CityAreaCode>
    <dei:LocalPhoneNumber
      contextRef="C_6f8e9c0c-30b8-4760-80d4-369000405708"
      id="F_b9ea729e-5a3e-4b8e-b6ce-e15a52a56764">357-6181</dei:LocalPhoneNumber>
    <dei:WrittenCommunications
      contextRef="C_6f8e9c0c-30b8-4760-80d4-369000405708"
      id="F_44ecc023-46f0-424f-a091-57b56f7b26c4">false</dei:WrittenCommunications>
    <dei:SolicitingMaterial
      contextRef="C_6f8e9c0c-30b8-4760-80d4-369000405708"
      id="F_d755dc74-6f5f-4fb3-ac54-704b80ec2b0f">false</dei:SolicitingMaterial>
    <dei:PreCommencementTenderOffer
      contextRef="C_6f8e9c0c-30b8-4760-80d4-369000405708"
      id="F_29738bbb-c07a-4e7a-8c31-db3b2b197cc2">false</dei:PreCommencementTenderOffer>
    <dei:PreCommencementIssuerTenderOffer
      contextRef="C_6f8e9c0c-30b8-4760-80d4-369000405708"
      id="F_046186e1-3d02-4d68-92aa-7bf9994184e7">false</dei:PreCommencementIssuerTenderOffer>
    <dei:Security12bTitle
      contextRef="C_6f8e9c0c-30b8-4760-80d4-369000405708"
      id="F_5088bf03-f24e-4904-af1f-9555cf5c0971">Common Stock, par value $0.01 per share</dei:Security12bTitle>
    <dei:TradingSymbol
      contextRef="C_6f8e9c0c-30b8-4760-80d4-369000405708"
      id="F_904de8d0-a81f-464d-af81-dbd937439f3e">CECO</dei:TradingSymbol>
    <dei:SecurityExchangeName
      contextRef="C_6f8e9c0c-30b8-4760-80d4-369000405708"
      id="F_beb93b2d-c1d1-47d9-b8d9-911cb279cb86">NASDAQ</dei:SecurityExchangeName>
    <dei:EntityEmergingGrowthCompany
      contextRef="C_6f8e9c0c-30b8-4760-80d4-369000405708"
      id="F_0a4fca13-1b59-4394-a432-372e255d25bd">false</dei:EntityEmergingGrowthCompany>
</xbrl>
