<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.21.4</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>265</ContextCount>
  <ElementCount>419</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>false</FootnotesReported>
  <SegmentCount>74</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>5</UnitCount>
  <MyReports>
    <Report instance="forms-1a.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R1.htm</HtmlFileName>
      <LongName>00000001 - Document - Cover</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://opti-harvest.com/role/Cover</Role>
      <ShortName>Cover</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>1</Position>
    </Report>
    <Report instance="forms-1a.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R2.htm</HtmlFileName>
      <LongName>00000002 - Statement - Condensed Balance Sheets</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://opti-harvest.com/role/BalanceSheets</Role>
      <ShortName>Condensed Balance Sheets</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>2</Position>
    </Report>
    <Report instance="forms-1a.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R3.htm</HtmlFileName>
      <LongName>00000003 - Statement - Condensed Balance Sheets (Parenthetical)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://opti-harvest.com/role/BalanceSheetsParenthetical</Role>
      <ShortName>Condensed Balance Sheets (Parenthetical)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>3</Position>
    </Report>
    <Report instance="forms-1a.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R4.htm</HtmlFileName>
      <LongName>00000004 - Statement - Condensed Statements of Operations</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://opti-harvest.com/role/StatementsOfOperations</Role>
      <ShortName>Condensed Statements of Operations</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>4</Position>
    </Report>
    <Report instance="forms-1a.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R5.htm</HtmlFileName>
      <LongName>00000005 - Statement - Condensed Statements of Stockholders' Equity (Deficit)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://opti-harvest.com/role/StatementsOfStockholdersEquityDeficit</Role>
      <ShortName>Condensed Statements of Stockholders' Equity (Deficit)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>5</Position>
    </Report>
    <Report instance="forms-1a.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R6.htm</HtmlFileName>
      <LongName>00000006 - Statement - Condensed Statements of Cash Flows</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://opti-harvest.com/role/StatementsOfCashFlows</Role>
      <ShortName>Condensed Statements of Cash Flows</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>6</Position>
    </Report>
    <Report instance="forms-1a.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R7.htm</HtmlFileName>
      <LongName>00000007 - Disclosure - Basis of Presentation and Liquidity</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://opti-harvest.com/role/BasisOfPresentationAndLiquidity</Role>
      <ShortName>Basis of Presentation and Liquidity</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>7</Position>
    </Report>
    <Report instance="forms-1a.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R8.htm</HtmlFileName>
      <LongName>00000008 - Disclosure - Significant Accounting Policies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://opti-harvest.com/role/SignificantAccountingPolicies</Role>
      <ShortName>Significant Accounting Policies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>8</Position>
    </Report>
    <Report instance="forms-1a.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R9.htm</HtmlFileName>
      <LongName>00000009 - Disclosure - Inventory</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://opti-harvest.com/role/Inventory</Role>
      <ShortName>Inventory</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>9</Position>
    </Report>
    <Report instance="forms-1a.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R10.htm</HtmlFileName>
      <LongName>00000010 - Disclosure - Property and Equipment</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://opti-harvest.com/role/PropertyAndEquipment</Role>
      <ShortName>Property and Equipment</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>10</Position>
    </Report>
    <Report instance="forms-1a.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R11.htm</HtmlFileName>
      <LongName>00000011 - Disclosure - Intangible Assets and Contingent Earnout Liability</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://opti-harvest.com/role/IntangibleAssetsAndContingentEarnoutLiability</Role>
      <ShortName>Intangible Assets and Contingent Earnout Liability</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>11</Position>
    </Report>
    <Report instance="forms-1a.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R12.htm</HtmlFileName>
      <LongName>00000012 - Disclosure - Note Payable</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://opti-harvest.com/role/NotePayable</Role>
      <ShortName>Note Payable</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>12</Position>
    </Report>
    <Report instance="forms-1a.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R13.htm</HtmlFileName>
      <LongName>00000013 - Disclosure - Loan payable</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://opti-harvest.com/role/LoanPayable</Role>
      <ShortName>Loan payable</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>13</Position>
    </Report>
    <Report instance="forms-1a.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R14.htm</HtmlFileName>
      <LongName>00000014 - Disclosure - Shareholders??? Equity</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://opti-harvest.com/role/ShareholdersEquity</Role>
      <ShortName>Shareholders??? Equity</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>14</Position>
    </Report>
    <Report instance="forms-1a.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R15.htm</HtmlFileName>
      <LongName>00000015 - Disclosure - Commitments and Contingencies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://opti-harvest.com/role/CommitmentsAndContingencies</Role>
      <ShortName>Commitments and Contingencies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>15</Position>
    </Report>
    <Report instance="forms-1a.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R16.htm</HtmlFileName>
      <LongName>00000016 - Disclosure - Income Taxes</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://opti-harvest.com/role/IncomeTaxes</Role>
      <ShortName>Income Taxes</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>16</Position>
    </Report>
    <Report instance="forms-1a.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R17.htm</HtmlFileName>
      <LongName>00000017 - Disclosure - Related Party Transactions</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://opti-harvest.com/role/RelatedPartyTransactions</Role>
      <ShortName>Related Party Transactions</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>17</Position>
    </Report>
    <Report instance="forms-1a.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R18.htm</HtmlFileName>
      <LongName>00000018 - Disclosure - Subsequent Events</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://opti-harvest.com/role/SubsequentEvents</Role>
      <ShortName>Subsequent Events</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>18</Position>
    </Report>
    <Report instance="forms-1a.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R19.htm</HtmlFileName>
      <LongName>00000019 - Disclosure - Senior Convertible Notes Payable and Warrants</LongName>
      <ReportType>Notes</ReportType>
      <Role>http://opti-harvest.com/role/SeniorConvertibleNotesPayableAndWarrants</Role>
      <ShortName>Senior Convertible Notes Payable and Warrants</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>19</Position>
    </Report>
    <Report instance="forms-1a.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R20.htm</HtmlFileName>
      <LongName>00000020 - Disclosure - Significant Accounting Policies (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://opti-harvest.com/role/SignificantAccountingPoliciesPolicies</Role>
      <ShortName>Significant Accounting Policies (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <ParentRole>http://opti-harvest.com/role/SignificantAccountingPolicies</ParentRole>
      <Position>20</Position>
    </Report>
    <Report instance="forms-1a.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R21.htm</HtmlFileName>
      <LongName>00000021 - Disclosure - Significant Accounting Policies (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://opti-harvest.com/role/SignificantAccountingPoliciesTables</Role>
      <ShortName>Significant Accounting Policies (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://opti-harvest.com/role/SignificantAccountingPolicies</ParentRole>
      <Position>21</Position>
    </Report>
    <Report instance="forms-1a.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R22.htm</HtmlFileName>
      <LongName>00000022 - Disclosure - Inventory (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://opti-harvest.com/role/InventoryTables</Role>
      <ShortName>Inventory (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://opti-harvest.com/role/Inventory</ParentRole>
      <Position>22</Position>
    </Report>
    <Report instance="forms-1a.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R23.htm</HtmlFileName>
      <LongName>00000023 - Disclosure - Property and Equipment (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://opti-harvest.com/role/PropertyAndEquipmentTables</Role>
      <ShortName>Property and Equipment (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://opti-harvest.com/role/PropertyAndEquipment</ParentRole>
      <Position>23</Position>
    </Report>
    <Report instance="forms-1a.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R24.htm</HtmlFileName>
      <LongName>00000024 - Disclosure - Shareholders??? Equity (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://opti-harvest.com/role/ShareholdersEquityTables</Role>
      <ShortName>Shareholders??? Equity (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://opti-harvest.com/role/ShareholdersEquity</ParentRole>
      <Position>24</Position>
    </Report>
    <Report instance="forms-1a.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R25.htm</HtmlFileName>
      <LongName>00000025 - Disclosure - Income Taxes (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://opti-harvest.com/role/IncomeTaxesTables</Role>
      <ShortName>Income Taxes (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://opti-harvest.com/role/IncomeTaxes</ParentRole>
      <Position>25</Position>
    </Report>
    <Report instance="forms-1a.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R26.htm</HtmlFileName>
      <LongName>00000026 - Disclosure - Senior Convertible Notes Payable and Warrants (Tables)</LongName>
      <ReportType>Notes</ReportType>
      <Role>http://opti-harvest.com/role/SeniorConvertibleNotesPayableAndWarrantsTables</Role>
      <ShortName>Senior Convertible Notes Payable and Warrants (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://opti-harvest.com/role/SeniorConvertibleNotesPayableAndWarrants</ParentRole>
      <Position>26</Position>
    </Report>
    <Report instance="forms-1a.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R27.htm</HtmlFileName>
      <LongName>00000027 - Disclosure - Basis of Presentation and Liquidity (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://opti-harvest.com/role/BasisOfPresentationAndLiquidityDetailsNarrative</Role>
      <ShortName>Basis of Presentation and Liquidity (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://opti-harvest.com/role/BasisOfPresentationAndLiquidity</ParentRole>
      <Position>27</Position>
    </Report>
    <Report instance="forms-1a.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R28.htm</HtmlFileName>
      <LongName>00000028 - Disclosure - Schedule of Estimated Useful Lives of Property and Equipment (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://opti-harvest.com/role/ScheduleOfEstimatedUsefulLivesOfPropertyAndEquipmentDetails</Role>
      <ShortName>Schedule of Estimated Useful Lives of Property and Equipment (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>28</Position>
    </Report>
    <Report instance="forms-1a.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R29.htm</HtmlFileName>
      <LongName>00000029 - Disclosure - Schedule of Anti-Dilutive Securities of Earning Per Share (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://opti-harvest.com/role/ScheduleOfAnti-dilutiveSecuritiesOfEarningPerShareDetails</Role>
      <ShortName>Schedule of Anti-Dilutive Securities of Earning Per Share (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>29</Position>
    </Report>
    <Report instance="forms-1a.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R30.htm</HtmlFileName>
      <LongName>00000030 - Disclosure - Significant Accounting Policies (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://opti-harvest.com/role/SignificantAccountingPoliciesDetailsNarrative</Role>
      <ShortName>Significant Accounting Policies (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://opti-harvest.com/role/SignificantAccountingPoliciesTables</ParentRole>
      <Position>30</Position>
    </Report>
    <Report instance="forms-1a.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R31.htm</HtmlFileName>
      <LongName>00000031 - Disclosure - Schedule of Inventory (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://opti-harvest.com/role/ScheduleOfInventoryDetails</Role>
      <ShortName>Schedule of Inventory (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>31</Position>
    </Report>
    <Report instance="forms-1a.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R32.htm</HtmlFileName>
      <LongName>00000032 - Disclosure - Inventory (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://opti-harvest.com/role/InventoryDetailsNarrative</Role>
      <ShortName>Inventory (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://opti-harvest.com/role/InventoryTables</ParentRole>
      <Position>32</Position>
    </Report>
    <Report instance="forms-1a.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R33.htm</HtmlFileName>
      <LongName>00000033 - Disclosure - Schedule of Property and Equipment (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://opti-harvest.com/role/ScheduleOfPropertyAndEquipmentDetails</Role>
      <ShortName>Schedule of Property and Equipment (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>33</Position>
    </Report>
    <Report instance="forms-1a.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R34.htm</HtmlFileName>
      <LongName>00000034 - Disclosure - Property and Equipment (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://opti-harvest.com/role/PropertyAndEquipmentDetailsNarrative</Role>
      <ShortName>Property and Equipment (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://opti-harvest.com/role/PropertyAndEquipmentTables</ParentRole>
      <Position>34</Position>
    </Report>
    <Report instance="forms-1a.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R35.htm</HtmlFileName>
      <LongName>00000035 - Disclosure - Intangible Assets and Contingent Earnout Liability (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://opti-harvest.com/role/IntangibleAssetsAndContingentEarnoutLiabilityDetailsNarrative</Role>
      <ShortName>Intangible Assets and Contingent Earnout Liability (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://opti-harvest.com/role/IntangibleAssetsAndContingentEarnoutLiability</ParentRole>
      <Position>35</Position>
    </Report>
    <Report instance="forms-1a.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R36.htm</HtmlFileName>
      <LongName>00000036 - Disclosure - Note Payable (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://opti-harvest.com/role/NotePayableDetailsNarrative</Role>
      <ShortName>Note Payable (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://opti-harvest.com/role/NotePayable</ParentRole>
      <Position>36</Position>
    </Report>
    <Report instance="forms-1a.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R37.htm</HtmlFileName>
      <LongName>00000037 - Disclosure - Loan payable (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://opti-harvest.com/role/LoanPayableDetailsNarrative</Role>
      <ShortName>Loan payable (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://opti-harvest.com/role/LoanPayable</ParentRole>
      <Position>37</Position>
    </Report>
    <Report instance="forms-1a.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R38.htm</HtmlFileName>
      <LongName>00000038 - Disclosure - Summary of Warrants (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://opti-harvest.com/role/SummaryOfWarrantsDetails</Role>
      <ShortName>Summary of Warrants (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>38</Position>
    </Report>
    <Report instance="forms-1a.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R39.htm</HtmlFileName>
      <LongName>00000039 - Disclosure - Summary of Outstanding Warrants Exercise Price (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://opti-harvest.com/role/SummaryOfOutstandingWarrantsExercisePriceDetails</Role>
      <ShortName>Summary of Outstanding Warrants Exercise Price (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>39</Position>
    </Report>
    <Report instance="forms-1a.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R40.htm</HtmlFileName>
      <LongName>00000040 - Disclosure - Shareholders??? Equity (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://opti-harvest.com/role/ShareholdersEquityDetailsNarrative</Role>
      <ShortName>Shareholders??? Equity (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://opti-harvest.com/role/ShareholdersEquityTables</ParentRole>
      <Position>40</Position>
    </Report>
    <Report instance="forms-1a.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R41.htm</HtmlFileName>
      <LongName>00000041 - Disclosure - Commitments and Contingencies (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://opti-harvest.com/role/CommitmentsAndContingenciesDetailsNarrative</Role>
      <ShortName>Commitments and Contingencies (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://opti-harvest.com/role/CommitmentsAndContingencies</ParentRole>
      <Position>41</Position>
    </Report>
    <Report instance="forms-1a.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R42.htm</HtmlFileName>
      <LongName>00000042 - Disclosure - Schedule of Effective Income Tax Rate (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://opti-harvest.com/role/ScheduleOfEffectiveIncomeTaxRateDetails</Role>
      <ShortName>Schedule of Effective Income Tax Rate (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>42</Position>
    </Report>
    <Report instance="forms-1a.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R43.htm</HtmlFileName>
      <LongName>00000043 - Disclosure - Schedule of Components of Deferred Taxes (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://opti-harvest.com/role/ScheduleOfComponentsOfDeferredTaxesDetails</Role>
      <ShortName>Schedule of Components of Deferred Taxes (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>43</Position>
    </Report>
    <Report instance="forms-1a.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R44.htm</HtmlFileName>
      <LongName>00000044 - Disclosure - Income Taxes (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://opti-harvest.com/role/IncomeTaxesDetailsNarrative</Role>
      <ShortName>Income Taxes (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://opti-harvest.com/role/IncomeTaxesTables</ParentRole>
      <Position>44</Position>
    </Report>
    <Report instance="forms-1a.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R45.htm</HtmlFileName>
      <LongName>00000045 - Disclosure - Related Party Transactions (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://opti-harvest.com/role/RelatedPartyTransactionsDetailsNarrative</Role>
      <ShortName>Related Party Transactions (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://opti-harvest.com/role/RelatedPartyTransactions</ParentRole>
      <Position>45</Position>
    </Report>
    <Report instance="forms-1a.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R46.htm</HtmlFileName>
      <LongName>00000046 - Disclosure - Subsequent Events (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://opti-harvest.com/role/SubsequentEventsDetailsNarrative</Role>
      <ShortName>Subsequent Events (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://opti-harvest.com/role/SubsequentEvents</ParentRole>
      <Position>46</Position>
    </Report>
    <Report instance="forms-1a.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R47.htm</HtmlFileName>
      <LongName>00000047 - Disclosure - Schedule of Senior Convertible Notes Payable (Details)</LongName>
      <ReportType>Notes</ReportType>
      <Role>http://opti-harvest.com/role/ScheduleOfSeniorConvertibleNotesPayableDetails</Role>
      <ShortName>Schedule of Senior Convertible Notes Payable (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>47</Position>
    </Report>
    <Report instance="forms-1a.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R48.htm</HtmlFileName>
      <LongName>00000048 - Disclosure - Senior Convertible Notes Payable and Warrants (Details Narrative)</LongName>
      <ReportType>Notes</ReportType>
      <Role>http://opti-harvest.com/role/SeniorConvertibleNotesPayableAndWarrantsDetailsNarrative</Role>
      <ShortName>Senior Convertible Notes Payable and Warrants (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://opti-harvest.com/role/SeniorConvertibleNotesPayableAndWarrantsTables</ParentRole>
      <Position>48</Position>
    </Report>
    <Report instance="forms-1a.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R49.htm</HtmlFileName>
      <LongName>00000049 - Disclosure - Summary of Options (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://opti-harvest.com/role/SummaryOfOptionsDetails</Role>
      <ShortName>Summary of Options (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>49</Position>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <LongName>All Reports</LongName>
      <ReportType>Book</ReportType>
      <ShortName>All Reports</ShortName>
    </Report>
  </MyReports>
  <InputFiles>
    <File doctype="S-1/A" original="forms-1a.htm">forms-1a.htm</File>
    <File>ex1-1.htm</File>
    <File>ex14-1.htm</File>
    <File>ex23-1.htm</File>
    <File>ex4-1.htm</File>
    <File>ex4-2.htm</File>
    <File>ex4-3.htm</File>
    <File>ex4-5.htm</File>
    <File>ex5-1.htm</File>
    <File>ex5-2.htm</File>
    <File>opti-20210930.xsd</File>
    <File>opti-20210930_cal.xml</File>
    <File>opti-20210930_def.xml</File>
    <File>opti-20210930_lab.xml</File>
    <File>opti-20210930_pre.xml</File>
  </InputFiles>
  <SupplementalFiles>
    <File>forms-1a_001.jpg</File>
    <File>forms-1a_002.jpg</File>
    <File>forms-1a_007.jpg</File>
    <File>forms-1a_008.jpg</File>
    <File>forms-1a_009.jpg</File>
    <File>forms-1a_010.jpg</File>
    <File>forms-1a_011.jpg</File>
    <File>forms-1a_011a.jpg</File>
    <File>forms-1a_012.jpg</File>
    <File>forms-1a_013.jpg</File>
    <File>forms-1a_014.jpg</File>
    <File>forms-1a_015a.jpg</File>
    <File>forms-1a_016a.jpg</File>
    <File>forms-1a_019.jpg</File>
    <File>forms-1a_020.jpg</File>
    <File>forms-1a_021.jpg</File>
    <File>forms-1a_022.jpg</File>
    <File>forms-1a_023.jpg</File>
    <File>forms-1a_024.jpg</File>
    <File>forms-1a_025.jpg</File>
    <File>forms-1a_026.jpg</File>
    <File>forms-1a_027.jpg</File>
    <File>image_0111.jpg</File>
    <File>image_012a.jpg</File>
  </SupplementalFiles>
  <BaseTaxonomies>
    <BaseTaxonomy>http://fasb.org/srt/2021-01-31</BaseTaxonomy>
    <BaseTaxonomy>http://xbrl.sec.gov/dei/2021q4</BaseTaxonomy>
    <BaseTaxonomy>http://fasb.org/us-gaap/2021-01-31</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>true</HasPresentationLinkbase>
  <HasCalculationLinkbase>true</HasCalculationLinkbase>
</FilingSummary>
