<?xml version="1.0" encoding="utf-8"?>
<xbrl
  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="oprt-20260327.xsd" xlink:type="simple"/>
    <context id="duration_2026-03-27_to_2026-03-27">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001538716</identifier>
        </entity>
        <period>
            <startDate>2026-03-27</startDate>
            <endDate>2026-03-27</endDate>
        </period>
    </context>
    <dei:EntityRegistrantName
      contextRef="duration_2026-03-27_to_2026-03-27"
      id="Hidden_dei_EntityRegistrantName">Oportun Financial Corp</dei:EntityRegistrantName>
    <dei:AmendmentFlag contextRef="duration_2026-03-27_to_2026-03-27" id="ixv-261">false</dei:AmendmentFlag>
    <dei:EntityCentralIndexKey
      contextRef="duration_2026-03-27_to_2026-03-27"
      id="Hidden_dei_EntityCentralIndexKey">0001538716</dei:EntityCentralIndexKey>
    <dei:DocumentType contextRef="duration_2026-03-27_to_2026-03-27" id="ixv-272">8-K</dei:DocumentType>
    <dei:DocumentPeriodEndDate contextRef="duration_2026-03-27_to_2026-03-27" id="ixv-273">2026-03-27</dei:DocumentPeriodEndDate>
    <dei:EntityFileNumber contextRef="duration_2026-03-27_to_2026-03-27" id="ixv-274">001-39050</dei:EntityFileNumber>
    <dei:EntityIncorporationStateCountryCode contextRef="duration_2026-03-27_to_2026-03-27" id="ixv-275">DE</dei:EntityIncorporationStateCountryCode>
    <dei:EntityTaxIdentificationNumber contextRef="duration_2026-03-27_to_2026-03-27" id="ixv-276">45-3361983</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1 contextRef="duration_2026-03-27_to_2026-03-27" id="ixv-277">1825 South Grant Street</dei:EntityAddressAddressLine1>
    <dei:EntityAddressAddressLine2 contextRef="duration_2026-03-27_to_2026-03-27" id="ixv-278">Suite 850</dei:EntityAddressAddressLine2>
    <dei:EntityAddressCityOrTown contextRef="duration_2026-03-27_to_2026-03-27" id="ixv-279">San Mateo</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince contextRef="duration_2026-03-27_to_2026-03-27" id="ixv-280">CA</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode contextRef="duration_2026-03-27_to_2026-03-27" id="ixv-281">94402</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode contextRef="duration_2026-03-27_to_2026-03-27" id="ixv-282">(650)</dei:CityAreaCode>
    <dei:LocalPhoneNumber contextRef="duration_2026-03-27_to_2026-03-27" id="ixv-283">810-8823</dei:LocalPhoneNumber>
    <dei:WrittenCommunications contextRef="duration_2026-03-27_to_2026-03-27" id="ixv-284">false</dei:WrittenCommunications>
    <dei:SolicitingMaterial contextRef="duration_2026-03-27_to_2026-03-27" id="ixv-285">false</dei:SolicitingMaterial>
    <dei:PreCommencementTenderOffer contextRef="duration_2026-03-27_to_2026-03-27" id="ixv-286">false</dei:PreCommencementTenderOffer>
    <dei:PreCommencementIssuerTenderOffer contextRef="duration_2026-03-27_to_2026-03-27" id="ixv-287">false</dei:PreCommencementIssuerTenderOffer>
    <dei:Security12bTitle contextRef="duration_2026-03-27_to_2026-03-27" id="ixv-288">Common Stock, $0.0001 par value per share</dei:Security12bTitle>
    <dei:TradingSymbol contextRef="duration_2026-03-27_to_2026-03-27" id="ixv-289">OPRT</dei:TradingSymbol>
    <dei:SecurityExchangeName contextRef="duration_2026-03-27_to_2026-03-27" id="ixv-290">NASDAQ</dei:SecurityExchangeName>
    <dei:EntityEmergingGrowthCompany contextRef="duration_2026-03-27_to_2026-03-27" id="ixv-291">false</dei:EntityEmergingGrowthCompany>
</xbrl>
