<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:dei="http://xbrl.sec.gov/dei/2026"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:us-gaap="http://fasb.org/us-gaap/2026"
  xmlns:xbrldi="http://xbrl.org/2006/xbrldi"
  xmlns:xlink="http://www.w3.org/1999/xlink">
    <link:schemaRef xlink:href="wso-20260729.xsd" xlink:type="simple"/>
    <context id="C_a3ee3891-b8ff-4286-aeb1-a58e0377f0e1">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000105016</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-07-29</startDate>
            <endDate>2026-07-29</endDate>
        </period>
    </context>
    <context id="C_c4a4fac4-6df0-4733-bf1a-3180239d0186">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000105016</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-07-29</startDate>
            <endDate>2026-07-29</endDate>
        </period>
    </context>
    <context id="C_4b0e2bb8-c46d-4d98-9069-53647f275485">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000105016</identifier>
        </entity>
        <period>
            <startDate>2026-07-29</startDate>
            <endDate>2026-07-29</endDate>
        </period>
    </context>
    <dei:EntityCentralIndexKey
      contextRef="C_4b0e2bb8-c46d-4d98-9069-53647f275485"
      id="F_8a4d6115-b8d3-45d2-8e6b-f1f63c261a54">0000105016</dei:EntityCentralIndexKey>
    <dei:AmendmentFlag
      contextRef="C_4b0e2bb8-c46d-4d98-9069-53647f275485"
      id="F_5ce5bdee-7252-468a-ad34-cfee68a53548">false</dei:AmendmentFlag>
    <dei:DocumentType
      contextRef="C_4b0e2bb8-c46d-4d98-9069-53647f275485"
      id="F_179da0d4-bb62-41cf-9f9c-1e7f2008daae">8-K</dei:DocumentType>
    <dei:DocumentPeriodEndDate
      contextRef="C_4b0e2bb8-c46d-4d98-9069-53647f275485"
      id="F_d5d02bef-f6ee-4ec9-8c50-2e9fc18b08b2">2026-07-29</dei:DocumentPeriodEndDate>
    <dei:EntityRegistrantName
      contextRef="C_4b0e2bb8-c46d-4d98-9069-53647f275485"
      id="F_790e1f03-9e0b-4a7d-981e-178f16b660bf">WATSCO, INC.</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode
      contextRef="C_4b0e2bb8-c46d-4d98-9069-53647f275485"
      id="F_a6b16700-2d4c-43dd-aa57-48365ab0b98d">FL</dei:EntityIncorporationStateCountryCode>
    <dei:EntityFileNumber
      contextRef="C_4b0e2bb8-c46d-4d98-9069-53647f275485"
      id="F_e0212ae4-5b09-4560-882c-45f96e57f1fc">1-5581</dei:EntityFileNumber>
    <dei:EntityTaxIdentificationNumber
      contextRef="C_4b0e2bb8-c46d-4d98-9069-53647f275485"
      id="F_4145e2ef-1208-4fc8-81eb-b91bc77eb05b">59-0778222</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1
      contextRef="C_4b0e2bb8-c46d-4d98-9069-53647f275485"
      id="F_9528c0df-ced3-4345-a8e9-3456930c0837">2665 South Bayshore Drive</dei:EntityAddressAddressLine1>
    <dei:EntityAddressAddressLine2
      contextRef="C_4b0e2bb8-c46d-4d98-9069-53647f275485"
      id="F_d4bbc579-dc9f-4209-84f5-22faff403f1b">Suite 901</dei:EntityAddressAddressLine2>
    <dei:EntityAddressCityOrTown
      contextRef="C_4b0e2bb8-c46d-4d98-9069-53647f275485"
      id="F_fd1d515f-8423-42eb-86b8-89827993f962">Miami</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince
      contextRef="C_4b0e2bb8-c46d-4d98-9069-53647f275485"
      id="F_150f74eb-d720-4575-8ca7-f887e609a248">FL</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode
      contextRef="C_4b0e2bb8-c46d-4d98-9069-53647f275485"
      id="F_ae99c5cf-141b-4838-8671-5441a169a5db">33133</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode
      contextRef="C_4b0e2bb8-c46d-4d98-9069-53647f275485"
      id="F_f9692bf9-8870-4637-8c8a-b83e1f6a2025">(305)</dei:CityAreaCode>
    <dei:LocalPhoneNumber
      contextRef="C_4b0e2bb8-c46d-4d98-9069-53647f275485"
      id="F_b7c4dca5-9c08-4ac0-8e8c-507a3afcbd4b">714-4100</dei:LocalPhoneNumber>
    <dei:EntityInformationFormerLegalOrRegisteredName
      contextRef="C_4b0e2bb8-c46d-4d98-9069-53647f275485"
      id="F_a13babc1-0f4e-4a91-adde-e0c68dd78a82">N/A</dei:EntityInformationFormerLegalOrRegisteredName>
    <dei:WrittenCommunications
      contextRef="C_4b0e2bb8-c46d-4d98-9069-53647f275485"
      id="F_c1f267ff-870b-46b1-a8a3-cf181fccdf25">false</dei:WrittenCommunications>
    <dei:SolicitingMaterial
      contextRef="C_4b0e2bb8-c46d-4d98-9069-53647f275485"
      id="F_52d2a919-afb8-4557-a882-4029060723e2">false</dei:SolicitingMaterial>
    <dei:PreCommencementTenderOffer
      contextRef="C_4b0e2bb8-c46d-4d98-9069-53647f275485"
      id="F_50d32145-9f98-4f70-a4ec-24818dbe0213">false</dei:PreCommencementTenderOffer>
    <dei:PreCommencementIssuerTenderOffer
      contextRef="C_4b0e2bb8-c46d-4d98-9069-53647f275485"
      id="F_c8f13321-9761-442a-b14f-39625dde554d">false</dei:PreCommencementIssuerTenderOffer>
    <dei:Security12bTitle
      contextRef="C_c4a4fac4-6df0-4733-bf1a-3180239d0186"
      id="F_805a9763-6b8f-466c-83a6-a94d8a4e54c6">Common stock, $0.50 par value</dei:Security12bTitle>
    <dei:TradingSymbol
      contextRef="C_c4a4fac4-6df0-4733-bf1a-3180239d0186"
      id="F_6ac2b60f-2a9c-413b-b18f-1ab06693d016">WSO</dei:TradingSymbol>
    <dei:SecurityExchangeName
      contextRef="C_c4a4fac4-6df0-4733-bf1a-3180239d0186"
      id="F_16cb525e-1486-404e-b1cb-237df7d8ed1e">NYSE</dei:SecurityExchangeName>
    <dei:Security12bTitle
      contextRef="C_a3ee3891-b8ff-4286-aeb1-a58e0377f0e1"
      id="F_905f0acd-36a4-4c4a-b545-ce77473640d0">Class B common stock, $0.50 par value</dei:Security12bTitle>
    <dei:TradingSymbol
      contextRef="C_a3ee3891-b8ff-4286-aeb1-a58e0377f0e1"
      id="F_85d8a8e1-0a63-4d21-a44f-7cd3789c720b">WSOB</dei:TradingSymbol>
    <dei:SecurityExchangeName
      contextRef="C_a3ee3891-b8ff-4286-aeb1-a58e0377f0e1"
      id="F_2171a69f-76bc-4a5c-accd-bc35e348d020">NYSE</dei:SecurityExchangeName>
    <dei:EntityEmergingGrowthCompany
      contextRef="C_4b0e2bb8-c46d-4d98-9069-53647f275485"
      id="F_7d7dc6b8-3b9f-4758-a48c-6eee009c9c86">false</dei:EntityEmergingGrowthCompany>
</xbrl>
