<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:dei="http://xbrl.sec.gov/dei/2019-01-31"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:xlink="http://www.w3.org/1999/xlink">
    <link:schemaRef xlink:href="prft-20200507.xsd" xlink:type="simple"/>
    <context id="i96fc8138f9e84ba0b890328b9073b338_D20200507-20200507">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085869</identifier>
        </entity>
        <period>
            <startDate>2020-05-07</startDate>
            <endDate>2020-05-07</endDate>
        </period>
    </context>
    <dei:EntityCentralIndexKey
      contextRef="i96fc8138f9e84ba0b890328b9073b338_D20200507-20200507"
      id="id3VybDovL2RvY3MudjEvZG9jOjUyOTBjZjg0YmFjMTQ1Nzc4NzU4YjA2OTM4ZDE3ZmFhL3NlYzo1MjkwY2Y4NGJhYzE0NTc3ODc1OGIwNjkzOGQxN2ZhYV80L2ZyYWc6YjY1Y2ZmZGIwN2I2NGZlNWE5NTcyMGE0NmRlZmJhZjgvdGFibGU6ZjhlZjhhOTlhZWI0NGYwNDgxMjVhYTQyMWExMmIwNTkvdGFibGVyYW5nZTpmOGVmOGE5OWFlYjQ0ZjA0ODEyNWFhNDIxYTEyYjA1OV8yLTEtMS0xLTA_618cb7d1-1588-46da-849e-876a68192b6e">0001085869</dei:EntityCentralIndexKey>
    <dei:AmendmentFlag
      contextRef="i96fc8138f9e84ba0b890328b9073b338_D20200507-20200507"
      id="id3VybDovL2RvY3MudjEvZG9jOjUyOTBjZjg0YmFjMTQ1Nzc4NzU4YjA2OTM4ZDE3ZmFhL3NlYzo1MjkwY2Y4NGJhYzE0NTc3ODc1OGIwNjkzOGQxN2ZhYV80L2ZyYWc6YjY1Y2ZmZGIwN2I2NGZlNWE5NTcyMGE0NmRlZmJhZjgvdGFibGU6ZjhlZjhhOTlhZWI0NGYwNDgxMjVhYTQyMWExMmIwNTkvdGFibGVyYW5nZTpmOGVmOGE5OWFlYjQ0ZjA0ODEyNWFhNDIxYTEyYjA1OV81LTEtMS0xLTA_644d28d3-06e6-463f-8022-9e718e2f63cd">false</dei:AmendmentFlag>
    <dei:DocumentType
      contextRef="i96fc8138f9e84ba0b890328b9073b338_D20200507-20200507"
      id="id3VybDovL2RvY3MudjEvZG9jOjUyOTBjZjg0YmFjMTQ1Nzc4NzU4YjA2OTM4ZDE3ZmFhL3NlYzo1MjkwY2Y4NGJhYzE0NTc3ODc1OGIwNjkzOGQxN2ZhYV8xL2ZyYWc6NTQ4MGE3YjdiNTY3NDliOGI0ZjIwMzk2Y2FhMjM1NDUvdGV4dHJlZ2lvbjo1NDgwYTdiN2I1Njc0OWI4YjRmMjAzOTZjYWEyMzU0NV8zMjEy_3791d4dc-25d6-4436-bc2f-de8a277b1852">8-K</dei:DocumentType>
    <dei:DocumentPeriodEndDate
      contextRef="i96fc8138f9e84ba0b890328b9073b338_D20200507-20200507"
      id="id3VybDovL2RvY3MudjEvZG9jOjUyOTBjZjg0YmFjMTQ1Nzc4NzU4YjA2OTM4ZDE3ZmFhL3NlYzo1MjkwY2Y4NGJhYzE0NTc3ODc1OGIwNjkzOGQxN2ZhYV8xL2ZyYWc6NTQ4MGE3YjdiNTY3NDliOGI0ZjIwMzk2Y2FhMjM1NDUvdGV4dHJlZ2lvbjo1NDgwYTdiN2I1Njc0OWI4YjRmMjAzOTZjYWEyMzU0NV8yNzQ4Nzc5MDcyNjYz_2e131a1e-566c-417d-8fb0-3450eabe0586">2020-05-07</dei:DocumentPeriodEndDate>
    <dei:EntityRegistrantName
      contextRef="i96fc8138f9e84ba0b890328b9073b338_D20200507-20200507"
      id="id3VybDovL2RvY3MudjEvZG9jOjUyOTBjZjg0YmFjMTQ1Nzc4NzU4YjA2OTM4ZDE3ZmFhL3NlYzo1MjkwY2Y4NGJhYzE0NTc3ODc1OGIwNjkzOGQxN2ZhYV8xL2ZyYWc6NTQ4MGE3YjdiNTY3NDliOGI0ZjIwMzk2Y2FhMjM1NDUvdGV4dHJlZ2lvbjo1NDgwYTdiN2I1Njc0OWI4YjRmMjAzOTZjYWEyMzU0NV8zMjE4_7a0ef641-e359-4d81-aacd-45ae9c873b7e">PERFICIENT, INC</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode
      contextRef="i96fc8138f9e84ba0b890328b9073b338_D20200507-20200507"
      id="id3VybDovL2RvY3MudjEvZG9jOjUyOTBjZjg0YmFjMTQ1Nzc4NzU4YjA2OTM4ZDE3ZmFhL3NlYzo1MjkwY2Y4NGJhYzE0NTc3ODc1OGIwNjkzOGQxN2ZhYV8xL2ZyYWc6NTQ4MGE3YjdiNTY3NDliOGI0ZjIwMzk2Y2FhMjM1NDUvdGFibGU6ZWMwYjEyMDY1ZjRlNDE4ZmFlODhmYmU4YjAwZWQ3MjMvdGFibGVyYW5nZTplYzBiMTIwNjVmNGU0MThmYWU4OGZiZThiMDBlZDcyM18wLTAtMS0xLTA_7f08a121-fcb5-41b9-9266-d53bb9e08463">DE</dei:EntityIncorporationStateCountryCode>
    <dei:EntityFileNumber
      contextRef="i96fc8138f9e84ba0b890328b9073b338_D20200507-20200507"
      id="id3VybDovL2RvY3MudjEvZG9jOjUyOTBjZjg0YmFjMTQ1Nzc4NzU4YjA2OTM4ZDE3ZmFhL3NlYzo1MjkwY2Y4NGJhYzE0NTc3ODc1OGIwNjkzOGQxN2ZhYV8xL2ZyYWc6NTQ4MGE3YjdiNTY3NDliOGI0ZjIwMzk2Y2FhMjM1NDUvdGFibGU6ZWMwYjEyMDY1ZjRlNDE4ZmFlODhmYmU4YjAwZWQ3MjMvdGFibGVyYW5nZTplYzBiMTIwNjVmNGU0MThmYWU4OGZiZThiMDBlZDcyM18wLTEtMS0xLTA_e497e558-95ce-47ba-b535-6a2fe3e54c90">001-15169</dei:EntityFileNumber>
    <dei:EntityTaxIdentificationNumber
      contextRef="i96fc8138f9e84ba0b890328b9073b338_D20200507-20200507"
      id="id3VybDovL2RvY3MudjEvZG9jOjUyOTBjZjg0YmFjMTQ1Nzc4NzU4YjA2OTM4ZDE3ZmFhL3NlYzo1MjkwY2Y4NGJhYzE0NTc3ODc1OGIwNjkzOGQxN2ZhYV8xL2ZyYWc6NTQ4MGE3YjdiNTY3NDliOGI0ZjIwMzk2Y2FhMjM1NDUvdGFibGU6ZWMwYjEyMDY1ZjRlNDE4ZmFlODhmYmU4YjAwZWQ3MjMvdGFibGVyYW5nZTplYzBiMTIwNjVmNGU0MThmYWU4OGZiZThiMDBlZDcyM18wLTItMS0xLTA_f9d77dfc-479e-4149-89b0-62d9911eed45">74-2853258</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1
      contextRef="i96fc8138f9e84ba0b890328b9073b338_D20200507-20200507"
      id="id3VybDovL2RvY3MudjEvZG9jOjUyOTBjZjg0YmFjMTQ1Nzc4NzU4YjA2OTM4ZDE3ZmFhL3NlYzo1MjkwY2Y4NGJhYzE0NTc3ODc1OGIwNjkzOGQxN2ZhYV8xL2ZyYWc6NTQ4MGE3YjdiNTY3NDliOGI0ZjIwMzk2Y2FhMjM1NDUvdGV4dHJlZ2lvbjo1NDgwYTdiN2I1Njc0OWI4YjRmMjAzOTZjYWEyMzU0NV8zMjA3_8a81e193-7675-49af-b655-e248125a9f50">555 Maryville University Drive</dei:EntityAddressAddressLine1>
    <dei:EntityAddressAddressLine2
      contextRef="i96fc8138f9e84ba0b890328b9073b338_D20200507-20200507"
      id="id3VybDovL2RvY3MudjEvZG9jOjUyOTBjZjg0YmFjMTQ1Nzc4NzU4YjA2OTM4ZDE3ZmFhL3NlYzo1MjkwY2Y4NGJhYzE0NTc3ODc1OGIwNjkzOGQxN2ZhYV8xL2ZyYWc6NTQ4MGE3YjdiNTY3NDliOGI0ZjIwMzk2Y2FhMjM1NDUvdGV4dHJlZ2lvbjo1NDgwYTdiN2I1Njc0OWI4YjRmMjAzOTZjYWEyMzU0NV8zMjA4_863c1e65-bfba-4319-a596-7cb179d5e273">Suite 600</dei:EntityAddressAddressLine2>
    <dei:EntityAddressCityOrTown
      contextRef="i96fc8138f9e84ba0b890328b9073b338_D20200507-20200507"
      id="id3VybDovL2RvY3MudjEvZG9jOjUyOTBjZjg0YmFjMTQ1Nzc4NzU4YjA2OTM4ZDE3ZmFhL3NlYzo1MjkwY2Y4NGJhYzE0NTc3ODc1OGIwNjkzOGQxN2ZhYV8xL2ZyYWc6NTQ4MGE3YjdiNTY3NDliOGI0ZjIwMzk2Y2FhMjM1NDUvdGV4dHJlZ2lvbjo1NDgwYTdiN2I1Njc0OWI4YjRmMjAzOTZjYWEyMzU0NV8zMjA5_a9c735b1-c764-4d99-82a1-fc80aa30e255">Saint Louis</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince
      contextRef="i96fc8138f9e84ba0b890328b9073b338_D20200507-20200507"
      id="id3VybDovL2RvY3MudjEvZG9jOjUyOTBjZjg0YmFjMTQ1Nzc4NzU4YjA2OTM4ZDE3ZmFhL3NlYzo1MjkwY2Y4NGJhYzE0NTc3ODc1OGIwNjkzOGQxN2ZhYV8xL2ZyYWc6NTQ4MGE3YjdiNTY3NDliOGI0ZjIwMzk2Y2FhMjM1NDUvdGV4dHJlZ2lvbjo1NDgwYTdiN2I1Njc0OWI4YjRmMjAzOTZjYWEyMzU0NV8zMjE1_48f0bfa3-cf38-4d92-9143-4b94e395b6bf">MO</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode
      contextRef="i96fc8138f9e84ba0b890328b9073b338_D20200507-20200507"
      id="id3VybDovL2RvY3MudjEvZG9jOjUyOTBjZjg0YmFjMTQ1Nzc4NzU4YjA2OTM4ZDE3ZmFhL3NlYzo1MjkwY2Y4NGJhYzE0NTc3ODc1OGIwNjkzOGQxN2ZhYV8xL2ZyYWc6NTQ4MGE3YjdiNTY3NDliOGI0ZjIwMzk2Y2FhMjM1NDUvdGV4dHJlZ2lvbjo1NDgwYTdiN2I1Njc0OWI4YjRmMjAzOTZjYWEyMzU0NV8zMjE0_ed25d2af-b3b9-4bb0-bcf5-a21f3a4f700c">63141</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode
      contextRef="i96fc8138f9e84ba0b890328b9073b338_D20200507-20200507"
      id="id3VybDovL2RvY3MudjEvZG9jOjUyOTBjZjg0YmFjMTQ1Nzc4NzU4YjA2OTM4ZDE3ZmFhL3NlYzo1MjkwY2Y4NGJhYzE0NTc3ODc1OGIwNjkzOGQxN2ZhYV8xL2ZyYWc6NTQ4MGE3YjdiNTY3NDliOGI0ZjIwMzk2Y2FhMjM1NDUvdGV4dHJlZ2lvbjo1NDgwYTdiN2I1Njc0OWI4YjRmMjAzOTZjYWEyMzU0NV8zMjIw_9b2652ef-6aa7-4e03-85e6-8c28e1bb3f07">314)</dei:CityAreaCode>
    <dei:LocalPhoneNumber
      contextRef="i96fc8138f9e84ba0b890328b9073b338_D20200507-20200507"
      id="id3VybDovL2RvY3MudjEvZG9jOjUyOTBjZjg0YmFjMTQ1Nzc4NzU4YjA2OTM4ZDE3ZmFhL3NlYzo1MjkwY2Y4NGJhYzE0NTc3ODc1OGIwNjkzOGQxN2ZhYV8xL2ZyYWc6NTQ4MGE3YjdiNTY3NDliOGI0ZjIwMzk2Y2FhMjM1NDUvdGV4dHJlZ2lvbjo1NDgwYTdiN2I1Njc0OWI4YjRmMjAzOTZjYWEyMzU0NV8zMjE2_1898b676-b6ba-4d32-af85-63a3cdce8239">529-3600</dei:LocalPhoneNumber>
    <dei:WrittenCommunications
      contextRef="i96fc8138f9e84ba0b890328b9073b338_D20200507-20200507"
      id="id3VybDovL2RvY3MudjEvZG9jOjUyOTBjZjg0YmFjMTQ1Nzc4NzU4YjA2OTM4ZDE3ZmFhL3NlYzo1MjkwY2Y4NGJhYzE0NTc3ODc1OGIwNjkzOGQxN2ZhYV8xL2ZyYWc6NTQ4MGE3YjdiNTY3NDliOGI0ZjIwMzk2Y2FhMjM1NDUvdGV4dHJlZ2lvbjo1NDgwYTdiN2I1Njc0OWI4YjRmMjAzOTZjYWEyMzU0NV8zMjE3_414b1873-5aec-4540-8fc4-316940d852ac">false</dei:WrittenCommunications>
    <dei:SolicitingMaterial
      contextRef="i96fc8138f9e84ba0b890328b9073b338_D20200507-20200507"
      id="id3VybDovL2RvY3MudjEvZG9jOjUyOTBjZjg0YmFjMTQ1Nzc4NzU4YjA2OTM4ZDE3ZmFhL3NlYzo1MjkwY2Y4NGJhYzE0NTc3ODc1OGIwNjkzOGQxN2ZhYV8xL2ZyYWc6NTQ4MGE3YjdiNTY3NDliOGI0ZjIwMzk2Y2FhMjM1NDUvdGV4dHJlZ2lvbjo1NDgwYTdiN2I1Njc0OWI4YjRmMjAzOTZjYWEyMzU0NV8zMjEz_3c1dadf1-4fd7-401a-8bc8-1b491a6102c7">false</dei:SolicitingMaterial>
    <dei:PreCommencementTenderOffer
      contextRef="i96fc8138f9e84ba0b890328b9073b338_D20200507-20200507"
      id="id3VybDovL2RvY3MudjEvZG9jOjUyOTBjZjg0YmFjMTQ1Nzc4NzU4YjA2OTM4ZDE3ZmFhL3NlYzo1MjkwY2Y4NGJhYzE0NTc3ODc1OGIwNjkzOGQxN2ZhYV8xL2ZyYWc6NTQ4MGE3YjdiNTY3NDliOGI0ZjIwMzk2Y2FhMjM1NDUvdGV4dHJlZ2lvbjo1NDgwYTdiN2I1Njc0OWI4YjRmMjAzOTZjYWEyMzU0NV8zMjE5_c86a7616-1919-4527-9edf-9b3b44fcb092">false</dei:PreCommencementTenderOffer>
    <dei:PreCommencementIssuerTenderOffer
      contextRef="i96fc8138f9e84ba0b890328b9073b338_D20200507-20200507"
      id="id3VybDovL2RvY3MudjEvZG9jOjUyOTBjZjg0YmFjMTQ1Nzc4NzU4YjA2OTM4ZDE3ZmFhL3NlYzo1MjkwY2Y4NGJhYzE0NTc3ODc1OGIwNjkzOGQxN2ZhYV8xL2ZyYWc6NTQ4MGE3YjdiNTY3NDliOGI0ZjIwMzk2Y2FhMjM1NDUvdGV4dHJlZ2lvbjo1NDgwYTdiN2I1Njc0OWI4YjRmMjAzOTZjYWEyMzU0NV8zMjEw_489a41c8-b6fd-41ac-b10d-f9b30ff95d17">false</dei:PreCommencementIssuerTenderOffer>
    <dei:Security12bTitle
      contextRef="i96fc8138f9e84ba0b890328b9073b338_D20200507-20200507"
      id="id3VybDovL2RvY3MudjEvZG9jOjUyOTBjZjg0YmFjMTQ1Nzc4NzU4YjA2OTM4ZDE3ZmFhL3NlYzo1MjkwY2Y4NGJhYzE0NTc3ODc1OGIwNjkzOGQxN2ZhYV8xL2ZyYWc6NTQ4MGE3YjdiNTY3NDliOGI0ZjIwMzk2Y2FhMjM1NDUvdGFibGU6NGMzZjdhMjU4OGNjNDM3NjlkNjczMTViY2JlMmU2OWIvdGFibGVyYW5nZTo0YzNmN2EyNTg4Y2M0Mzc2OWQ2NzMxNWJjYmUyZTY5Yl8xLTAtMS0xLTA_4ef65c01-de6b-4bdb-b5b3-7e1abda3e0a7">Common Stock, $0.001 par value</dei:Security12bTitle>
    <dei:TradingSymbol
      contextRef="i96fc8138f9e84ba0b890328b9073b338_D20200507-20200507"
      id="id3VybDovL2RvY3MudjEvZG9jOjUyOTBjZjg0YmFjMTQ1Nzc4NzU4YjA2OTM4ZDE3ZmFhL3NlYzo1MjkwY2Y4NGJhYzE0NTc3ODc1OGIwNjkzOGQxN2ZhYV8xL2ZyYWc6NTQ4MGE3YjdiNTY3NDliOGI0ZjIwMzk2Y2FhMjM1NDUvdGFibGU6NGMzZjdhMjU4OGNjNDM3NjlkNjczMTViY2JlMmU2OWIvdGFibGVyYW5nZTo0YzNmN2EyNTg4Y2M0Mzc2OWQ2NzMxNWJjYmUyZTY5Yl8xLTEtMS0xLTA_8b05e9a7-15d2-40a7-bba1-f66c42790a44">PRFT</dei:TradingSymbol>
    <dei:SecurityExchangeName
      contextRef="i96fc8138f9e84ba0b890328b9073b338_D20200507-20200507"
      id="id3VybDovL2RvY3MudjEvZG9jOjUyOTBjZjg0YmFjMTQ1Nzc4NzU4YjA2OTM4ZDE3ZmFhL3NlYzo1MjkwY2Y4NGJhYzE0NTc3ODc1OGIwNjkzOGQxN2ZhYV8xL2ZyYWc6NTQ4MGE3YjdiNTY3NDliOGI0ZjIwMzk2Y2FhMjM1NDUvdGFibGU6NGMzZjdhMjU4OGNjNDM3NjlkNjczMTViY2JlMmU2OWIvdGFibGVyYW5nZTo0YzNmN2EyNTg4Y2M0Mzc2OWQ2NzMxNWJjYmUyZTY5Yl8xLTItMS0xLTA_3d89fdcb-0999-4f92-877a-67ca3e5e8e74">NASDAQ</dei:SecurityExchangeName>
    <dei:EntityEmergingGrowthCompany
      contextRef="i96fc8138f9e84ba0b890328b9073b338_D20200507-20200507"
      id="id3VybDovL2RvY3MudjEvZG9jOjUyOTBjZjg0YmFjMTQ1Nzc4NzU4YjA2OTM4ZDE3ZmFhL3NlYzo1MjkwY2Y4NGJhYzE0NTc3ODc1OGIwNjkzOGQxN2ZhYV8xL2ZyYWc6NTQ4MGE3YjdiNTY3NDliOGI0ZjIwMzk2Y2FhMjM1NDUvdGV4dHJlZ2lvbjo1NDgwYTdiN2I1Njc0OWI4YjRmMjAzOTZjYWEyMzU0NV8zMjEx_e25a0c7f-0b09-4742-8ef1-3999dba39ddd">false</dei:EntityEmergingGrowthCompany>
</xbrl>
