<ownershipDocument>
    <schemaVersion>X0101</schemaVersion>

    <documentType>4</documentType>
<periodOfReport>2003-05-01</periodOfReport>
<notSubjectToSection16>0</notSubjectToSection16>
    <issuer>
        <issuerCik>0000815556</issuerCik>
        <issuerName>FASTENAL CO</issuerName>
        <issuerTradingSymbol>FAST</issuerTradingSymbol>
</issuer>
<reportingOwner><reportingOwnerId>
            <rptOwnerCik>0001246432</rptOwnerCik>
            <rptOwnerName>WISECUP REYNE K</rptOwnerName>
        </reportingOwnerId>
        <reportingOwnerAddress>
            <rptOwnerStreet1>  </rptOwnerStreet1>
            <rptOwnerStreet2>  </rptOwnerStreet2>
            <rptOwnerCity>  </rptOwnerCity>
            <rptOwnerState>  </rptOwnerState>
            <rptOwnerZipCode>  </rptOwnerZipCode>
        </reportingOwnerAddress>
            <reportingOwnerRelationship>
<isDirector>1</isDirector>
<isOfficer>0</isOfficer>
<isTenPercentOwner>0</isTenPercentOwner>
<isOther>0</isOther>
<officerTitle></officerTitle>
<otherText></otherText>
</reportingOwnerRelationship>
</reportingOwner>
<derivativeSecurity><securityTitle><value>Stock Option (right to buy)</value>
</securityTitle>
<conversionOrExercisePrice><value>40.00</value>
</conversionOrExercisePrice>
<transactionDate><value>2003-05-01</value>
</transactionDate>
<transactionCoding><transactionFormType>4</transactionFormType>
<transactionCode>A</transactionCode>
<equitySwapInvolved>0</equitySwapInvolved>
</transactionCoding>
<transactionAmounts><transactionShares><value>1400</value>
</transactionShares>
<transactionValue><value>0</value>
</transactionValue>
<transactionAcquiredDisposedCode><value>A</value>
</transactionAcquiredDisposedCode>
</transactionAmounts>
<exerciseDate><value>2006-06-01</value>
</exerciseDate>
<expirationDate><value>2006-11-30</value>
</expirationDate>
<underlyingSecurity><underlyingSecurityTitle><value>Common Stock</value>
</underlyingSecurityTitle>
<underlyingSecurityShares><value>1400</value>
</underlyingSecurityShares>
</underlyingSecurity>
<postTransactionAmounts><sharesOwnedFollowingTransaction><value>1400</value>
</sharesOwnedFollowingTransaction>
</postTransactionAmounts>
<ownershipNature><directOrIndirectOwnership><value>D</value>
</directOrIndirectOwnership>
<natureOfOwnership><value></value>
</natureOfOwnership>
</ownershipNature>
</derivativeSecurity>
<footnotes></footnotes>
<ownerSignature><signatureName>Jennifer R. Mewaldt, Attorney-in-Fact</signatureName>
<signatureDate>2003-07-03</signatureDate>
</ownerSignature>
</ownershipDocument>

