<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:XTNT="http://xtantmedical.com/20240903"
  xmlns:dei="http://xbrl.sec.gov/dei/2024"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:xbrldi="http://xbrl.org/2006/xbrldi"
  xmlns:xlink="http://www.w3.org/1999/xlink">
    <link:schemaRef xlink:href="xtnt-20240903.xsd" xlink:type="simple"/>
    <context id="AsOf2024-09-03">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001453593</identifier>
        </entity>
        <period>
            <startDate>2024-09-03</startDate>
            <endDate>2024-09-03</endDate>
        </period>
    </context>
    <context id="From2024-09-032024-09-03_dei_BusinessContactMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001453593</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:EntityAddressesAddressTypeAxis">dei:BusinessContactMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-09-03</startDate>
            <endDate>2024-09-03</endDate>
        </period>
    </context>
    <unit id="USD">
        <measure>iso4217:USD</measure>
    </unit>
    <unit id="Shares">
        <measure>shares</measure>
    </unit>
    <unit id="USDPShares">
        <divide>
            <unitNumerator>
                <measure>iso4217:USD</measure>
            </unitNumerator>
            <unitDenominator>
                <measure>shares</measure>
            </unitDenominator>
        </divide>
    </unit>
    <unit id="Pure">
        <measure>pure</measure>
    </unit>
    <unit id="Segment">
        <measure>XTNT:Segment</measure>
    </unit>
    <dei:AmendmentFlag contextRef="AsOf2024-09-03" id="Fact000003">false</dei:AmendmentFlag>
    <dei:EntityCentralIndexKey contextRef="AsOf2024-09-03" id="Fact000004">0001453593</dei:EntityCentralIndexKey>
    <dei:DocumentType contextRef="AsOf2024-09-03" id="Fact000011">S-3</dei:DocumentType>
    <dei:EntityRegistrantName contextRef="AsOf2024-09-03" id="Fact000012">Xtant Medical holdings, Inc.</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode contextRef="AsOf2024-09-03" id="Fact000013">DE</dei:EntityIncorporationStateCountryCode>
    <dei:EntityTaxIdentificationNumber contextRef="AsOf2024-09-03" id="Fact000014">20-5313323</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1 contextRef="AsOf2024-09-03" id="Fact000015">664 Cruiser Lane</dei:EntityAddressAddressLine1>
    <dei:EntityAddressCityOrTown contextRef="AsOf2024-09-03" id="Fact000016">Belgrade</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince contextRef="AsOf2024-09-03" id="Fact000017">MT</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode contextRef="AsOf2024-09-03" id="Fact000018">59714</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode contextRef="AsOf2024-09-03" id="Fact000019">(406)</dei:CityAreaCode>
    <dei:LocalPhoneNumber contextRef="AsOf2024-09-03" id="Fact000020">388-0480</dei:LocalPhoneNumber>
    <dei:ContactPersonnelName
      contextRef="From2024-09-032024-09-03_dei_BusinessContactMember"
      id="Fact000021">Sean E. Browne</dei:ContactPersonnelName>
    <dei:EntityAddressAddressLine1
      contextRef="From2024-09-032024-09-03_dei_BusinessContactMember"
      id="Fact000022">664 Cruiser Lane</dei:EntityAddressAddressLine1>
    <dei:EntityAddressCityOrTown
      contextRef="From2024-09-032024-09-03_dei_BusinessContactMember"
      id="Fact000023">Belgrade</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince
      contextRef="From2024-09-032024-09-03_dei_BusinessContactMember"
      id="Fact000024">MT</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode
      contextRef="From2024-09-032024-09-03_dei_BusinessContactMember"
      id="Fact000025">59714</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode
      contextRef="From2024-09-032024-09-03_dei_BusinessContactMember"
      id="Fact000026">(406)</dei:CityAreaCode>
    <dei:LocalPhoneNumber
      contextRef="From2024-09-032024-09-03_dei_BusinessContactMember"
      id="Fact000027">388-0480</dei:LocalPhoneNumber>
    <dei:EntityFilerCategory contextRef="AsOf2024-09-03" id="Fact000028">Non-accelerated Filer</dei:EntityFilerCategory>
    <dei:EntitySmallBusiness contextRef="AsOf2024-09-03" id="Fact000029">true</dei:EntitySmallBusiness>
    <dei:EntityEmergingGrowthCompany contextRef="AsOf2024-09-03" id="Fact000030">false</dei:EntityEmergingGrowthCompany>
</xbrl>
