<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:dei="http://xbrl.sec.gov/dei/2025"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:xlink="http://www.w3.org/1999/xlink">
    <link:schemaRef xlink:href="ceco-20260810.xsd" xlink:type="simple"/>
    <context id="C_367b8f1d-529b-49a6-b5e9-8805a22a0af1">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000003197</identifier>
        </entity>
        <period>
            <startDate>2026-08-10</startDate>
            <endDate>2026-08-10</endDate>
        </period>
    </context>
    <dei:AmendmentFlag
      contextRef="C_367b8f1d-529b-49a6-b5e9-8805a22a0af1"
      id="F_7666234f-5f41-46b1-889e-d2245b2f9dd0">false</dei:AmendmentFlag>
    <dei:EntityCentralIndexKey
      contextRef="C_367b8f1d-529b-49a6-b5e9-8805a22a0af1"
      id="F_2c0a462d-1d53-4580-ac57-6b9986fa374a">0000003197</dei:EntityCentralIndexKey>
    <dei:DocumentType
      contextRef="C_367b8f1d-529b-49a6-b5e9-8805a22a0af1"
      id="F_31ed995e-819f-4f55-9ffc-de62608a6a11">8-K</dei:DocumentType>
    <dei:DocumentPeriodEndDate
      contextRef="C_367b8f1d-529b-49a6-b5e9-8805a22a0af1"
      id="F_e8fd0c8a-53d4-4e8f-abf9-a12b7d0732dd">2026-08-10</dei:DocumentPeriodEndDate>
    <dei:EntityRegistrantName
      contextRef="C_367b8f1d-529b-49a6-b5e9-8805a22a0af1"
      id="F_a608a581-1a30-4281-8833-62609d7c3605">CECO ENVIRONMENTAL CORP.</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode
      contextRef="C_367b8f1d-529b-49a6-b5e9-8805a22a0af1"
      id="F_57f6b193-a9f5-4cea-9e61-21edea30df3c">DE</dei:EntityIncorporationStateCountryCode>
    <dei:EntityFileNumber
      contextRef="C_367b8f1d-529b-49a6-b5e9-8805a22a0af1"
      id="F_7f4286d2-f558-4488-ac2f-0375615a8b0f">000-7099</dei:EntityFileNumber>
    <dei:EntityTaxIdentificationNumber
      contextRef="C_367b8f1d-529b-49a6-b5e9-8805a22a0af1"
      id="F_abc5b38f-7dbd-43b0-8c09-a8340a78a01d">13-2566064</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1
      contextRef="C_367b8f1d-529b-49a6-b5e9-8805a22a0af1"
      id="F_0791dae4-8577-4842-90c7-f248090350aa">5080 Spectrum Drive</dei:EntityAddressAddressLine1>
    <dei:EntityAddressAddressLine2
      contextRef="C_367b8f1d-529b-49a6-b5e9-8805a22a0af1"
      id="F_1859d7f5-7c17-41cb-9055-42810f0f8ed6">East Tower</dei:EntityAddressAddressLine2>
    <dei:EntityAddressAddressLine3
      contextRef="C_367b8f1d-529b-49a6-b5e9-8805a22a0af1"
      id="F_2edc9078-fde0-4377-8ba5-324666cb95a0">Suite 800E</dei:EntityAddressAddressLine3>
    <dei:EntityAddressCityOrTown
      contextRef="C_367b8f1d-529b-49a6-b5e9-8805a22a0af1"
      id="F_66b0e315-99bb-47ba-9997-ddb06fa95c6f"> Addison</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince
      contextRef="C_367b8f1d-529b-49a6-b5e9-8805a22a0af1"
      id="F_9064a03c-9d55-4e1b-8ace-b97cee23c0e2">TX</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode
      contextRef="C_367b8f1d-529b-49a6-b5e9-8805a22a0af1"
      id="F_633887fd-a8d5-4c8e-b1a1-3f6d3e508b6e">75001</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode
      contextRef="C_367b8f1d-529b-49a6-b5e9-8805a22a0af1"
      id="F_6489eeae-f49d-4d01-aab4-d5c089feab61">214</dei:CityAreaCode>
    <dei:LocalPhoneNumber
      contextRef="C_367b8f1d-529b-49a6-b5e9-8805a22a0af1"
      id="F_7a49448d-7568-4b10-9270-c5297e9bda58">357-6181</dei:LocalPhoneNumber>
    <dei:WrittenCommunications
      contextRef="C_367b8f1d-529b-49a6-b5e9-8805a22a0af1"
      id="F_8cbf5674-2636-417f-b109-0b1dcc6eedb2">false</dei:WrittenCommunications>
    <dei:SolicitingMaterial
      contextRef="C_367b8f1d-529b-49a6-b5e9-8805a22a0af1"
      id="F_c603b633-0f41-444b-977b-48edca902572">false</dei:SolicitingMaterial>
    <dei:PreCommencementTenderOffer
      contextRef="C_367b8f1d-529b-49a6-b5e9-8805a22a0af1"
      id="F_7d9a6758-8cca-40fc-bee0-c1e2661a2e1b">false</dei:PreCommencementTenderOffer>
    <dei:PreCommencementIssuerTenderOffer
      contextRef="C_367b8f1d-529b-49a6-b5e9-8805a22a0af1"
      id="F_fa011077-af0d-46a3-b099-e77b5195714b">false</dei:PreCommencementIssuerTenderOffer>
    <dei:Security12bTitle
      contextRef="C_367b8f1d-529b-49a6-b5e9-8805a22a0af1"
      id="F_66cf8c2d-ebbd-45c5-ba41-b35cd4ba63a4">Common Stock, par value $0.01 per share</dei:Security12bTitle>
    <dei:TradingSymbol
      contextRef="C_367b8f1d-529b-49a6-b5e9-8805a22a0af1"
      id="F_d363f43d-7db1-494a-8802-160b79e2e8ef">CECO</dei:TradingSymbol>
    <dei:SecurityExchangeName
      contextRef="C_367b8f1d-529b-49a6-b5e9-8805a22a0af1"
      id="F_caf0c38d-b22a-4fc2-8344-10afd4d03222">NASDAQ</dei:SecurityExchangeName>
    <dei:EntityEmergingGrowthCompany
      contextRef="C_367b8f1d-529b-49a6-b5e9-8805a22a0af1"
      id="F_755df304-5ac5-45b4-8230-e5ed64f0ba1c">false</dei:EntityEmergingGrowthCompany>
</xbrl>
