<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:dei="http://xbrl.sec.gov/dei/2025"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:xlink="http://www.w3.org/1999/xlink">
    <link:schemaRef xlink:href="tomz-20260720.xsd" xlink:type="simple"/>
    <context id="From2026-07-20to2026-07-20">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000314227</identifier>
        </entity>
        <period>
            <startDate>2026-07-20</startDate>
            <endDate>2026-07-20</endDate>
        </period>
    </context>
    <dei:EntityCentralIndexKey contextRef="From2026-07-20to2026-07-20" id="ixv-318">0000314227</dei:EntityCentralIndexKey>
    <dei:AmendmentFlag contextRef="From2026-07-20to2026-07-20" id="ixv-319">false</dei:AmendmentFlag>
    <dei:CurrentFiscalYearEndDate contextRef="From2026-07-20to2026-07-20" id="ixv-320">--12-31</dei:CurrentFiscalYearEndDate>
    <dei:DocumentType contextRef="From2026-07-20to2026-07-20" id="ixv-340">8-K</dei:DocumentType>
    <dei:DocumentPeriodEndDate contextRef="From2026-07-20to2026-07-20" id="ixv-341">2026-07-20</dei:DocumentPeriodEndDate>
    <dei:EntityRegistrantName contextRef="From2026-07-20to2026-07-20" id="ixv-342">TOMI Environmental Solutions, Inc.</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode contextRef="From2026-07-20to2026-07-20" id="ixv-343">FL</dei:EntityIncorporationStateCountryCode>
    <dei:EntityFileNumber contextRef="From2026-07-20to2026-07-20" id="ixv-344">001-39574</dei:EntityFileNumber>
    <dei:EntityTaxIdentificationNumber contextRef="From2026-07-20to2026-07-20" id="ixv-345">59-1947988</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1 contextRef="From2026-07-20to2026-07-20" id="ixv-346">8430 SPIRES WAY</dei:EntityAddressAddressLine1>
    <dei:EntityAddressCityOrTown contextRef="From2026-07-20to2026-07-20" id="ixv-347">FREDERICK</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince contextRef="From2026-07-20to2026-07-20" id="ixv-348">MD</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode contextRef="From2026-07-20to2026-07-20" id="ixv-349">21701</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode contextRef="From2026-07-20to2026-07-20" id="ixv-350">800</dei:CityAreaCode>
    <dei:LocalPhoneNumber contextRef="From2026-07-20to2026-07-20" id="ixv-351">525-1698</dei:LocalPhoneNumber>
    <dei:WrittenCommunications contextRef="From2026-07-20to2026-07-20" id="ixv-352">false</dei:WrittenCommunications>
    <dei:SolicitingMaterial contextRef="From2026-07-20to2026-07-20" id="ixv-353">false</dei:SolicitingMaterial>
    <dei:PreCommencementTenderOffer contextRef="From2026-07-20to2026-07-20" id="ixv-354">false</dei:PreCommencementTenderOffer>
    <dei:PreCommencementIssuerTenderOffer contextRef="From2026-07-20to2026-07-20" id="ixv-355">false</dei:PreCommencementIssuerTenderOffer>
    <dei:Security12bTitle contextRef="From2026-07-20to2026-07-20" id="ixv-356">Common Stock, $0.01 par value per share</dei:Security12bTitle>
    <dei:TradingSymbol contextRef="From2026-07-20to2026-07-20" id="ixv-357">TOMZ</dei:TradingSymbol>
    <dei:SecurityExchangeName contextRef="From2026-07-20to2026-07-20" id="ixv-358">NASDAQ</dei:SecurityExchangeName>
    <dei:EntityEmergingGrowthCompany contextRef="From2026-07-20to2026-07-20" id="ixv-359">false</dei:EntityEmergingGrowthCompany>
</xbrl>
