<?xml version="1.0"?>
<ownershipDocument>

    <schemaVersion>X0306</schemaVersion>

    <documentType>4/A</documentType>

    <periodOfReport>2020-01-27</periodOfReport>

    <dateOfOriginalSubmission>2020-01-28</dateOfOriginalSubmission>

    <notSubjectToSection16>0</notSubjectToSection16>

    <issuer>
        <issuerCik>0000815556</issuerCik>
        <issuerName>FASTENAL CO</issuerName>
        <issuerTradingSymbol>FAST</issuerTradingSymbol>
    </issuer>

    <reportingOwner>
        <reportingOwnerId>
            <rptOwnerCik>0001454708</rptOwnerCik>
            <rptOwnerName>Ancius Michael J</rptOwnerName>
        </reportingOwnerId>
        <reportingOwnerAddress>
            <rptOwnerStreet1>151 COACHLITE COURT</rptOwnerStreet1>
            <rptOwnerStreet2></rptOwnerStreet2>
            <rptOwnerCity>ONALASKA</rptOwnerCity>
            <rptOwnerState>WI</rptOwnerState>
            <rptOwnerZipCode>54650</rptOwnerZipCode>
            <rptOwnerStateDescription></rptOwnerStateDescription>
        </reportingOwnerAddress>
        <reportingOwnerRelationship>
            <isDirector>1</isDirector>
            <isOfficer>0</isOfficer>
            <isTenPercentOwner>0</isTenPercentOwner>
            <isOther>0</isOther>
            <officerTitle></officerTitle>
            <otherText></otherText>
        </reportingOwnerRelationship>
    </reportingOwner>

    <nonDerivativeTable>
        <nonDerivativeTransaction>
            <securityTitle>
                <value>Common Stock</value>
            </securityTitle>
            <transactionDate>
                <value>2020-01-27</value>
            </transactionDate>
            <transactionCoding>
                <transactionFormType>4</transactionFormType>
                <transactionCode>P</transactionCode>
                <equitySwapInvolved>0</equitySwapInvolved>
            </transactionCoding>
            <transactionAmounts>
                <transactionShares>
                    <value>740</value>
                </transactionShares>
                <transactionPricePerShare>
                    <value>34.94</value>
                </transactionPricePerShare>
                <transactionAcquiredDisposedCode>
                    <value>A</value>
                </transactionAcquiredDisposedCode>
            </transactionAmounts>
            <postTransactionAmounts>
                <sharesOwnedFollowingTransaction>
                    <value>22525</value>
                    <footnoteId id="F1"/>
                </sharesOwnedFollowingTransaction>
            </postTransactionAmounts>
            <ownershipNature>
                <directOrIndirectOwnership>
                    <value>D</value>
                </directOrIndirectOwnership>
            </ownershipNature>
        </nonDerivativeTransaction>
    </nonDerivativeTable>

    <derivativeTable></derivativeTable>

    <footnotes>
        <footnote id="F1">The footnote in the Form 4 filed on 1/28/2020 inaccurately identified the number of shares maintained in the reporting person's revocable trust and self directed IRA. The correct amount of shares maintained in the reporting person's revocable trust over which the reporting person and his wife share voting and investment power is 17,630 shares and 4,895 shares are attributed to his self directed IRA.</footnote>
    </footnotes>

    <ownerSignature>
        <signatureName>/s/ John J. Milek, Attorney-in-Fact</signatureName>
        <signatureDate>2020-02-24</signatureDate>
    </ownerSignature>
</ownershipDocument>
