<?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-20200728.xsd" xlink:type="simple"/>
    <context id="i0ec367ed716649ccb83bce3d208d0e7b_D20200728-20200728">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085869</identifier>
        </entity>
        <period>
            <startDate>2020-07-28</startDate>
            <endDate>2020-07-28</endDate>
        </period>
    </context>
    <dei:EntityCentralIndexKey
      contextRef="i0ec367ed716649ccb83bce3d208d0e7b_D20200728-20200728"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkZTI0ZmNmOTcxOTRhMTI5OWM4Yjg0NGY1OWM1ZWM0L3NlYzo5ZGUyNGZjZjk3MTk0YTEyOTljOGI4NDRmNTljNWVjNF80L2ZyYWc6ODU0YTcwNmIwMDIyNDczYWE2NGY0NDc0MmM2ZGJlZTQvdGFibGU6ZjJjMDNiYzI5NzQxNDAwYWIwOTczYzFmMmE5ZmExZjkvdGFibGVyYW5nZTpmMmMwM2JjMjk3NDE0MDBhYjA5NzNjMWYyYTlmYTFmOV8yLTEtMS0xLTA_58a28eb2-7ff3-48ab-aec5-1acff4944e18">0001085869</dei:EntityCentralIndexKey>
    <dei:AmendmentFlag
      contextRef="i0ec367ed716649ccb83bce3d208d0e7b_D20200728-20200728"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkZTI0ZmNmOTcxOTRhMTI5OWM4Yjg0NGY1OWM1ZWM0L3NlYzo5ZGUyNGZjZjk3MTk0YTEyOTljOGI4NDRmNTljNWVjNF80L2ZyYWc6ODU0YTcwNmIwMDIyNDczYWE2NGY0NDc0MmM2ZGJlZTQvdGFibGU6ZjJjMDNiYzI5NzQxNDAwYWIwOTczYzFmMmE5ZmExZjkvdGFibGVyYW5nZTpmMmMwM2JjMjk3NDE0MDBhYjA5NzNjMWYyYTlmYTFmOV81LTEtMS0xLTA_d7c2e15e-2fb6-4ffd-83ce-7137d841d374">false</dei:AmendmentFlag>
    <dei:DocumentType
      contextRef="i0ec367ed716649ccb83bce3d208d0e7b_D20200728-20200728"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkZTI0ZmNmOTcxOTRhMTI5OWM4Yjg0NGY1OWM1ZWM0L3NlYzo5ZGUyNGZjZjk3MTk0YTEyOTljOGI4NDRmNTljNWVjNF8xL2ZyYWc6MTU5NDMxNzcwYTA1NDk2YWE5NGU3Y2UwM2VjNWM0NWEvdGV4dHJlZ2lvbjoxNTk0MzE3NzBhMDU0OTZhYTk0ZTdjZTAzZWM1YzQ1YV8zMjAw_003572d9-12cd-4550-9977-f0816c9d4ded">8-K</dei:DocumentType>
    <dei:DocumentPeriodEndDate
      contextRef="i0ec367ed716649ccb83bce3d208d0e7b_D20200728-20200728"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkZTI0ZmNmOTcxOTRhMTI5OWM4Yjg0NGY1OWM1ZWM0L3NlYzo5ZGUyNGZjZjk3MTk0YTEyOTljOGI4NDRmNTljNWVjNF8xL2ZyYWc6MTU5NDMxNzcwYTA1NDk2YWE5NGU3Y2UwM2VjNWM0NWEvdGV4dHJlZ2lvbjoxNTk0MzE3NzBhMDU0OTZhYTk0ZTdjZTAzZWM1YzQ1YV8xMDk5NTExNjM2MDIz_e72405d3-0c19-4e35-a6e3-d96cf2e2cfb1">2020-07-28</dei:DocumentPeriodEndDate>
    <dei:EntityRegistrantName
      contextRef="i0ec367ed716649ccb83bce3d208d0e7b_D20200728-20200728"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkZTI0ZmNmOTcxOTRhMTI5OWM4Yjg0NGY1OWM1ZWM0L3NlYzo5ZGUyNGZjZjk3MTk0YTEyOTljOGI4NDRmNTljNWVjNF8xL2ZyYWc6MTU5NDMxNzcwYTA1NDk2YWE5NGU3Y2UwM2VjNWM0NWEvdGV4dHJlZ2lvbjoxNTk0MzE3NzBhMDU0OTZhYTk0ZTdjZTAzZWM1YzQ1YV8zMjAx_bdfab918-a728-4c77-a38d-1966bda83ca6">PERFICIENT, INC</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode
      contextRef="i0ec367ed716649ccb83bce3d208d0e7b_D20200728-20200728"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkZTI0ZmNmOTcxOTRhMTI5OWM4Yjg0NGY1OWM1ZWM0L3NlYzo5ZGUyNGZjZjk3MTk0YTEyOTljOGI4NDRmNTljNWVjNF8xL2ZyYWc6MTU5NDMxNzcwYTA1NDk2YWE5NGU3Y2UwM2VjNWM0NWEvdGFibGU6ZjkwOTVkMDdhMzVhNGVjZjk0Yjg0OWVjYmI2MTNjMjQvdGFibGVyYW5nZTpmOTA5NWQwN2EzNWE0ZWNmOTRiODQ5ZWNiYjYxM2MyNF8wLTAtMS0xLTA_498f3182-b05b-45cb-8bcb-e1ece8635116">DE</dei:EntityIncorporationStateCountryCode>
    <dei:EntityFileNumber
      contextRef="i0ec367ed716649ccb83bce3d208d0e7b_D20200728-20200728"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkZTI0ZmNmOTcxOTRhMTI5OWM4Yjg0NGY1OWM1ZWM0L3NlYzo5ZGUyNGZjZjk3MTk0YTEyOTljOGI4NDRmNTljNWVjNF8xL2ZyYWc6MTU5NDMxNzcwYTA1NDk2YWE5NGU3Y2UwM2VjNWM0NWEvdGFibGU6ZjkwOTVkMDdhMzVhNGVjZjk0Yjg0OWVjYmI2MTNjMjQvdGFibGVyYW5nZTpmOTA5NWQwN2EzNWE0ZWNmOTRiODQ5ZWNiYjYxM2MyNF8wLTEtMS0xLTA_17790fd4-aae5-4247-b9e3-431098a3d3fe">001-15169</dei:EntityFileNumber>
    <dei:EntityTaxIdentificationNumber
      contextRef="i0ec367ed716649ccb83bce3d208d0e7b_D20200728-20200728"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkZTI0ZmNmOTcxOTRhMTI5OWM4Yjg0NGY1OWM1ZWM0L3NlYzo5ZGUyNGZjZjk3MTk0YTEyOTljOGI4NDRmNTljNWVjNF8xL2ZyYWc6MTU5NDMxNzcwYTA1NDk2YWE5NGU3Y2UwM2VjNWM0NWEvdGFibGU6ZjkwOTVkMDdhMzVhNGVjZjk0Yjg0OWVjYmI2MTNjMjQvdGFibGVyYW5nZTpmOTA5NWQwN2EzNWE0ZWNmOTRiODQ5ZWNiYjYxM2MyNF8wLTItMS0xLTA_dadda355-1402-40df-812b-71315f26d732">74-2853258</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1
      contextRef="i0ec367ed716649ccb83bce3d208d0e7b_D20200728-20200728"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkZTI0ZmNmOTcxOTRhMTI5OWM4Yjg0NGY1OWM1ZWM0L3NlYzo5ZGUyNGZjZjk3MTk0YTEyOTljOGI4NDRmNTljNWVjNF8xL2ZyYWc6MTU5NDMxNzcwYTA1NDk2YWE5NGU3Y2UwM2VjNWM0NWEvdGV4dHJlZ2lvbjoxNTk0MzE3NzBhMDU0OTZhYTk0ZTdjZTAzZWM1YzQ1YV8zMjA2_e9130d03-0f58-4588-9f43-3e4492dd05f5">555 Maryville University Drive</dei:EntityAddressAddressLine1>
    <dei:EntityAddressAddressLine2
      contextRef="i0ec367ed716649ccb83bce3d208d0e7b_D20200728-20200728"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkZTI0ZmNmOTcxOTRhMTI5OWM4Yjg0NGY1OWM1ZWM0L3NlYzo5ZGUyNGZjZjk3MTk0YTEyOTljOGI4NDRmNTljNWVjNF8xL2ZyYWc6MTU5NDMxNzcwYTA1NDk2YWE5NGU3Y2UwM2VjNWM0NWEvdGV4dHJlZ2lvbjoxNTk0MzE3NzBhMDU0OTZhYTk0ZTdjZTAzZWM1YzQ1YV8zMjA3_56c6462b-9183-4fe0-ac96-2be8bdf74cb3">Suite 600</dei:EntityAddressAddressLine2>
    <dei:EntityAddressCityOrTown
      contextRef="i0ec367ed716649ccb83bce3d208d0e7b_D20200728-20200728"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkZTI0ZmNmOTcxOTRhMTI5OWM4Yjg0NGY1OWM1ZWM0L3NlYzo5ZGUyNGZjZjk3MTk0YTEyOTljOGI4NDRmNTljNWVjNF8xL2ZyYWc6MTU5NDMxNzcwYTA1NDk2YWE5NGU3Y2UwM2VjNWM0NWEvdGV4dHJlZ2lvbjoxNTk0MzE3NzBhMDU0OTZhYTk0ZTdjZTAzZWM1YzQ1YV8zMjAy_0573cbe0-37ca-4d80-a513-7f1acdf7f71f">Saint Louis</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince
      contextRef="i0ec367ed716649ccb83bce3d208d0e7b_D20200728-20200728"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkZTI0ZmNmOTcxOTRhMTI5OWM4Yjg0NGY1OWM1ZWM0L3NlYzo5ZGUyNGZjZjk3MTk0YTEyOTljOGI4NDRmNTljNWVjNF8xL2ZyYWc6MTU5NDMxNzcwYTA1NDk2YWE5NGU3Y2UwM2VjNWM0NWEvdGV4dHJlZ2lvbjoxNTk0MzE3NzBhMDU0OTZhYTk0ZTdjZTAzZWM1YzQ1YV8zMjA4_f454ea2c-65d0-481c-921c-ba17a3ad0e72">MO</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode
      contextRef="i0ec367ed716649ccb83bce3d208d0e7b_D20200728-20200728"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkZTI0ZmNmOTcxOTRhMTI5OWM4Yjg0NGY1OWM1ZWM0L3NlYzo5ZGUyNGZjZjk3MTk0YTEyOTljOGI4NDRmNTljNWVjNF8xL2ZyYWc6MTU5NDMxNzcwYTA1NDk2YWE5NGU3Y2UwM2VjNWM0NWEvdGV4dHJlZ2lvbjoxNTk0MzE3NzBhMDU0OTZhYTk0ZTdjZTAzZWM1YzQ1YV8zMjA5_0b1e53ab-0d3a-4e45-aaf2-54c4288d484f">63141</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode
      contextRef="i0ec367ed716649ccb83bce3d208d0e7b_D20200728-20200728"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkZTI0ZmNmOTcxOTRhMTI5OWM4Yjg0NGY1OWM1ZWM0L3NlYzo5ZGUyNGZjZjk3MTk0YTEyOTljOGI4NDRmNTljNWVjNF8xL2ZyYWc6MTU5NDMxNzcwYTA1NDk2YWE5NGU3Y2UwM2VjNWM0NWEvdGV4dHJlZ2lvbjoxNTk0MzE3NzBhMDU0OTZhYTk0ZTdjZTAzZWM1YzQ1YV8zMjAz_b61e83e9-df3b-41ab-aeff-c3ed20f5c98e">314)</dei:CityAreaCode>
    <dei:LocalPhoneNumber
      contextRef="i0ec367ed716649ccb83bce3d208d0e7b_D20200728-20200728"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkZTI0ZmNmOTcxOTRhMTI5OWM4Yjg0NGY1OWM1ZWM0L3NlYzo5ZGUyNGZjZjk3MTk0YTEyOTljOGI4NDRmNTljNWVjNF8xL2ZyYWc6MTU5NDMxNzcwYTA1NDk2YWE5NGU3Y2UwM2VjNWM0NWEvdGV4dHJlZ2lvbjoxNTk0MzE3NzBhMDU0OTZhYTk0ZTdjZTAzZWM1YzQ1YV8zMjEw_f0926f77-a0c0-449e-8bfe-da4035a62951">529-3600</dei:LocalPhoneNumber>
    <dei:WrittenCommunications
      contextRef="i0ec367ed716649ccb83bce3d208d0e7b_D20200728-20200728"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkZTI0ZmNmOTcxOTRhMTI5OWM4Yjg0NGY1OWM1ZWM0L3NlYzo5ZGUyNGZjZjk3MTk0YTEyOTljOGI4NDRmNTljNWVjNF8xL2ZyYWc6MTU5NDMxNzcwYTA1NDk2YWE5NGU3Y2UwM2VjNWM0NWEvdGV4dHJlZ2lvbjoxNTk0MzE3NzBhMDU0OTZhYTk0ZTdjZTAzZWM1YzQ1YV8zMjA0_94453bed-39ee-4870-a3ed-f65e2c1a3729">false</dei:WrittenCommunications>
    <dei:SolicitingMaterial
      contextRef="i0ec367ed716649ccb83bce3d208d0e7b_D20200728-20200728"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkZTI0ZmNmOTcxOTRhMTI5OWM4Yjg0NGY1OWM1ZWM0L3NlYzo5ZGUyNGZjZjk3MTk0YTEyOTljOGI4NDRmNTljNWVjNF8xL2ZyYWc6MTU5NDMxNzcwYTA1NDk2YWE5NGU3Y2UwM2VjNWM0NWEvdGV4dHJlZ2lvbjoxNTk0MzE3NzBhMDU0OTZhYTk0ZTdjZTAzZWM1YzQ1YV8zMjA1_5d1e5d78-7c57-4893-a9d5-39faa98b36eb">false</dei:SolicitingMaterial>
    <dei:PreCommencementTenderOffer
      contextRef="i0ec367ed716649ccb83bce3d208d0e7b_D20200728-20200728"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkZTI0ZmNmOTcxOTRhMTI5OWM4Yjg0NGY1OWM1ZWM0L3NlYzo5ZGUyNGZjZjk3MTk0YTEyOTljOGI4NDRmNTljNWVjNF8xL2ZyYWc6MTU5NDMxNzcwYTA1NDk2YWE5NGU3Y2UwM2VjNWM0NWEvdGV4dHJlZ2lvbjoxNTk0MzE3NzBhMDU0OTZhYTk0ZTdjZTAzZWM1YzQ1YV8zMTk3_c87579fc-3e3d-4a5d-b1c7-2269e2801092">false</dei:PreCommencementTenderOffer>
    <dei:PreCommencementIssuerTenderOffer
      contextRef="i0ec367ed716649ccb83bce3d208d0e7b_D20200728-20200728"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkZTI0ZmNmOTcxOTRhMTI5OWM4Yjg0NGY1OWM1ZWM0L3NlYzo5ZGUyNGZjZjk3MTk0YTEyOTljOGI4NDRmNTljNWVjNF8xL2ZyYWc6MTU5NDMxNzcwYTA1NDk2YWE5NGU3Y2UwM2VjNWM0NWEvdGV4dHJlZ2lvbjoxNTk0MzE3NzBhMDU0OTZhYTk0ZTdjZTAzZWM1YzQ1YV8zMTk4_44afc487-25cd-41e7-866c-c9d611b3f026">false</dei:PreCommencementIssuerTenderOffer>
    <dei:Security12bTitle
      contextRef="i0ec367ed716649ccb83bce3d208d0e7b_D20200728-20200728"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkZTI0ZmNmOTcxOTRhMTI5OWM4Yjg0NGY1OWM1ZWM0L3NlYzo5ZGUyNGZjZjk3MTk0YTEyOTljOGI4NDRmNTljNWVjNF8xL2ZyYWc6MTU5NDMxNzcwYTA1NDk2YWE5NGU3Y2UwM2VjNWM0NWEvdGFibGU6M2Q0NGQxZTBjMGU0NGZiYzkxYTY3YTQ0YWJjNzU3MDQvdGFibGVyYW5nZTozZDQ0ZDFlMGMwZTQ0ZmJjOTFhNjdhNDRhYmM3NTcwNF8xLTAtMS0xLTA_8a3dbe00-5092-4257-abd8-fc48c0532ed4">Common Stock, $0.001 par value</dei:Security12bTitle>
    <dei:TradingSymbol
      contextRef="i0ec367ed716649ccb83bce3d208d0e7b_D20200728-20200728"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkZTI0ZmNmOTcxOTRhMTI5OWM4Yjg0NGY1OWM1ZWM0L3NlYzo5ZGUyNGZjZjk3MTk0YTEyOTljOGI4NDRmNTljNWVjNF8xL2ZyYWc6MTU5NDMxNzcwYTA1NDk2YWE5NGU3Y2UwM2VjNWM0NWEvdGFibGU6M2Q0NGQxZTBjMGU0NGZiYzkxYTY3YTQ0YWJjNzU3MDQvdGFibGVyYW5nZTozZDQ0ZDFlMGMwZTQ0ZmJjOTFhNjdhNDRhYmM3NTcwNF8xLTEtMS0xLTA_9a62653b-bcca-4d5f-9b4a-2b7b84e1dd32">PRFT</dei:TradingSymbol>
    <dei:SecurityExchangeName
      contextRef="i0ec367ed716649ccb83bce3d208d0e7b_D20200728-20200728"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkZTI0ZmNmOTcxOTRhMTI5OWM4Yjg0NGY1OWM1ZWM0L3NlYzo5ZGUyNGZjZjk3MTk0YTEyOTljOGI4NDRmNTljNWVjNF8xL2ZyYWc6MTU5NDMxNzcwYTA1NDk2YWE5NGU3Y2UwM2VjNWM0NWEvdGFibGU6M2Q0NGQxZTBjMGU0NGZiYzkxYTY3YTQ0YWJjNzU3MDQvdGFibGVyYW5nZTozZDQ0ZDFlMGMwZTQ0ZmJjOTFhNjdhNDRhYmM3NTcwNF8xLTItMS0xLTA_2cc1c711-d280-4857-8175-e13704b63fc1">NASDAQ</dei:SecurityExchangeName>
    <dei:EntityEmergingGrowthCompany
      contextRef="i0ec367ed716649ccb83bce3d208d0e7b_D20200728-20200728"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkZTI0ZmNmOTcxOTRhMTI5OWM4Yjg0NGY1OWM1ZWM0L3NlYzo5ZGUyNGZjZjk3MTk0YTEyOTljOGI4NDRmNTljNWVjNF8xL2ZyYWc6MTU5NDMxNzcwYTA1NDk2YWE5NGU3Y2UwM2VjNWM0NWEvdGV4dHJlZ2lvbjoxNTk0MzE3NzBhMDU0OTZhYTk0ZTdjZTAzZWM1YzQ1YV8zMTk5_a0e4776b-459f-4c9b-8e08-8cc82edb66d0">false</dei:EntityEmergingGrowthCompany>
</xbrl>
