<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:dei="http://xbrl.sec.gov/dei/2026"
  xmlns:ffd="http://xbrl.sec.gov/ffd/2026"
  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"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <link:schemaRef
      xlink:href="https://xbrl.sec.gov/ffd/2026/ffd-2026.xsd"
      xlink:type="simple"/>
    <context id="rc">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
        </entity>
        <period>
            <startDate>2026-10-30</startDate>
            <endDate>2026-10-30</endDate>
        </period>
    </context>
    <context id="offrl_1">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:typedMember dimension="ffd:OfferingAxis">
                    <dei:lineNo>1</dei:lineNo>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-10-30</startDate>
            <endDate>2026-10-30</endDate>
        </period>
    </context>
    <context id="offrl_2">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:typedMember dimension="ffd:OfferingAxis">
                    <dei:lineNo>2</dei:lineNo>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-10-30</startDate>
            <endDate>2026-10-30</endDate>
        </period>
    </context>
    <context id="offrl_3">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:typedMember dimension="ffd:OfferingAxis">
                    <dei:lineNo>3</dei:lineNo>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-10-30</startDate>
            <endDate>2026-10-30</endDate>
        </period>
    </context>
    <context id="offrl_4">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:typedMember dimension="ffd:OfferingAxis">
                    <dei:lineNo>4</dei:lineNo>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-10-30</startDate>
            <endDate>2026-10-30</endDate>
        </period>
    </context>
    <context id="offrl_5">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:typedMember dimension="ffd:OfferingAxis">
                    <dei:lineNo>5</dei:lineNo>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-10-30</startDate>
            <endDate>2026-10-30</endDate>
        </period>
    </context>
    <context id="offrl_6">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:typedMember dimension="ffd:OfferingAxis">
                    <dei:lineNo>6</dei:lineNo>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-10-30</startDate>
            <endDate>2026-10-30</endDate>
        </period>
    </context>
    <context id="offrl_7">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:typedMember dimension="ffd:OfferingAxis">
                    <dei:lineNo>7</dei:lineNo>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-10-30</startDate>
            <endDate>2026-10-30</endDate>
        </period>
    </context>
    <unit id="USD">
        <measure>iso4217:USD</measure>
    </unit>
    <unit id="pure">
        <measure>pure</measure>
    </unit>
    <ffd:FormTp contextRef="rc" id="ixv-426">S-3</ffd:FormTp>
    <ffd:SubmissnTp contextRef="rc" id="ixv-427">S-3</ffd:SubmissnTp>
    <ffd:FeeExhibitTp contextRef="rc" id="ixv-428">EX-FILING FEES</ffd:FeeExhibitTp>
    <dei:EntityCentralIndexKey contextRef="rc" id="ixv-429">0000352825</dei:EntityCentralIndexKey>
    <dei:EntityRegistrantName contextRef="rc" id="ixv-430">FOSTER L B CO</dei:EntityRegistrantName>
    <ffd:OfferingTableNa contextRef="rc" id="hiddenrcOfferingTableNa" xsi:nil="true"/>
    <ffd:OffsetTableNa contextRef="rc" id="hiddenrcOffsetTableNa">N/A</ffd:OffsetTableNa>
    <ffd:CombinedProspectusTableNa contextRef="rc" id="hiddenrcCombinedProspectusTableNa">N/A</ffd:CombinedProspectusTableNa>
    <ffd:FeeRate
      contextRef="offrl_1"
      decimals="6"
      id="ixv-434"
      unitRef="pure">0.000087</ffd:FeeRate>
    <ffd:FeeRate
      contextRef="offrl_2"
      decimals="6"
      id="ixv-435"
      unitRef="pure">0.000087</ffd:FeeRate>
    <ffd:FeeRate
      contextRef="offrl_3"
      decimals="6"
      id="ixv-436"
      unitRef="pure">0.000087</ffd:FeeRate>
    <ffd:FeeRate
      contextRef="offrl_4"
      decimals="6"
      id="ixv-437"
      unitRef="pure">0.000087</ffd:FeeRate>
    <ffd:FeeRate
      contextRef="offrl_5"
      decimals="6"
      id="ixv-438"
      unitRef="pure">0.000087</ffd:FeeRate>
    <ffd:FeeRate
      contextRef="offrl_6"
      decimals="6"
      id="ixv-439"
      unitRef="pure">0.000087</ffd:FeeRate>
    <ffd:FormTp contextRef="rc" id="ixv-518">S-3</ffd:FormTp>
    <dei:EntityRegistrantName contextRef="rc" id="ixv-519">FOSTER L B CO</dei:EntityRegistrantName>
    <ffd:OfferingSctyTp contextRef="offrl_1" id="ixv-520">Equity</ffd:OfferingSctyTp>
    <ffd:OfferingSctyTitl contextRef="offrl_1" id="ixv-521">Common Stock, par value $0.01 per share</ffd:OfferingSctyTitl>
    <ffd:Rule457oFlg contextRef="offrl_1" id="ixv-522">true</ffd:Rule457oFlg>
    <ffd:OfferingSctyTp contextRef="offrl_2" id="ixv-523">Equity</ffd:OfferingSctyTp>
    <ffd:OfferingSctyTitl contextRef="offrl_2" id="ixv-524">Preferred Stock, without par value</ffd:OfferingSctyTitl>
    <ffd:Rule457oFlg contextRef="offrl_2" id="ixv-525">true</ffd:Rule457oFlg>
    <ffd:OfferingSctyTp contextRef="offrl_3" id="ixv-526">Debt</ffd:OfferingSctyTp>
    <ffd:OfferingSctyTitl contextRef="offrl_3" id="ixv-527">Debt Securities</ffd:OfferingSctyTitl>
    <ffd:Rule457oFlg contextRef="offrl_3" id="ixv-528">true</ffd:Rule457oFlg>
    <ffd:OfferingSctyTp contextRef="offrl_4" id="ixv-529">Other</ffd:OfferingSctyTp>
    <ffd:OfferingSctyTitl contextRef="offrl_4" id="ixv-530">Warrants</ffd:OfferingSctyTitl>
    <ffd:Rule457oFlg contextRef="offrl_4" id="ixv-531">true</ffd:Rule457oFlg>
    <ffd:OfferingSctyTp contextRef="offrl_5" id="ixv-532">Other</ffd:OfferingSctyTp>
    <ffd:OfferingSctyTitl contextRef="offrl_5" id="ixv-533">Subscription Rights</ffd:OfferingSctyTitl>
    <ffd:Rule457oFlg contextRef="offrl_5" id="ixv-534">true</ffd:Rule457oFlg>
    <ffd:OfferingSctyTp contextRef="offrl_6" id="ixv-535">Other</ffd:OfferingSctyTp>
    <ffd:OfferingSctyTitl contextRef="offrl_6" id="ixv-536">Units</ffd:OfferingSctyTitl>
    <ffd:Rule457oFlg contextRef="offrl_6" id="ixv-537">true</ffd:Rule457oFlg>
    <ffd:PrevslyPdFlg contextRef="offrl_7" id="ixv-538">false</ffd:PrevslyPdFlg>
    <ffd:OfferingSctyTp contextRef="offrl_7" id="ixv-539">Unallocated (Universal) Shelf</ffd:OfferingSctyTp>
    <ffd:Rule457oFlg contextRef="offrl_7" id="ixv-540">true</ffd:Rule457oFlg>
    <ffd:MaxAggtOfferingPric
      contextRef="offrl_7"
      decimals="2"
      id="ixv-541"
      unitRef="USD">180000000.00</ffd:MaxAggtOfferingPric>
    <ffd:FeeRate
      contextRef="offrl_7"
      decimals="6"
      id="ixv-542"
      unitRef="pure">0.000087</ffd:FeeRate>
    <ffd:FeeAmt
      contextRef="offrl_7"
      decimals="2"
      id="ixv-543"
      unitRef="USD">15660.00</ffd:FeeAmt>
    <ffd:TtlOfferingAmt contextRef="rc" decimals="2" id="ixv-544" unitRef="USD">180000000.00</ffd:TtlOfferingAmt>
    <ffd:TtlFeeAmt contextRef="rc" decimals="2" id="ixv-545" unitRef="USD">15660.00</ffd:TtlFeeAmt>
    <ffd:TtlPrevslyPdAmt contextRef="rc" decimals="2" id="ixv-546" unitRef="USD">0.00</ffd:TtlPrevslyPdAmt>
    <ffd:TtlOffsetAmt contextRef="rc" decimals="2" id="ixv-547" unitRef="USD">0.00</ffd:TtlOffsetAmt>
    <ffd:NetFeeAmt contextRef="rc" decimals="2" id="ixv-548" unitRef="USD">15660.00</ffd:NetFeeAmt>
    <ffd:OfferingNote contextRef="offrl_7" id="ixv-549">There are being registered under this Registration Statement such indeterminate number of shares of common stock, shares of preferred stock, debt securities, warrants, subscription rights and units of L.B. Foster Company (the "Registrant"), and a combination of such securities, separately or as units, as may be sold by the Registrant from time to time, which, collectively, shall have an initial maximum aggregate offering price not to exceed $180,000,000 (or its equivalent in any other currency used to denominate the securities). Pursuant to Rule 416 under the U.S. Securities Act of 1933, as amended (the "Securities Act"), the securities being registered hereunder include such indeterminate number of shares of common stock, shares of preferred stock, debt securities, warrants, subscription rights and units as may be issuable with respect to the securities being registered hereunder as a result of stock splits, stock dividends, or similar transactions. The proposed maximum aggregate offering price per class of security will be determined from time to time by the Registrant in connection with the issuance by the Registrant of the securities registered under this Registration Statement and is not specified as to each class of security pursuant to Instruction 2.A.iii.b. to the Instructions to the Calculation of Filing Fee Tables and Related Disclosure on Form S-3 under the Securities Act. The proposed maximum aggregate offering price per class of security has been estimated solely for purposes of calculating the registration fee in accordance with Rule 457(o) under the Securities Act. In no event will the aggregate offering price of the securities issued under the Registration Statement exceed the amount registered.</ffd:OfferingNote>
</xbrl>
