<?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/2022"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:xlink="http://www.w3.org/1999/xlink">
    <link:schemaRef xlink:href="pool-20220708.xsd" xlink:type="simple"/>
    <context id="i31d9d5ceebaa43c7bb21f863e57de320_D20220708-20220708">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000945841</identifier>
        </entity>
        <period>
            <startDate>2022-07-08</startDate>
            <endDate>2022-07-08</endDate>
        </period>
    </context>
    <dei:EntityCentralIndexKey
      contextRef="i31d9d5ceebaa43c7bb21f863e57de320_D20220708-20220708"
      id="id3VybDovL2RvY3MudjEvZG9jOmVmYWJhMzhkMDVlYTQ0NGE5NmNmYzA5MGFkYzliNTcyL3NlYzplZmFiYTM4ZDA1ZWE0NDRhOTZjZmMwOTBhZGM5YjU3Ml80L2ZyYWc6M2QyZDBkMDJhMDM4NDg2NDkxYTQzZWY2ZmQ3ZjE0YjEvdGFibGU6MmFmNzgzMDFhOGQ4NDdkM2IzNzRmOWNiNjhmNjg5ZGQvdGFibGVyYW5nZToyYWY3ODMwMWE4ZDg0N2QzYjM3NGY5Y2I2OGY2ODlkZF8yLTEtMS0xLTUwOTQ4_76cad9f2-449e-45db-8445-e795e7128bb2">0000945841</dei:EntityCentralIndexKey>
    <dei:AmendmentFlag
      contextRef="i31d9d5ceebaa43c7bb21f863e57de320_D20220708-20220708"
      id="id3VybDovL2RvY3MudjEvZG9jOmVmYWJhMzhkMDVlYTQ0NGE5NmNmYzA5MGFkYzliNTcyL3NlYzplZmFiYTM4ZDA1ZWE0NDRhOTZjZmMwOTBhZGM5YjU3Ml80L2ZyYWc6M2QyZDBkMDJhMDM4NDg2NDkxYTQzZWY2ZmQ3ZjE0YjEvdGFibGU6MmFmNzgzMDFhOGQ4NDdkM2IzNzRmOWNiNjhmNjg5ZGQvdGFibGVyYW5nZToyYWY3ODMwMWE4ZDg0N2QzYjM3NGY5Y2I2OGY2ODlkZF81LTEtMS0xLTUwOTQ4_5461ec44-0765-4f15-b8d6-a7b09884e163">false</dei:AmendmentFlag>
    <dei:DocumentType
      contextRef="i31d9d5ceebaa43c7bb21f863e57de320_D20220708-20220708"
      id="id3VybDovL2RvY3MudjEvZG9jOmVmYWJhMzhkMDVlYTQ0NGE5NmNmYzA5MGFkYzliNTcyL3NlYzplZmFiYTM4ZDA1ZWE0NDRhOTZjZmMwOTBhZGM5YjU3Ml8xL2ZyYWc6MTg0YjkyMzYxNDJjNDgzNjhmODVhMzUxMjhhNTQwZmQvdGV4dHJlZ2lvbjoxODRiOTIzNjE0MmM0ODM2OGY4NWEzNTEyOGE1NDBmZF85OQ_b4c6dc46-a305-49b5-84ca-bcd929607729">8-K</dei:DocumentType>
    <dei:DocumentPeriodEndDate
      contextRef="i31d9d5ceebaa43c7bb21f863e57de320_D20220708-20220708"
      id="id3VybDovL2RvY3MudjEvZG9jOmVmYWJhMzhkMDVlYTQ0NGE5NmNmYzA5MGFkYzliNTcyL3NlYzplZmFiYTM4ZDA1ZWE0NDRhOTZjZmMwOTBhZGM5YjU3Ml8xL2ZyYWc6MTg0YjkyMzYxNDJjNDgzNjhmODVhMzUxMjhhNTQwZmQvdGV4dHJlZ2lvbjoxODRiOTIzNjE0MmM0ODM2OGY4NWEzNTEyOGE1NDBmZF8yNTM_6c04a929-f989-4309-ba7c-cf9bbd959b38">2022-07-08</dei:DocumentPeriodEndDate>
    <dei:EntityFileNumber
      contextRef="i31d9d5ceebaa43c7bb21f863e57de320_D20220708-20220708"
      id="id3VybDovL2RvY3MudjEvZG9jOmVmYWJhMzhkMDVlYTQ0NGE5NmNmYzA5MGFkYzliNTcyL3NlYzplZmFiYTM4ZDA1ZWE0NDRhOTZjZmMwOTBhZGM5YjU3Ml8xL2ZyYWc6MTg0YjkyMzYxNDJjNDgzNjhmODVhMzUxMjhhNTQwZmQvdGV4dHJlZ2lvbjoxODRiOTIzNjE0MmM0ODM2OGY4NWEzNTEyOGE1NDBmZF8zMDE_6e625b73-5d0c-4d3c-8eca-a0de9ecacae6">0-26640</dei:EntityFileNumber>
    <dei:EntityRegistrantName
      contextRef="i31d9d5ceebaa43c7bb21f863e57de320_D20220708-20220708"
      id="id3VybDovL2RvY3MudjEvZG9jOmVmYWJhMzhkMDVlYTQ0NGE5NmNmYzA5MGFkYzliNTcyL3NlYzplZmFiYTM4ZDA1ZWE0NDRhOTZjZmMwOTBhZGM5YjU3Ml8xL2ZyYWc6MTg0YjkyMzYxNDJjNDgzNjhmODVhMzUxMjhhNTQwZmQvdGFibGU6ZWE0Yzg3NDdlMjg5NGQ0N2E2N2NjMDRkZGFhNmI4MWMvdGFibGVyYW5nZTplYTRjODc0N2UyODk0ZDQ3YTY3Y2MwNGRkYWE2YjgxY18wLTAtMS0xLTUwOTQ4_bcccf93a-61d0-48b8-aa43-dcce237c951c">POOL CORPORATION</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode
      contextRef="i31d9d5ceebaa43c7bb21f863e57de320_D20220708-20220708"
      id="id3VybDovL2RvY3MudjEvZG9jOmVmYWJhMzhkMDVlYTQ0NGE5NmNmYzA5MGFkYzliNTcyL3NlYzplZmFiYTM4ZDA1ZWE0NDRhOTZjZmMwOTBhZGM5YjU3Ml8xL2ZyYWc6MTg0YjkyMzYxNDJjNDgzNjhmODVhMzUxMjhhNTQwZmQvdGFibGU6ZWE0Yzg3NDdlMjg5NGQ0N2E2N2NjMDRkZGFhNmI4MWMvdGFibGVyYW5nZTplYTRjODc0N2UyODk0ZDQ3YTY3Y2MwNGRkYWE2YjgxY18zLTAtMS0xLTUwOTQ4_242222bf-ca3e-4b52-b667-1ba88b844ec6">DE</dei:EntityIncorporationStateCountryCode>
    <dei:EntityTaxIdentificationNumber
      contextRef="i31d9d5ceebaa43c7bb21f863e57de320_D20220708-20220708"
      id="id3VybDovL2RvY3MudjEvZG9jOmVmYWJhMzhkMDVlYTQ0NGE5NmNmYzA5MGFkYzliNTcyL3NlYzplZmFiYTM4ZDA1ZWE0NDRhOTZjZmMwOTBhZGM5YjU3Ml8xL2ZyYWc6MTg0YjkyMzYxNDJjNDgzNjhmODVhMzUxMjhhNTQwZmQvdGFibGU6ZWE0Yzg3NDdlMjg5NGQ0N2E2N2NjMDRkZGFhNmI4MWMvdGFibGVyYW5nZTplYTRjODc0N2UyODk0ZDQ3YTY3Y2MwNGRkYWE2YjgxY18zLTMtMS0xLTUwOTQ4_8d507fe7-28be-4966-9bb3-982455507afe">36-3943363</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1
      contextRef="i31d9d5ceebaa43c7bb21f863e57de320_D20220708-20220708"
      id="id3VybDovL2RvY3MudjEvZG9jOmVmYWJhMzhkMDVlYTQ0NGE5NmNmYzA5MGFkYzliNTcyL3NlYzplZmFiYTM4ZDA1ZWE0NDRhOTZjZmMwOTBhZGM5YjU3Ml8xL2ZyYWc6MTg0YjkyMzYxNDJjNDgzNjhmODVhMzUxMjhhNTQwZmQvdGFibGU6ZWE0Yzg3NDdlMjg5NGQ0N2E2N2NjMDRkZGFhNmI4MWMvdGFibGVyYW5nZTplYTRjODc0N2UyODk0ZDQ3YTY3Y2MwNGRkYWE2YjgxY183LTAtMS0xLTUwOTQ4_689eb65c-b3c3-48f2-9862-3491571c51ee">109 Northpark Boulevard,</dei:EntityAddressAddressLine1>
    <dei:EntityAddressCityOrTown
      contextRef="i31d9d5ceebaa43c7bb21f863e57de320_D20220708-20220708"
      id="id3VybDovL2RvY3MudjEvZG9jOmVmYWJhMzhkMDVlYTQ0NGE5NmNmYzA5MGFkYzliNTcyL3NlYzplZmFiYTM4ZDA1ZWE0NDRhOTZjZmMwOTBhZGM5YjU3Ml8xL2ZyYWc6MTg0YjkyMzYxNDJjNDgzNjhmODVhMzUxMjhhNTQwZmQvdGFibGU6ZWE0Yzg3NDdlMjg5NGQ0N2E2N2NjMDRkZGFhNmI4MWMvdGFibGVyYW5nZTplYTRjODc0N2UyODk0ZDQ3YTY3Y2MwNGRkYWE2YjgxY184LTAtMS0xLTUwOTQ4_f6fad818-13e3-44ea-939e-2ad1ee417d87">Covington,</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince
      contextRef="i31d9d5ceebaa43c7bb21f863e57de320_D20220708-20220708"
      id="id3VybDovL2RvY3MudjEvZG9jOmVmYWJhMzhkMDVlYTQ0NGE5NmNmYzA5MGFkYzliNTcyL3NlYzplZmFiYTM4ZDA1ZWE0NDRhOTZjZmMwOTBhZGM5YjU3Ml8xL2ZyYWc6MTg0YjkyMzYxNDJjNDgzNjhmODVhMzUxMjhhNTQwZmQvdGFibGU6ZWE0Yzg3NDdlMjg5NGQ0N2E2N2NjMDRkZGFhNmI4MWMvdGFibGVyYW5nZTplYTRjODc0N2UyODk0ZDQ3YTY3Y2MwNGRkYWE2YjgxY184LTEtMS0xLTUwOTQ4_26534fe6-054e-4451-9ce4-33d4f20b5b18">LA</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode
      contextRef="i31d9d5ceebaa43c7bb21f863e57de320_D20220708-20220708"
      id="id3VybDovL2RvY3MudjEvZG9jOmVmYWJhMzhkMDVlYTQ0NGE5NmNmYzA5MGFkYzliNTcyL3NlYzplZmFiYTM4ZDA1ZWE0NDRhOTZjZmMwOTBhZGM5YjU3Ml8xL2ZyYWc6MTg0YjkyMzYxNDJjNDgzNjhmODVhMzUxMjhhNTQwZmQvdGFibGU6ZWE0Yzg3NDdlMjg5NGQ0N2E2N2NjMDRkZGFhNmI4MWMvdGFibGVyYW5nZTplYTRjODc0N2UyODk0ZDQ3YTY3Y2MwNGRkYWE2YjgxY184LTMtMS0xLTUwOTQ4_1def89cf-562a-41b0-a325-224300a857ce">70433-5001</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode
      contextRef="i31d9d5ceebaa43c7bb21f863e57de320_D20220708-20220708"
      id="id3VybDovL2RvY3MudjEvZG9jOmVmYWJhMzhkMDVlYTQ0NGE5NmNmYzA5MGFkYzliNTcyL3NlYzplZmFiYTM4ZDA1ZWE0NDRhOTZjZmMwOTBhZGM5YjU3Ml8xL2ZyYWc6MTg0YjkyMzYxNDJjNDgzNjhmODVhMzUxMjhhNTQwZmQvdGV4dHJlZ2lvbjoxODRiOTIzNjE0MmM0ODM2OGY4NWEzNTEyOGE1NDBmZF8zMDY_11f3b135-ceaa-423d-9293-51a3cb4bd924">(985)</dei:CityAreaCode>
    <dei:LocalPhoneNumber
      contextRef="i31d9d5ceebaa43c7bb21f863e57de320_D20220708-20220708"
      id="id3VybDovL2RvY3MudjEvZG9jOmVmYWJhMzhkMDVlYTQ0NGE5NmNmYzA5MGFkYzliNTcyL3NlYzplZmFiYTM4ZDA1ZWE0NDRhOTZjZmMwOTBhZGM5YjU3Ml8xL2ZyYWc6MTg0YjkyMzYxNDJjNDgzNjhmODVhMzUxMjhhNTQwZmQvdGV4dHJlZ2lvbjoxODRiOTIzNjE0MmM0ODM2OGY4NWEzNTEyOGE1NDBmZF8zMDk_1860ee28-1b56-468c-a754-b17d9f198c6b">892-5521</dei:LocalPhoneNumber>
    <dei:WrittenCommunications
      contextRef="i31d9d5ceebaa43c7bb21f863e57de320_D20220708-20220708"
      id="id3VybDovL2RvY3MudjEvZG9jOmVmYWJhMzhkMDVlYTQ0NGE5NmNmYzA5MGFkYzliNTcyL3NlYzplZmFiYTM4ZDA1ZWE0NDRhOTZjZmMwOTBhZGM5YjU3Ml8xL2ZyYWc6MTg0YjkyMzYxNDJjNDgzNjhmODVhMzUxMjhhNTQwZmQvdGV4dHJlZ2lvbjoxODRiOTIzNjE0MmM0ODM2OGY4NWEzNTEyOGE1NDBmZF81NDI_19ba4ee4-d38c-4329-aa10-5631e5a88b56">false</dei:WrittenCommunications>
    <dei:SolicitingMaterial
      contextRef="i31d9d5ceebaa43c7bb21f863e57de320_D20220708-20220708"
      id="id3VybDovL2RvY3MudjEvZG9jOmVmYWJhMzhkMDVlYTQ0NGE5NmNmYzA5MGFkYzliNTcyL3NlYzplZmFiYTM4ZDA1ZWE0NDRhOTZjZmMwOTBhZGM5YjU3Ml8xL2ZyYWc6MTg0YjkyMzYxNDJjNDgzNjhmODVhMzUxMjhhNTQwZmQvdGV4dHJlZ2lvbjoxODRiOTIzNjE0MmM0ODM2OGY4NWEzNTEyOGE1NDBmZF82MzQ_0bf1859a-3457-48f2-99e4-1b2005f8e5c5">false</dei:SolicitingMaterial>
    <dei:PreCommencementTenderOffer
      contextRef="i31d9d5ceebaa43c7bb21f863e57de320_D20220708-20220708"
      id="id3VybDovL2RvY3MudjEvZG9jOmVmYWJhMzhkMDVlYTQ0NGE5NmNmYzA5MGFkYzliNTcyL3NlYzplZmFiYTM4ZDA1ZWE0NDRhOTZjZmMwOTBhZGM5YjU3Ml8xL2ZyYWc6MTg0YjkyMzYxNDJjNDgzNjhmODVhMzUxMjhhNTQwZmQvdGV4dHJlZ2lvbjoxODRiOTIzNjE0MmM0ODM2OGY4NWEzNTEyOGE1NDBmZF83Mjc_94c914bb-8909-42b6-967a-db878b326b18">false</dei:PreCommencementTenderOffer>
    <dei:PreCommencementIssuerTenderOffer
      contextRef="i31d9d5ceebaa43c7bb21f863e57de320_D20220708-20220708"
      id="id3VybDovL2RvY3MudjEvZG9jOmVmYWJhMzhkMDVlYTQ0NGE5NmNmYzA5MGFkYzliNTcyL3NlYzplZmFiYTM4ZDA1ZWE0NDRhOTZjZmMwOTBhZGM5YjU3Ml8xL2ZyYWc6MTg0YjkyMzYxNDJjNDgzNjhmODVhMzUxMjhhNTQwZmQvdGV4dHJlZ2lvbjoxODRiOTIzNjE0MmM0ODM2OGY4NWEzNTEyOGE1NDBmZF84MzY_21731e3b-2033-435e-88e4-7461a5c66d8d">false</dei:PreCommencementIssuerTenderOffer>
    <dei:Security12bTitle
      contextRef="i31d9d5ceebaa43c7bb21f863e57de320_D20220708-20220708"
      id="id3VybDovL2RvY3MudjEvZG9jOmVmYWJhMzhkMDVlYTQ0NGE5NmNmYzA5MGFkYzliNTcyL3NlYzplZmFiYTM4ZDA1ZWE0NDRhOTZjZmMwOTBhZGM5YjU3Ml8xL2ZyYWc6MTg0YjkyMzYxNDJjNDgzNjhmODVhMzUxMjhhNTQwZmQvdGFibGU6NmE4N2EzYjRlYWJkNDhjOWE2MThiOTIzMDE0ZDZmMGEvdGFibGVyYW5nZTo2YTg3YTNiNGVhYmQ0OGM5YTYxOGI5MjMwMTRkNmYwYV8xLTAtMS0xLTUwOTQ4_9fd6760b-0e0a-49a7-bb85-b781e9ec819a">Common Stock, par value $0.001 per share</dei:Security12bTitle>
    <dei:TradingSymbol
      contextRef="i31d9d5ceebaa43c7bb21f863e57de320_D20220708-20220708"
      id="id3VybDovL2RvY3MudjEvZG9jOmVmYWJhMzhkMDVlYTQ0NGE5NmNmYzA5MGFkYzliNTcyL3NlYzplZmFiYTM4ZDA1ZWE0NDRhOTZjZmMwOTBhZGM5YjU3Ml8xL2ZyYWc6MTg0YjkyMzYxNDJjNDgzNjhmODVhMzUxMjhhNTQwZmQvdGFibGU6NmE4N2EzYjRlYWJkNDhjOWE2MThiOTIzMDE0ZDZmMGEvdGFibGVyYW5nZTo2YTg3YTNiNGVhYmQ0OGM5YTYxOGI5MjMwMTRkNmYwYV8xLTEtMS0xLTUwOTQ4_888627d8-a66b-4927-945b-18ea6389913e">POOL</dei:TradingSymbol>
    <dei:SecurityExchangeName
      contextRef="i31d9d5ceebaa43c7bb21f863e57de320_D20220708-20220708"
      id="id3VybDovL2RvY3MudjEvZG9jOmVmYWJhMzhkMDVlYTQ0NGE5NmNmYzA5MGFkYzliNTcyL3NlYzplZmFiYTM4ZDA1ZWE0NDRhOTZjZmMwOTBhZGM5YjU3Ml8xL2ZyYWc6MTg0YjkyMzYxNDJjNDgzNjhmODVhMzUxMjhhNTQwZmQvdGFibGU6NmE4N2EzYjRlYWJkNDhjOWE2MThiOTIzMDE0ZDZmMGEvdGFibGVyYW5nZTo2YTg3YTNiNGVhYmQ0OGM5YTYxOGI5MjMwMTRkNmYwYV8xLTItMS0xLTUwOTQ4_4be17605-995e-49ba-b6db-723864ffb91d">NASDAQ</dei:SecurityExchangeName>
    <dei:EntityEmergingGrowthCompany
      contextRef="i31d9d5ceebaa43c7bb21f863e57de320_D20220708-20220708"
      id="id3VybDovL2RvY3MudjEvZG9jOmVmYWJhMzhkMDVlYTQ0NGE5NmNmYzA5MGFkYzliNTcyL3NlYzplZmFiYTM4ZDA1ZWE0NDRhOTZjZmMwOTBhZGM5YjU3Ml8xL2ZyYWc6MTg0YjkyMzYxNDJjNDgzNjhmODVhMzUxMjhhNTQwZmQvdGV4dHJlZ2lvbjoxODRiOTIzNjE0MmM0ODM2OGY4NWEzNTEyOGE1NDBmZF8xMjcw_27d6ec6a-0117-40d5-93df-31d9d61f6500">false</dei:EntityEmergingGrowthCompany>
    <dei:DocumentPeriodEndDate
      contextRef="i31d9d5ceebaa43c7bb21f863e57de320_D20220708-20220708"
      id="id3VybDovL2RvY3MudjEvZG9jOmVmYWJhMzhkMDVlYTQ0NGE5NmNmYzA5MGFkYzliNTcyL3NlYzplZmFiYTM4ZDA1ZWE0NDRhOTZjZmMwOTBhZGM5YjU3Ml8xL2ZyYWc6MTg0YjkyMzYxNDJjNDgzNjhmODVhMzUxMjhhNTQwZmQvdGFibGU6NDM2Y2FiMjFiMjk4NDE1NDg2OTA0ODgyMzg3YWUxZDUvdGFibGVyYW5nZTo0MzZjYWIyMWIyOTg0MTU0ODY5MDQ4ODIzODdhZTFkNV8xLTEtMS0xLTUwOTQ4L3RleHRyZWdpb246YTI1ZjM5OTMwZWNmNDg1ZWFmZDRiNjJkMjBiMzRkOGZfNDk_6c04a929-f989-4309-ba7c-cf9bbd959b38">2022-07-08</dei:DocumentPeriodEndDate>
    <dei:DocumentPeriodEndDate
      contextRef="i31d9d5ceebaa43c7bb21f863e57de320_D20220708-20220708"
      id="id3VybDovL2RvY3MudjEvZG9jOmVmYWJhMzhkMDVlYTQ0NGE5NmNmYzA5MGFkYzliNTcyL3NlYzplZmFiYTM4ZDA1ZWE0NDRhOTZjZmMwOTBhZGM5YjU3Ml8xL2ZyYWc6MTg0YjkyMzYxNDJjNDgzNjhmODVhMzUxMjhhNTQwZmQvdGV4dHJlZ2lvbjoxODRiOTIzNjE0MmM0ODM2OGY4NWEzNTEyOGE1NDBmZF8zNDUy_6c04a929-f989-4309-ba7c-cf9bbd959b38">2022-07-08</dei:DocumentPeriodEndDate>
</xbrl>
