<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.20.2</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>141</ContextCount>
  <ElementCount>231</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>false</FootnotesReported>
  <SegmentCount>22</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>4</UnitCount>
  <MyReports>
    <Report instance="smid-20200930.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R1.htm</HtmlFileName>
      <LongName>00000001 - Document - Document Entity Information</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://smithmidland.com/role/DocumentEntityInformation</Role>
      <ShortName>Document Entity Information</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>1</Position>
    </Report>
    <Report instance="smid-20200930.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R2.htm</HtmlFileName>
      <LongName>00000002 - Statement - Consolidated Balance Sheets</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://smithmidland.com/role/BalanceSheets</Role>
      <ShortName>Consolidated Balance Sheets</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>2</Position>
    </Report>
    <Report instance="smid-20200930.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R3.htm</HtmlFileName>
      <LongName>00000003 - Statement - Consolidated Balance Sheets (Parenthetical)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://smithmidland.com/role/BalanceSheetsParenthetical</Role>
      <ShortName>Consolidated Balance Sheets (Parenthetical)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>3</Position>
    </Report>
    <Report instance="smid-20200930.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R4.htm</HtmlFileName>
      <LongName>00000004 - Statement - Consolidated Statements of Income</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://smithmidland.com/role/StatementsOfIncome</Role>
      <ShortName>Consolidated Statements of Income</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>4</Position>
    </Report>
    <Report instance="smid-20200930.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R5.htm</HtmlFileName>
      <LongName>00000005 - Statement - Consolidated Statements of Stockholders' Equity</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://smithmidland.com/role/StatementsOfStockholdersEquity</Role>
      <ShortName>Consolidated Statements of Stockholders' Equity</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>5</Position>
    </Report>
    <Report instance="smid-20200930.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R6.htm</HtmlFileName>
      <LongName>00000006 - Statement - Consolidated Statements of Cash Flows</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://smithmidland.com/role/StatementsOfCashFlows</Role>
      <ShortName>Consolidated Statements of Cash Flows</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>6</Position>
    </Report>
    <Report instance="smid-20200930.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R7.htm</HtmlFileName>
      <LongName>00000007 - Disclosure - INTERIM FINANCIAL REPORTING</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://smithmidland.com/role/InterimFinancialReporting</Role>
      <ShortName>INTERIM FINANCIAL REPORTING</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>7</Position>
    </Report>
    <Report instance="smid-20200930.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R8.htm</HtmlFileName>
      <LongName>00000008 - Disclosure - NET INCOME (LOSS) PER SHARE</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://smithmidland.com/role/NetIncomeLossPerShare</Role>
      <ShortName>NET INCOME (LOSS) PER SHARE</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>8</Position>
    </Report>
    <Report instance="smid-20200930.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R9.htm</HtmlFileName>
      <LongName>00000009 - Disclosure - NOTES PAYABLE</LongName>
      <ReportType>Notes</ReportType>
      <Role>http://smithmidland.com/role/NotesPayable</Role>
      <ShortName>NOTES PAYABLE</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>9</Position>
    </Report>
    <Report instance="smid-20200930.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R10.htm</HtmlFileName>
      <LongName>00000010 - Disclosure - STOCK COMPENSATION</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://smithmidland.com/role/StockCompensation</Role>
      <ShortName>STOCK COMPENSATION</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>10</Position>
    </Report>
    <Report instance="smid-20200930.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R11.htm</HtmlFileName>
      <LongName>00000011 - Disclosure - INTERIM FINANCIAL REPORTING (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://smithmidland.com/role/InterimFinancialReportingPolicies</Role>
      <ShortName>INTERIM FINANCIAL REPORTING (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <Position>11</Position>
    </Report>
    <Report instance="smid-20200930.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R12.htm</HtmlFileName>
      <LongName>00000012 - Disclosure - INTERIM FINANCIAL REPORTING (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://smithmidland.com/role/InterimFinancialReportingTables</Role>
      <ShortName>INTERIM FINANCIAL REPORTING (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://smithmidland.com/role/InterimFinancialReporting</ParentRole>
      <Position>12</Position>
    </Report>
    <Report instance="smid-20200930.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R13.htm</HtmlFileName>
      <LongName>00000013 - Disclosure - NET INCOME (LOSS) PER SHARE (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://smithmidland.com/role/NetIncomeLossPerShareTables</Role>
      <ShortName>NET INCOME (LOSS) PER SHARE (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://smithmidland.com/role/NetIncomeLossPerShare</ParentRole>
      <Position>13</Position>
    </Report>
    <Report instance="smid-20200930.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R14.htm</HtmlFileName>
      <LongName>00000014 - Disclosure - STOCK COMPENSATION (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://smithmidland.com/role/StockCompensationTables</Role>
      <ShortName>STOCK COMPENSATION (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://smithmidland.com/role/StockCompensation</ParentRole>
      <Position>14</Position>
    </Report>
    <Report instance="smid-20200930.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R15.htm</HtmlFileName>
      <LongName>00000015 - Disclosure - INTERIM FINANCIAL REPORTING (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://smithmidland.com/role/InterimFinancialReportingDetails</Role>
      <ShortName>INTERIM FINANCIAL REPORTING (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://smithmidland.com/role/InterimFinancialReportingTables</ParentRole>
      <Position>15</Position>
    </Report>
    <Report instance="smid-20200930.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R16.htm</HtmlFileName>
      <LongName>00000016 - Disclosure - INTERIM FINANCIAL REPORTING (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://smithmidland.com/role/InterimFinancialReportingDetailsNarrative</Role>
      <ShortName>INTERIM FINANCIAL REPORTING (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://smithmidland.com/role/InterimFinancialReportingTables</ParentRole>
      <Position>16</Position>
    </Report>
    <Report instance="smid-20200930.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R17.htm</HtmlFileName>
      <LongName>00000017 - Disclosure - NET INCOME (LOSS) PER SHARE (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://smithmidland.com/role/NetIncomeLossPerShareDetails</Role>
      <ShortName>NET INCOME (LOSS) PER SHARE (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://smithmidland.com/role/NetIncomeLossPerShareTables</ParentRole>
      <Position>17</Position>
    </Report>
    <Report instance="smid-20200930.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R18.htm</HtmlFileName>
      <LongName>00000018 - Disclosure - NOTES PAYABLE (Details Narrative)</LongName>
      <ReportType>Notes</ReportType>
      <Role>http://smithmidland.com/role/NotesPayableDetailsNarrative</Role>
      <ShortName>NOTES PAYABLE (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://smithmidland.com/role/NotesPayable</ParentRole>
      <Position>18</Position>
    </Report>
    <Report instance="smid-20200930.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R19.htm</HtmlFileName>
      <LongName>00000019 - Disclosure - STOCK COMPENSATION (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://smithmidland.com/role/StockCompensationDetails</Role>
      <ShortName>STOCK COMPENSATION (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://smithmidland.com/role/StockCompensationTables</ParentRole>
      <Position>19</Position>
    </Report>
    <Report instance="smid-20200930.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R20.htm</HtmlFileName>
      <LongName>00000020 - Disclosure - STOCK COMPENSATION (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://smithmidland.com/role/StockCompensationDetailsNarrative</Role>
      <ShortName>STOCK COMPENSATION (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://smithmidland.com/role/StockCompensationTables</ParentRole>
      <Position>20</Position>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <LongName>All Reports</LongName>
      <ReportType>Book</ReportType>
      <ShortName>All Reports</ShortName>
    </Report>
  </MyReports>
  <InputFiles>
    <File>smid-20200930.xml</File>
    <File>smid-20200930.xsd</File>
    <File>smid-20200930_cal.xml</File>
    <File>smid-20200930_def.xml</File>
    <File>smid-20200930_lab.xml</File>
    <File>smid-20200930_pre.xml</File>
  </InputFiles>
  <SupplementalFiles/>
  <BaseTaxonomies>
    <BaseTaxonomy>http://fasb.org/srt/2020-01-31</BaseTaxonomy>
    <BaseTaxonomy>http://fasb.org/us-gaap/2020-01-31</BaseTaxonomy>
    <BaseTaxonomy>http://xbrl.sec.gov/dei/2020-01-31</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>true</HasPresentationLinkbase>
  <HasCalculationLinkbase>true</HasCalculationLinkbase>
</FilingSummary>
