<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.24.1</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>124</ContextCount>
  <ElementCount>311</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>true</FootnotesReported>
  <SegmentCount>54</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>7</UnitCount>
  <MyReports>
    <Report instance="pmd20231231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R1.htm</HtmlFileName>
      <LongName>000 - Document - Document And Entity Information</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.psychemedics.com/20231231/role/statement-document-and-entity-information</Role>
      <ShortName>Document And Entity Information</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>1</Position>
    </Report>
    <Report instance="pmd20231231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R2.htm</HtmlFileName>
      <LongName>001 - Statement - Consolidated Balance Sheets</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.psychemedics.com/20231231/role/statement-consolidated-balance-sheets</Role>
      <ShortName>Consolidated Balance Sheets</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>2</Position>
    </Report>
    <Report instance="pmd20231231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R3.htm</HtmlFileName>
      <LongName>002 - Statement - Consolidated Balance Sheets (Parentheticals)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.psychemedics.com/20231231/role/statement-consolidated-balance-sheets-parentheticals</Role>
      <ShortName>Consolidated Balance Sheets (Parentheticals)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>3</Position>
    </Report>
    <Report instance="pmd20231231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R4.htm</HtmlFileName>
      <LongName>003 - Statement - Consolidated Statements of Operations and Comprehensive Loss</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.psychemedics.com/20231231/role/statement-consolidated-statements-of-operations-and-comprehensive-loss</Role>
      <ShortName>Consolidated Statements of Operations and Comprehensive Loss</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>4</Position>
    </Report>
    <Report instance="pmd20231231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R5.htm</HtmlFileName>
      <LongName>004 - Statement - Consolidated Statements of Shareholders' Equity</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.psychemedics.com/20231231/role/statement-consolidated-statements-of-shareholders-equity</Role>
      <ShortName>Consolidated Statements of Shareholders' Equity</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>5</Position>
    </Report>
    <Report instance="pmd20231231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R6.htm</HtmlFileName>
      <LongName>005 - Statement - Consolidated Statements of Shareholders' Equity (Parentheticals)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.psychemedics.com/20231231/role/statement-consolidated-statements-of-shareholders-equity-parentheticals</Role>
      <ShortName>Consolidated Statements of Shareholders' Equity (Parentheticals)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>6</Position>
    </Report>
    <Report instance="pmd20231231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R7.htm</HtmlFileName>
      <LongName>006 - Statement - Consolidated Statements of Cash Flows</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.psychemedics.com/20231231/role/statement-consolidated-statements-of-cash-flows</Role>
      <ShortName>Consolidated Statements of Cash Flows</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>7</Position>
    </Report>
    <Report instance="pmd20231231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R8.htm</HtmlFileName>
      <LongName>007 - Disclosure - Note 1 - Nature of Business</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.psychemedics.com/20231231/role/statement-note-1-nature-of-business</Role>
      <ShortName>Note 1 - Nature of Business</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>8</Position>
    </Report>
    <Report instance="pmd20231231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R9.htm</HtmlFileName>
      <LongName>008 - Disclosure - Note 2 - Summary of Significant Accounting Policies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.psychemedics.com/20231231/role/statement-note-2-summary-of-significant-accounting-policies</Role>
      <ShortName>Note 2 - Summary of Significant Accounting Policies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>9</Position>
    </Report>
    <Report instance="pmd20231231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R10.htm</HtmlFileName>
      <LongName>009 - Disclosure - Note 3 - Accounts Receivable</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.psychemedics.com/20231231/role/statement-note-3-accounts-receivable</Role>
      <ShortName>Note 3 - Accounts Receivable</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>10</Position>
    </Report>
    <Report instance="pmd20231231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R11.htm</HtmlFileName>
      <LongName>010 - Disclosure - Note 4 - Accrued Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.psychemedics.com/20231231/role/statement-note-4-accrued-expenses</Role>
      <ShortName>Note 4 - Accrued Expenses</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>11</Position>
    </Report>
    <Report instance="pmd20231231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R12.htm</HtmlFileName>
      <LongName>011 - Disclosure - Note 5 - Income Taxes</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.psychemedics.com/20231231/role/statement-note-5-income-taxes</Role>
      <ShortName>Note 5 - Income Taxes</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>12</Position>
    </Report>
    <Report instance="pmd20231231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R13.htm</HtmlFileName>
      <LongName>012 - Disclosure - Note 6 - Preferred Stock</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.psychemedics.com/20231231/role/statement-note-6-preferred-stock</Role>
      <ShortName>Note 6 - Preferred Stock</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>13</Position>
    </Report>
    <Report instance="pmd20231231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R14.htm</HtmlFileName>
      <LongName>013 - Disclosure - Note 7 - Stock-based Awards</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.psychemedics.com/20231231/role/statement-note-7-stockbased-awards</Role>
      <ShortName>Note 7 - Stock-based Awards</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>14</Position>
    </Report>
    <Report instance="pmd20231231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R15.htm</HtmlFileName>
      <LongName>014 - Disclosure - Note 8 - Employee Benefit Plan</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.psychemedics.com/20231231/role/statement-note-8-employee-benefit-plan</Role>
      <ShortName>Note 8 - Employee Benefit Plan</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>15</Position>
    </Report>
    <Report instance="pmd20231231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R16.htm</HtmlFileName>
      <LongName>015 - Disclosure - Note 9 - Commitments and Contingencies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.psychemedics.com/20231231/role/statement-note-9-commitments-and-contingencies</Role>
      <ShortName>Note 9 - Commitments and Contingencies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>16</Position>
    </Report>
    <Report instance="pmd20231231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R17.htm</HtmlFileName>
      <LongName>016 - Disclosure - Note 10 - Operating Leases</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.psychemedics.com/20231231/role/statement-note-10-operating-leases-</Role>
      <ShortName>Note 10 - Operating Leases</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>17</Position>
    </Report>
    <Report instance="pmd20231231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R18.htm</HtmlFileName>
      <LongName>017 - Disclosure - Note 11 - Debt and Other Financing Arrangements</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.psychemedics.com/20231231/role/statement-note-11-debt-and-other-financing-arrangements</Role>
      <ShortName>Note 11 - Debt and Other Financing Arrangements</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>18</Position>
    </Report>
    <Report instance="pmd20231231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R19.htm</HtmlFileName>
      <LongName>018 - Disclosure - Note 12 - Other Income (Expense)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.psychemedics.com/20231231/role/statement-note-12-other-income-expense</Role>
      <ShortName>Note 12 - Other Income (Expense)</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>19</Position>
    </Report>
    <Report instance="pmd20231231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R20.htm</HtmlFileName>
      <LongName>019 - Disclosure - Note 13 - Business Segment Reporting</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.psychemedics.com/20231231/role/statement-note-13-business-segment-reporting</Role>
      <ShortName>Note 13 - Business Segment Reporting</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>20</Position>
    </Report>
    <Report instance="pmd20231231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R21.htm</HtmlFileName>
      <LongName>995445 - Disclosure - Insider Trading Arrangements</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements</Role>
      <ShortName>Insider Trading Arrangements</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>21</Position>
    </Report>
    <Report instance="pmd20231231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R22.htm</HtmlFileName>
      <LongName>995465 - Disclosure - Significant Accounting Policies (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.psychemedics.com/20231231/role/statement-significant-accounting-policies-policies</Role>
      <ShortName>Significant Accounting Policies (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <ParentRole>http://www.psychemedics.com/20231231/role/statement-note-2-summary-of-significant-accounting-policies</ParentRole>
      <Position>22</Position>
    </Report>
    <Report instance="pmd20231231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R23.htm</HtmlFileName>
      <LongName>995466 - Disclosure - Note 2 - Summary of Significant Accounting Policies (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.psychemedics.com/20231231/role/statement-note-2-summary-of-significant-accounting-policies-tables</Role>
      <ShortName>Note 2 - Summary of Significant Accounting Policies (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.psychemedics.com/20231231/role/statement-note-2-summary-of-significant-accounting-policies</ParentRole>
      <Position>23</Position>
    </Report>
    <Report instance="pmd20231231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R24.htm</HtmlFileName>
      <LongName>995467 - Disclosure - Note 3 - Accounts Receivable (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.psychemedics.com/20231231/role/statement-note-3-accounts-receivable-tables</Role>
      <ShortName>Note 3 - Accounts Receivable (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.psychemedics.com/20231231/role/statement-note-3-accounts-receivable</ParentRole>
      <Position>24</Position>
    </Report>
    <Report instance="pmd20231231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R25.htm</HtmlFileName>
      <LongName>995468 - Disclosure - Note 4 - Accrued Expenses (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.psychemedics.com/20231231/role/statement-note-4-accrued-expenses-tables</Role>
      <ShortName>Note 4 - Accrued Expenses (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.psychemedics.com/20231231/role/statement-note-4-accrued-expenses</ParentRole>
      <Position>25</Position>
    </Report>
    <Report instance="pmd20231231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R26.htm</HtmlFileName>
      <LongName>995469 - Disclosure - Note 5 - Income Taxes (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.psychemedics.com/20231231/role/statement-note-5-income-taxes-tables</Role>
      <ShortName>Note 5 - Income Taxes (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.psychemedics.com/20231231/role/statement-note-5-income-taxes</ParentRole>
      <Position>26</Position>
    </Report>
    <Report instance="pmd20231231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R27.htm</HtmlFileName>
      <LongName>995470 - Disclosure - Note 7 - Stock-based Awards (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.psychemedics.com/20231231/role/statement-note-7-stockbased-awards-tables</Role>
      <ShortName>Note 7 - Stock-based Awards (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.psychemedics.com/20231231/role/statement-note-7-stockbased-awards</ParentRole>
      <Position>27</Position>
    </Report>
    <Report instance="pmd20231231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R28.htm</HtmlFileName>
      <LongName>995471 - Disclosure - Note 10 - Operating Leases (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.psychemedics.com/20231231/role/statement-note-10-operating-leases-tables</Role>
      <ShortName>Note 10 - Operating Leases (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.psychemedics.com/20231231/role/statement-note-10-operating-leases-</ParentRole>
      <Position>28</Position>
    </Report>
    <Report instance="pmd20231231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R29.htm</HtmlFileName>
      <LongName>995472 - Disclosure - Note 11 - Debt and Other Financing Arrangements (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.psychemedics.com/20231231/role/statement-note-11-debt-and-other-financing-arrangements-tables</Role>
      <ShortName>Note 11 - Debt and Other Financing Arrangements (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.psychemedics.com/20231231/role/statement-note-11-debt-and-other-financing-arrangements</ParentRole>
      <Position>29</Position>
    </Report>
    <Report instance="pmd20231231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R30.htm</HtmlFileName>
      <LongName>995473 - Disclosure - Note 13 - Business Segment Reporting (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.psychemedics.com/20231231/role/statement-note-13-business-segment-reporting-tables</Role>
      <ShortName>Note 13 - Business Segment Reporting (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.psychemedics.com/20231231/role/statement-note-13-business-segment-reporting</ParentRole>
      <Position>30</Position>
    </Report>
    <Report instance="pmd20231231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R31.htm</HtmlFileName>
      <LongName>995474 - Disclosure - Note 1 - Nature of Business (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.psychemedics.com/20231231/role/statement-note-1-nature-of-business-details-textual</Role>
      <ShortName>Note 1 - Nature of Business (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.psychemedics.com/20231231/role/statement-note-1-nature-of-business</ParentRole>
      <Position>31</Position>
    </Report>
    <Report instance="pmd20231231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R32.htm</HtmlFileName>
      <LongName>995475 - Disclosure - Note 2 - Summary of Significant Accounting Policies (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.psychemedics.com/20231231/role/statement-note-2-summary-of-significant-accounting-policies-details-textual</Role>
      <ShortName>Note 2 - Summary of Significant Accounting Policies (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.psychemedics.com/20231231/role/statement-note-2-summary-of-significant-accounting-policies-tables</ParentRole>
      <Position>32</Position>
    </Report>
    <Report instance="pmd20231231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R33.htm</HtmlFileName>
      <LongName>995476 - Disclosure - Note 2 - Summary of Significant Accounting Policies - Revenue by Major Source (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.psychemedics.com/20231231/role/statement-note-2-summary-of-significant-accounting-policies-revenue-by-major-source-details</Role>
      <ShortName>Note 2 - Summary of Significant Accounting Policies - Revenue by Major Source (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>33</Position>
    </Report>
    <Report instance="pmd20231231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R34.htm</HtmlFileName>
      <LongName>995477 - Disclosure - Note 2 - Summary of Significant Accounting Policies - Summary of Stock Compensation Expense by Income Statement Account (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.psychemedics.com/20231231/role/statement-note-2-summary-of-significant-accounting-policies-summary-of-stock-compensation-expense-by-income-statement-account-details</Role>
      <ShortName>Note 2 - Summary of Significant Accounting Policies - Summary of Stock Compensation Expense by Income Statement Account (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>34</Position>
    </Report>
    <Report instance="pmd20231231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R35.htm</HtmlFileName>
      <LongName>995478 - Disclosure - Note 2 - Summary of Significant Accounting Policies - Basic and Diluted Weighted Average Common Shares Outstanding (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.psychemedics.com/20231231/role/statement-note-2-summary-of-significant-accounting-policies-basic-and-diluted-weighted-average-common-shares-outstanding-details</Role>
      <ShortName>Note 2 - Summary of Significant Accounting Policies - Basic and Diluted Weighted Average Common Shares Outstanding (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>35</Position>
    </Report>
    <Report instance="pmd20231231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R36.htm</HtmlFileName>
      <LongName>995479 - Disclosure - Note 2 - Summary of Significant Accounting Policies - Share-Based Payment Arrangement, Cost by Plan (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.psychemedics.com/20231231/role/statement-note-2-summary-of-significant-accounting-policies-sharebased-payment-arrangement-cost-by-plan-details</Role>
      <ShortName>Note 2 - Summary of Significant Accounting Policies - Share-Based Payment Arrangement, Cost by Plan (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>36</Position>
    </Report>
    <Report instance="pmd20231231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R37.htm</HtmlFileName>
      <LongName>995480 - Disclosure - Note 3 - Accounts Receivable - Summary of the Allowance for Doubtful Accounts (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.psychemedics.com/20231231/role/statement-note-3-accounts-receivable-summary-of-the-allowance-for-doubtful-accounts-details</Role>
      <ShortName>Note 3 - Accounts Receivable - Summary of the Allowance for Doubtful Accounts (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>37</Position>
    </Report>
    <Report instance="pmd20231231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R38.htm</HtmlFileName>
      <LongName>995481 - Disclosure - Note 4 - Accrued Expenses - Summary of Accrued Expenses (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.psychemedics.com/20231231/role/statement-note-4-accrued-expenses-summary-of-accrued-expenses-details</Role>
      <ShortName>Note 4 - Accrued Expenses - Summary of Accrued Expenses (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>38</Position>
    </Report>
    <Report instance="pmd20231231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R39.htm</HtmlFileName>
      <LongName>995482 - Disclosure - Note 5 - Income Taxes (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.psychemedics.com/20231231/role/statement-note-5-income-taxes-details-textual</Role>
      <ShortName>Note 5 - Income Taxes (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.psychemedics.com/20231231/role/statement-note-5-income-taxes-tables</ParentRole>
      <Position>39</Position>
    </Report>
    <Report instance="pmd20231231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R40.htm</HtmlFileName>
      <LongName>995483 - Disclosure - Note 5 - Income Taxes - Summary of Income Tax Provision (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.psychemedics.com/20231231/role/statement-note-5-income-taxes-summary-of-income-tax-provision-details</Role>
      <ShortName>Note 5 - Income Taxes - Summary of Income Tax Provision (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>40</Position>
    </Report>
    <Report instance="pmd20231231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R41.htm</HtmlFileName>
      <LongName>995484 - Disclosure - Note 5 - Income Taxes - Reconciliation of Effective Rate with Federal Statutory Rate (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.psychemedics.com/20231231/role/statement-note-5-income-taxes-reconciliation-of-effective-rate-with-federal-statutory-rate-details</Role>
      <ShortName>Note 5 - Income Taxes - Reconciliation of Effective Rate with Federal Statutory Rate (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>41</Position>
    </Report>
    <Report instance="pmd20231231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R42.htm</HtmlFileName>
      <LongName>995485 - Disclosure - Note 5 - Income Taxes - Components of Net Deferred Tax Assets and Liabilities (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.psychemedics.com/20231231/role/statement-note-5-income-taxes-components-of-net-deferred-tax-assets-and-liabilities-details</Role>
      <ShortName>Note 5 - Income Taxes - Components of Net Deferred Tax Assets and Liabilities (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>42</Position>
    </Report>
    <Report instance="pmd20231231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R43.htm</HtmlFileName>
      <LongName>995486 - Disclosure - Note 7 - Stock-based Awards (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.psychemedics.com/20231231/role/statement-note-7-stockbased-awards-details-textual</Role>
      <ShortName>Note 7 - Stock-based Awards (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.psychemedics.com/20231231/role/statement-note-7-stockbased-awards-tables</ParentRole>
      <Position>43</Position>
    </Report>
    <Report instance="pmd20231231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R44.htm</HtmlFileName>
      <LongName>995487 - Disclosure - Note 7 - Stock-based Awards - Summary of Shares Granted Under the 2006 Incentive Plan (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.psychemedics.com/20231231/role/statement-note-7-stockbased-awards-summary-of-shares-granted-under-the-2006-incentive-plan-details</Role>
      <ShortName>Note 7 - Stock-based Awards - Summary of Shares Granted Under the 2006 Incentive Plan (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>44</Position>
    </Report>
    <Report instance="pmd20231231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R45.htm</HtmlFileName>
      <LongName>995488 - Disclosure - Note 7 - Stock-based Awards - Stock Option Activity (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.psychemedics.com/20231231/role/statement-note-7-stockbased-awards-stock-option-activity-details</Role>
      <ShortName>Note 7 - Stock-based Awards - Stock Option Activity (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>45</Position>
    </Report>
    <Report instance="pmd20231231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R46.htm</HtmlFileName>
      <LongName>995489 - Disclosure - Note 7 - Stock-based Awards - Nonvested Award Activity (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.psychemedics.com/20231231/role/statement-note-7-stockbased-awards-nonvested-award-activity-details</Role>
      <ShortName>Note 7 - Stock-based Awards - Nonvested Award Activity (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>46</Position>
    </Report>
    <Report instance="pmd20231231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R47.htm</HtmlFileName>
      <LongName>995490 - Disclosure - Note 8 - Employee Benefit Plan (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.psychemedics.com/20231231/role/statement-note-8-employee-benefit-plan-details-textual</Role>
      <ShortName>Note 8 - Employee Benefit Plan (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.psychemedics.com/20231231/role/statement-note-8-employee-benefit-plan</ParentRole>
      <Position>47</Position>
    </Report>
    <Report instance="pmd20231231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R48.htm</HtmlFileName>
      <LongName>995491 - Disclosure - Note 9 - Commitments and Contingencies (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.psychemedics.com/20231231/role/statement-note-9-commitments-and-contingencies-details-textual</Role>
      <ShortName>Note 9 - Commitments and Contingencies (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.psychemedics.com/20231231/role/statement-note-9-commitments-and-contingencies</ParentRole>
      <Position>48</Position>
    </Report>
    <Report instance="pmd20231231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R49.htm</HtmlFileName>
      <LongName>995492 - Disclosure - Note 10 - Operating Leases (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.psychemedics.com/20231231/role/statement-note-10-operating-leases-details-textual</Role>
      <ShortName>Note 10 - Operating Leases (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.psychemedics.com/20231231/role/statement-note-10-operating-leases-tables</ParentRole>
      <Position>49</Position>
    </Report>
    <Report instance="pmd20231231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R50.htm</HtmlFileName>
      <LongName>995493 - Disclosure - Note 10 - Operating Leases - Maturities of Lease Liabilities (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.psychemedics.com/20231231/role/statement-note-10-operating-leases-maturities-of-lease-liabilities-details</Role>
      <ShortName>Note 10 - Operating Leases - Maturities of Lease Liabilities (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>50</Position>
    </Report>
    <Report instance="pmd20231231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R51.htm</HtmlFileName>
      <LongName>995494 - Disclosure - Note 11 - Debt and Other Financing Arrangements (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.psychemedics.com/20231231/role/statement-note-11-debt-and-other-financing-arrangements-details-textual</Role>
      <ShortName>Note 11 - Debt and Other Financing Arrangements (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.psychemedics.com/20231231/role/statement-note-11-debt-and-other-financing-arrangements-tables</ParentRole>
      <Position>51</Position>
    </Report>
    <Report instance="pmd20231231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R52.htm</HtmlFileName>
      <LongName>995495 - Disclosure - Note 11 - Debt and Other Financing Arrangements - Schedule of Debt Repayments (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.psychemedics.com/20231231/role/statement-note-11-debt-and-other-financing-arrangements-schedule-of-debt-repayments-details</Role>
      <ShortName>Note 11 - Debt and Other Financing Arrangements - Schedule of Debt Repayments (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>52</Position>
    </Report>
    <Report instance="pmd20231231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R53.htm</HtmlFileName>
      <LongName>995496 - Disclosure - Note 12 - Other Income (Expense) (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.psychemedics.com/20231231/role/statement-note-12-other-income-expense-details-textual</Role>
      <ShortName>Note 12 - Other Income (Expense) (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.psychemedics.com/20231231/role/statement-note-12-other-income-expense</ParentRole>
      <Position>53</Position>
    </Report>
    <Report instance="pmd20231231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R54.htm</HtmlFileName>
      <LongName>995497 - Disclosure - Note 13 - Business Segment Reporting (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.psychemedics.com/20231231/role/statement-note-13-business-segment-reporting-details-textual</Role>
      <ShortName>Note 13 - Business Segment Reporting (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.psychemedics.com/20231231/role/statement-note-13-business-segment-reporting-tables</ParentRole>
      <Position>54</Position>
    </Report>
    <Report instance="pmd20231231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R55.htm</HtmlFileName>
      <LongName>995498 - Disclosure - Note 13 - Business Segment Reporting - Revenue by Major Source (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.psychemedics.com/20231231/role/statement-note-13-business-segment-reporting-revenue-by-major-source-details</Role>
      <ShortName>Note 13 - Business Segment Reporting - Revenue by Major Source (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>55</Position>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <LongName>All Reports</LongName>
      <ReportType>Book</ReportType>
      <ShortName>All Reports</ShortName>
    </Report>
  </MyReports>
  <Logs>
    <Log type="Warning">[dq-0542-Deprecated-Concept] Concept ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy in us-gaap/2023 used in 1 facts was deprecated in us-gaap/2024 as of 2024 and should not be used. pmd20231231_10k.htm 5496</Log>
    <Log type="Warning">[ix-0514-Hidden-Fact-Eligible-For-Transform] WARN: 41 fact(s) appearing in ix:hidden were eligible for transformation: dei:CurrentFiscalYearEndDate, ecd:NonRule10b51ArrAdoptedFlag, ecd:NonRule10b51ArrTrmntdFlag, ecd:Rule10b51ArrAdoptedFlag, ecd:Rule10b51ArrTrmntdFlag, pmd:EffectiveIncomeTaxRateReconciliationPermanentDifferences, pmd:IncomeTaxReconciliationForeignIncomeTaxWitholdings, pmd:NumberOfMajorCustomers, us-gaap:CashEquivalentsAtCarryingValue, us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount, us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance, us-gaap:FiniteLivedIntangibleAssetUsefulLife, us-gaap:InterestIncomeOther, us-gaap:NumberOfOperatingSegments, us-gaap:OperatingLossCarryforwards, us-gaap:PreferredStockSharesIssued, us-gaap:PreferredStockSharesOutstanding, us-gaap:PropertyPlantAndEquipmentUsefulLife, us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1, us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod, us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod, us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1, us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2, us-gaap:TaxCreditCarryforwardAmount -  pmd20231231_10k.htm 10, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52</Log>
    <Log type="Warning">[DQC.US.0099.9533] The following elements are in the presentation linkbase of http://www.psychemedics.com/20231231/role/statement-consolidated-statements-of-cash-flows but are not included in any calculation relationship in the filing.

OperatingLeasePayments, RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability

All elements appearing in the face of the financial statements should be included in a calculation relationship somewhere in the filing. Items not included in the financial statement calculations but included in the presentation are referred to as parenthetical items. These usually appear as a referenced item, or as a value in parenthesis describing that the value reported includes another specific amount.  These values should be reported in a seperate link role for parenthetical items.

This rule will produce an error irrespective of a fact value being entered for the item(s) listed above.

If the item is an additional disclosure in the cash flow statement then make sure that is included as a child of one of the following abstract items: {nonCFabstracts} - pmd20231231_10k.htm  - pmd20231231_10k.htm </Log>
  </Logs>
  <InputFiles>
    <File>pmd-20231231.xsd</File>
    <File>pmd-20231231_cal.xml</File>
    <File>pmd-20231231_def.xml</File>
    <File>pmd-20231231_lab.xml</File>
    <File>pmd-20231231_pre.xml</File>
    <File doctype="10-K" isDefinitelyFs="true" isUsgaap="true" original="pmd20231231_10k.htm">pmd20231231_10k.htm</File>
  </InputFiles>
  <SupplementalFiles/>
  <BaseTaxonomies>
    <BaseTaxonomy items="537">http://fasb.org/us-gaap/2023</BaseTaxonomy>
    <BaseTaxonomy items="37">http://xbrl.sec.gov/dei/2023</BaseTaxonomy>
    <BaseTaxonomy items="5">http://xbrl.sec.gov/ecd/2023</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>true</HasPresentationLinkbase>
  <HasCalculationLinkbase>true</HasCalculationLinkbase>
</FilingSummary>
