<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xml:lang="en-US"
  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="ctos-20260310.xsd" xlink:type="simple"/>
    <context id="c-1">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001709682</identifier>
        </entity>
        <period>
            <startDate>2026-03-10</startDate>
            <endDate>2026-03-10</endDate>
        </period>
    </context>
    <dei:AmendmentFlag contextRef="c-1" id="f-21">false</dei:AmendmentFlag>
    <dei:EntityCentralIndexKey contextRef="c-1" id="f-22">0001709682</dei:EntityCentralIndexKey>
    <dei:DocumentType contextRef="c-1" id="f-1">8-K</dei:DocumentType>
    <dei:DocumentPeriodEndDate contextRef="c-1" id="f-2">2026-03-10</dei:DocumentPeriodEndDate>
    <dei:EntityRegistrantName contextRef="c-1" id="f-3">CUSTOM TRUCK ONE SOURCE, INC.</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode contextRef="c-1" id="f-4">DE</dei:EntityIncorporationStateCountryCode>
    <dei:EntityFileNumber contextRef="c-1" id="f-5">001-38186</dei:EntityFileNumber>
    <dei:EntityTaxIdentificationNumber contextRef="c-1" id="f-6">84-2531628</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1 contextRef="c-1" id="f-7">7701 Independence Avenue</dei:EntityAddressAddressLine1>
    <dei:EntityAddressCityOrTown contextRef="c-1" id="f-8">Kansas City</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince contextRef="c-1" id="f-9">MO</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode contextRef="c-1" id="f-10">64125</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode contextRef="c-1" id="f-11">816</dei:CityAreaCode>
    <dei:LocalPhoneNumber contextRef="c-1" id="f-12">241-4888</dei:LocalPhoneNumber>
    <dei:WrittenCommunications contextRef="c-1" id="f-13">false</dei:WrittenCommunications>
    <dei:SolicitingMaterial contextRef="c-1" id="f-14">false</dei:SolicitingMaterial>
    <dei:PreCommencementTenderOffer contextRef="c-1" id="f-15">false</dei:PreCommencementTenderOffer>
    <dei:PreCommencementIssuerTenderOffer contextRef="c-1" id="f-16">false</dei:PreCommencementIssuerTenderOffer>
    <dei:Security12bTitle contextRef="c-1" id="f-17">Common Stock, $0.0001 par value</dei:Security12bTitle>
    <dei:TradingSymbol contextRef="c-1" id="f-18">CTOS</dei:TradingSymbol>
    <dei:SecurityExchangeName contextRef="c-1" id="f-19">NYSE</dei:SecurityExchangeName>
    <dei:EntityEmergingGrowthCompany contextRef="c-1" id="f-20">false</dei:EntityEmergingGrowthCompany>
</xbrl>
