<?xml version="1.0" encoding="utf-8"?>
<FilingSummary xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <Version>2.2.0.7</Version>
  <MyReports>
    <Report>
      <IsDefault>true</IsDefault>
      <ReportType>Sheet</ReportType>
      <LongName>00090 - Document - Document and Entity Information</LongName>
      <ShortName>Document and Entity Information</ShortName>
      <Role>http://www.fastenal.com/taxonomy/role/DocumentDei</Role>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <XmlFileName>R1.xml</XmlFileName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ReportType>Sheet</ReportType>
      <LongName>00100 - Statement - Consolidated Balance Sheets</LongName>
      <ShortName>Consolidated Balance Sheets</ShortName>
      <Role>http://www.fastenal.com/taxonomy/role/StatementOfFinancialPositionClassified</Role>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <XmlFileName>R2.xml</XmlFileName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ReportType>Sheet</ReportType>
      <LongName>00105 - Statement - Consolidated Balance Sheets (Parenthetical)</LongName>
      <ShortName>Consolidated Balance Sheets (Parenthetical)</ShortName>
      <Role>http://www.fastenal.com/taxonomy/role/StatementConsolidatedBalanceSheetsParenthetical</Role>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <XmlFileName>R3.xml</XmlFileName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ReportType>Sheet</ReportType>
      <LongName>00200 - Statement - Consolidated Statements of Earnings</LongName>
      <ShortName>Consolidated Statements of Earnings</ShortName>
      <Role>http://www.fastenal.com/taxonomy/role/StatementOfIncome</Role>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <XmlFileName>R4.xml</XmlFileName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ReportType>Sheet</ReportType>
      <LongName>00300 - Statement - Consolidated Statements of Cash Flows</LongName>
      <ShortName>Consolidated Statements of Cash Flows</ShortName>
      <Role>http://www.fastenal.com/taxonomy/role/StatementOfCashFlowsIndirect</Role>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <XmlFileName>R5.xml</XmlFileName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ReportType>Sheet</ReportType>
      <LongName>10101 - Disclosure - Basis of Presentation</LongName>
      <ShortName>Basis of Presentation</ShortName>
      <Role>http://www.fastenal.com/taxonomy/role/DisclosureBasisOfPresentation2</Role>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <XmlFileName>R6.xml</XmlFileName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ReportType>Sheet</ReportType>
      <LongName>10201 - Disclosure - Stockholders' Equity</LongName>
      <ShortName>Stockholders' Equity</ShortName>
      <Role>http://www.fastenal.com/taxonomy/role/DisclosureStockholdersEquity</Role>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <XmlFileName>R7.xml</XmlFileName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ReportType>Sheet</ReportType>
      <LongName>10301 - Disclosure - Comprehensive Income</LongName>
      <ShortName>Comprehensive Income</ShortName>
      <Role>http://www.fastenal.com/taxonomy/role/DisclosureComprehensiveIncome</Role>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <XmlFileName>R8.xml</XmlFileName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ReportType>Sheet</ReportType>
      <LongName>10401 - Disclosure - Unrealized Investment Gains and Losses</LongName>
      <ShortName>Unrealized Investment Gains and Losses</ShortName>
      <Role>http://www.fastenal.com/taxonomy/role/DisclosureUnrealizedInvestmentGainsAndLosses</Role>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <XmlFileName>R9.xml</XmlFileName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ReportType>Sheet</ReportType>
      <LongName>10501 - Disclosure - Operating Leases with Guarantees</LongName>
      <ShortName>Operating Leases with Guarantees</ShortName>
      <Role>http://www.fastenal.com/taxonomy/role/DisclosureOperatingLeasesWithGuarantees</Role>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <XmlFileName>R10.xml</XmlFileName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ReportType>Sheet</ReportType>
      <LongName>10601 - Disclosure - Income Taxes</LongName>
      <ShortName>Income Taxes</ShortName>
      <Role>http://www.fastenal.com/taxonomy/role/DisclosureIncomeTaxes</Role>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <XmlFileName>R11.xml</XmlFileName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ReportType>Sheet</ReportType>
      <LongName>10701 - Disclosure - Contingencies</LongName>
      <ShortName>Contingencies</ShortName>
      <Role>http://www.fastenal.com/taxonomy/role/DisclosureContingencies2</Role>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <XmlFileName>R12.xml</XmlFileName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ReportType>Book</ReportType>
      <LongName>All Reports</LongName>
      <ShortName>All Reports</ShortName>
      <Role />
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <XmlFileName />
    </Report>
  </MyReports>
  <EntityCount>1</EntityCount>
  <ContextCount>9</ContextCount>
  <SegmentCount>0</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <UnitCount>3</UnitCount>
  <ElementCount>84</ElementCount>
  <FootnotesReported>false</FootnotesReported>
  <TuplesReported>false</TuplesReported>
  <ContextSummary>
    <ContextSummary>
      <ContextName>As_Of_12_31_2009</ContextName>
      <ElementCount>29</ElementCount>
    </ContextSummary>
    <ContextSummary>
      <ContextName>Duration_7_1_2010_To_9_30_2010</ContextName>
      <ElementCount>14</ElementCount>
    </ContextSummary>
    <ContextSummary>
      <ContextName>As_Of_12_31_2008</ContextName>
      <ElementCount>1</ElementCount>
    </ContextSummary>
    <ContextSummary>
      <ContextName>As_Of_9_30_2010</ContextName>
      <ElementCount>29</ElementCount>
    </ContextSummary>
    <ContextSummary>
      <ContextName>As_Of_10_19_2010</ContextName>
      <ElementCount>1</ElementCount>
    </ContextSummary>
    <ContextSummary>
      <ContextName>As_Of_9_30_2009</ContextName>
      <ElementCount>1</ElementCount>
    </ContextSummary>
    <ContextSummary>
      <ContextName>Duration_1_1_2009_To_9_30_2009</ContextName>
      <ElementCount>38</ElementCount>
    </ContextSummary>
    <ContextSummary>
      <ContextName>Duration_1_1_2010_To_9_30_2010</ContextName>
      <ElementCount>54</ElementCount>
    </ContextSummary>
    <ContextSummary>
      <ContextName>Duration_7_1_2009_To_9_30_2009</ContextName>
      <ElementCount>14</ElementCount>
    </ContextSummary>
  </ContextSummary>
  <BaseTaxonomies />
  <HasPresentationLinkbase>true</HasPresentationLinkbase>
  <HasCalculationLinkbase>true</HasCalculationLinkbase>
</FilingSummary>
