<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.20.2</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>1215</ContextCount>
  <ElementCount>737</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>true</FootnotesReported>
  <SegmentCount>342</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>6</UnitCount>
  <MyReports>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R1.htm</HtmlFileName>
      <LongName>00000001 - Document - Cover Page</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/CoverPage</Role>
      <ShortName>Cover Page</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>1</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R2.htm</HtmlFileName>
      <LongName>00000002 - Statement - UNAUDITED CONSOLIDATED STATEMENT OF FINANCIAL POSITION</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/UnauditedConsolidatedStatementOfFinancialPosition</Role>
      <ShortName>UNAUDITED CONSOLIDATED STATEMENT OF FINANCIAL POSITION</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>2</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R3.htm</HtmlFileName>
      <LongName>00000003 - Statement - UNAUDITED CONSOLIDATED STATEMENT OF INCOME</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/UnauditedConsolidatedStatementOfIncome</Role>
      <ShortName>UNAUDITED CONSOLIDATED STATEMENT OF INCOME</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>3</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R4.htm</HtmlFileName>
      <LongName>00000004 - Statement - UNAUDITED CONSOLIDATED STATEMENT OF COMPREHENSIVE INCOME</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/UnauditedConsolidatedStatementOfComprehensiveIncome</Role>
      <ShortName>UNAUDITED CONSOLIDATED STATEMENT OF COMPREHENSIVE INCOME</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>4</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R5.htm</HtmlFileName>
      <LongName>00000005 - Statement - UNAUDITED CONSOLIDATED STATEMENT OF COMPREHENSIVE INCOME (Parenthetical)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/UnauditedConsolidatedStatementOfComprehensiveIncomeParenthetical</Role>
      <ShortName>UNAUDITED CONSOLIDATED STATEMENT OF COMPREHENSIVE INCOME (Parenthetical)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>5</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R6.htm</HtmlFileName>
      <LongName>00000006 - Statement - UNAUDITED CONSOLIDATED STATEMENT OF CASH FLOWS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/UnauditedConsolidatedStatementOfCashFlows</Role>
      <ShortName>UNAUDITED CONSOLIDATED STATEMENT OF CASH FLOWS</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>6</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R7.htm</HtmlFileName>
      <LongName>00000007 - Statement - UNAUDITED CONSOLIDATED STATEMENT OF CHANGES IN SHAREHOLDERS' EQUITY (Unaudited)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/UnauditedConsolidatedStatementOfChangesInShareholdersEquity</Role>
      <ShortName>UNAUDITED CONSOLIDATED STATEMENT OF CHANGES IN SHAREHOLDERS' EQUITY (Unaudited)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>7</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R8.htm</HtmlFileName>
      <LongName>00000008 - Disclosure - 1. Basis of preparation</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/BasisOfPreparation</Role>
      <ShortName>1. Basis of preparation</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>8</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R9.htm</HtmlFileName>
      <LongName>00000009 - Disclosure - 2. Summary of significant accounting policies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/SummaryOfSignificantAccountingPolicies</Role>
      <ShortName>2. Summary of significant accounting policies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>9</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R10.htm</HtmlFileName>
      <LongName>00000010 - Disclosure - 3. Context, resilience measures and impacts of the COVID-19 pandemic</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/ContextResilienceMeasuresAndImpactsOfCovid-19Pandemic</Role>
      <ShortName>3. Context, resilience measures and impacts of the COVID-19 pandemic</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>10</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R11.htm</HtmlFileName>
      <LongName>00000011 - Disclosure - 4. Cash and cash equivalents and Marketable securities</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/CashAndCashEquivalentsAndMarketableSecurities</Role>
      <ShortName>4. Cash and cash equivalents and Marketable securities</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>11</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R12.htm</HtmlFileName>
      <LongName>00000012 - Disclosure - 5. Sales revenues</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/SalesRevenues</Role>
      <ShortName>5. Sales revenues</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>12</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R13.htm</HtmlFileName>
      <LongName>00000013 - Disclosure - 6. Costs and expenses by nature</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/CostsAndExpensesByNature</Role>
      <ShortName>6. Costs and expenses by nature</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>13</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R14.htm</HtmlFileName>
      <LongName>00000014 - Disclosure - 7. Other income and expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/OtherIncomeAndExpenses</Role>
      <ShortName>7. Other income and expenses</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>14</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R15.htm</HtmlFileName>
      <LongName>00000015 - Disclosure - 8. Net finance income (expense)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/NetFinanceIncomeExpense</Role>
      <ShortName>8. Net finance income (expense)</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>15</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R16.htm</HtmlFileName>
      <LongName>00000016 - Disclosure - 9. Net income by operating segment</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/NetIncomeByOperatingSegment</Role>
      <ShortName>9. Net income by operating segment</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>16</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R17.htm</HtmlFileName>
      <LongName>00000017 - Disclosure - 10. Trade and other receivables</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/TradeAndOtherReceivables</Role>
      <ShortName>10. Trade and other receivables</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>17</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R18.htm</HtmlFileName>
      <LongName>00000018 - Disclosure - 11. Inventories</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/Inventories</Role>
      <ShortName>11. Inventories</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>18</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R19.htm</HtmlFileName>
      <LongName>00000019 - Disclosure - 12. Taxes</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/Taxes</Role>
      <ShortName>12. Taxes</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>19</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R20.htm</HtmlFileName>
      <LongName>00000020 - Disclosure - 13. Employee benefits</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/EmployeeBenefits</Role>
      <ShortName>13. Employee benefits</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>20</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R21.htm</HtmlFileName>
      <LongName>00000021 - Disclosure - 14. Post-employment benefits</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/Post-employmentBenefits</Role>
      <ShortName>14. Post-employment benefits</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>21</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R22.htm</HtmlFileName>
      <LongName>00000022 - Disclosure - 15. Provisions for legal proceedings</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/ProvisionsForLegalProceedings</Role>
      <ShortName>15. Provisions for legal proceedings</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>22</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R23.htm</HtmlFileName>
      <LongName>00000023 - Disclosure - 16. Provision for decommissioning costs</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/ProvisionForDecommissioningCosts</Role>
      <ShortName>16. Provision for decommissioning costs</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>23</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R24.htm</HtmlFileName>
      <LongName>00000024 - Disclosure - 17. The Lava Jato (Car Wash) Operation and its effects on the Company</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/LavaJatoCarWashOperationAndItsEffectsOnCompany</Role>
      <ShortName>17. The Lava Jato (Car Wash) Operation and its effects on the Company</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>24</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R25.htm</HtmlFileName>
      <LongName>00000025 - Disclosure - 18. Property, plant and equipment</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/PropertyPlantAndEquipment</Role>
      <ShortName>18. Property, plant and equipment</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>25</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R26.htm</HtmlFileName>
      <LongName>00000026 - Disclosure - 19. Intangible assets</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/IntangibleAssets</Role>
      <ShortName>19. Intangible assets</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>26</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R27.htm</HtmlFileName>
      <LongName>00000027 - Disclosure - 20. Impairment</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/Impairment</Role>
      <ShortName>20. Impairment</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>27</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R28.htm</HtmlFileName>
      <LongName>00000028 - Disclosure - 21. Exploration and evaluation of oil and gas reserves</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/ExplorationAndEvaluationOfOilAndGasReserves</Role>
      <ShortName>21. Exploration and evaluation of oil and gas reserves</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>28</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R29.htm</HtmlFileName>
      <LongName>00000029 - Disclosure - 22. Collateral for crude oil exploration concession agreements</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/CollateralForCrudeOilExplorationConcessionAgreements</Role>
      <ShortName>22. Collateral for crude oil exploration concession agreements</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>29</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R30.htm</HtmlFileName>
      <LongName>00000030 - Disclosure - 23. Investments</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/Investments</Role>
      <ShortName>23. Investments</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>30</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R31.htm</HtmlFileName>
      <LongName>00000031 - Disclosure - 24. Disposal of assets and other changes in organizational structure</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/DisposalOfAssetsAndOtherChangesInOrganizationalStructure</Role>
      <ShortName>24. Disposal of assets and other changes in organizational structure</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>31</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R32.htm</HtmlFileName>
      <LongName>00000032 - Disclosure - 25. Assets by operating segment</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/AssetsByOperatingSegment</Role>
      <ShortName>25. Assets by operating segment</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>32</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R33.htm</HtmlFileName>
      <LongName>00000033 - Disclosure - 26. Finance debt</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/FinanceDebt</Role>
      <ShortName>26. Finance debt</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>33</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R34.htm</HtmlFileName>
      <LongName>00000034 - Disclosure - 27. Lease liabilities</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/LeaseLiabilities</Role>
      <ShortName>27. Lease liabilities</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>34</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R35.htm</HtmlFileName>
      <LongName>00000035 - Disclosure - 28. Equity</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/Equity</Role>
      <ShortName>28. Equity</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>35</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R36.htm</HtmlFileName>
      <LongName>00000036 - Disclosure - 29. Fair value of financial assets and liabilities</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/FairValueOfFinancialAssetsAndLiabilities</Role>
      <ShortName>29. Fair value of financial assets and liabilities</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>36</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R37.htm</HtmlFileName>
      <LongName>00000037 - Disclosure - 30. Risk management</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/RiskManagement</Role>
      <ShortName>30. Risk management</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>37</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R38.htm</HtmlFileName>
      <LongName>00000038 - Disclosure - 31. Related-party transactions</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/Related-partyTransactions</Role>
      <ShortName>31. Related-party transactions</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>38</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R39.htm</HtmlFileName>
      <LongName>00000039 - Disclosure - 32. Supplemental information on statement of cash flows</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/SupplementalInformationOnStatementOfCashFlows</Role>
      <ShortName>32. Supplemental information on statement of cash flows</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>39</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R40.htm</HtmlFileName>
      <LongName>00000040 - Disclosure - 33. Subsequent events</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/SubsequentEvents</Role>
      <ShortName>33. Subsequent events</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>40</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R41.htm</HtmlFileName>
      <LongName>00000041 - Disclosure - 34. Information related to guaranteed securities issued by subsidiaries</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/InformationRelatedToGuaranteedSecuritiesIssuedBySubsidiaries</Role>
      <ShortName>34. Information related to guaranteed securities issued by subsidiaries</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>41</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R42.htm</HtmlFileName>
      <LongName>00000042 - Disclosure - 4. Cash and cash equivalents and Marketable securities (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/CashAndCashEquivalentsAndMarketableSecuritiesTables</Role>
      <ShortName>4. Cash and cash equivalents and Marketable securities (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://petrobras.com/role/CashAndCashEquivalentsAndMarketableSecurities</ParentRole>
      <Position>42</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R43.htm</HtmlFileName>
      <LongName>00000043 - Disclosure - 5. Sales revenues (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/SalesRevenuesTables</Role>
      <ShortName>5. Sales revenues (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://petrobras.com/role/SalesRevenues</ParentRole>
      <Position>43</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R44.htm</HtmlFileName>
      <LongName>00000044 - Disclosure - 6. Costs and expenses by nature (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/CostsAndExpensesByNatureTables</Role>
      <ShortName>6. Costs and expenses by nature (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://petrobras.com/role/CostsAndExpensesByNature</ParentRole>
      <Position>44</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R45.htm</HtmlFileName>
      <LongName>00000045 - Disclosure - 7. Other income and expenses (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/OtherIncomeAndExpensesTables</Role>
      <ShortName>7. Other income and expenses (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://petrobras.com/role/OtherIncomeAndExpenses</ParentRole>
      <Position>45</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R46.htm</HtmlFileName>
      <LongName>00000046 - Disclosure - 8. Net finance income (expense) (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/NetFinanceIncomeExpenseTables</Role>
      <ShortName>8. Net finance income (expense) (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://petrobras.com/role/NetFinanceIncomeExpense</ParentRole>
      <Position>46</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R47.htm</HtmlFileName>
      <LongName>00000047 - Disclosure - 9. Net income by operating segment (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/NetIncomeByOperatingSegmentTables</Role>
      <ShortName>9. Net income by operating segment (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://petrobras.com/role/NetIncomeByOperatingSegment</ParentRole>
      <Position>47</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R48.htm</HtmlFileName>
      <LongName>00000048 - Disclosure - 10. Trade and other receivables (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/TradeAndOtherReceivablesTables</Role>
      <ShortName>10. Trade and other receivables (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://petrobras.com/role/TradeAndOtherReceivables</ParentRole>
      <Position>48</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R49.htm</HtmlFileName>
      <LongName>00000049 - Disclosure - 11. Inventories (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/InventoriesTables</Role>
      <ShortName>11. Inventories (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://petrobras.com/role/Inventories</ParentRole>
      <Position>49</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R50.htm</HtmlFileName>
      <LongName>00000050 - Disclosure - 12. Taxes (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/TaxesTables</Role>
      <ShortName>12. Taxes (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://petrobras.com/role/Taxes</ParentRole>
      <Position>50</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R51.htm</HtmlFileName>
      <LongName>00000051 - Disclosure - 13. Employee benefits (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/EmployeeBenefitsTables</Role>
      <ShortName>13. Employee benefits (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://petrobras.com/role/EmployeeBenefits</ParentRole>
      <Position>51</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R52.htm</HtmlFileName>
      <LongName>00000052 - Disclosure - 14. Post-employment benefits (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/Post-employmentBenefitsTables</Role>
      <ShortName>14. Post-employment benefits (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://petrobras.com/role/Post-employmentBenefits</ParentRole>
      <Position>52</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R53.htm</HtmlFileName>
      <LongName>00000053 - Disclosure - 15. Provisions for legal proceedings (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/ProvisionsForLegalProceedingsTables</Role>
      <ShortName>15. Provisions for legal proceedings (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://petrobras.com/role/ProvisionsForLegalProceedings</ParentRole>
      <Position>53</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R54.htm</HtmlFileName>
      <LongName>00000054 - Disclosure - 16. Provision for decommissioning costs (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/ProvisionForDecommissioningCostsTables</Role>
      <ShortName>16. Provision for decommissioning costs (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://petrobras.com/role/ProvisionForDecommissioningCosts</ParentRole>
      <Position>54</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R55.htm</HtmlFileName>
      <LongName>00000055 - Disclosure - 18. Property, plant and equipment (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/PropertyPlantAndEquipmentTables</Role>
      <ShortName>18. Property, plant and equipment (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://petrobras.com/role/PropertyPlantAndEquipment</ParentRole>
      <Position>55</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R56.htm</HtmlFileName>
      <LongName>00000056 - Disclosure - 19. Intangible assets (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/IntangibleAssetsTables</Role>
      <ShortName>19. Intangible assets (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://petrobras.com/role/IntangibleAssets</ParentRole>
      <Position>56</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R57.htm</HtmlFileName>
      <LongName>00000057 - Disclosure - 20. Impairment (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/ImpairmentTables</Role>
      <ShortName>20. Impairment (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://petrobras.com/role/Impairment</ParentRole>
      <Position>57</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R58.htm</HtmlFileName>
      <LongName>00000058 - Disclosure - 21. Exploration and evaluation of oil and gas reserves (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/ExplorationAndEvaluationOfOilAndGasReservesTables</Role>
      <ShortName>21. Exploration and evaluation of oil and gas reserves (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://petrobras.com/role/ExplorationAndEvaluationOfOilAndGasReserves</ParentRole>
      <Position>58</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R59.htm</HtmlFileName>
      <LongName>00000059 - Disclosure - 23. Investments (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/InvestmentsTables</Role>
      <ShortName>23. Investments (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://petrobras.com/role/Investments</ParentRole>
      <Position>59</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R60.htm</HtmlFileName>
      <LongName>00000060 - Disclosure - 24. Disposal of assets and other changes in organizational structure (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/DisposalOfAssetsAndOtherChangesInOrganizationalStructureTables</Role>
      <ShortName>24. Disposal of assets and other changes in organizational structure (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://petrobras.com/role/DisposalOfAssetsAndOtherChangesInOrganizationalStructure</ParentRole>
      <Position>60</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R61.htm</HtmlFileName>
      <LongName>00000061 - Disclosure - 25. Assets by operating segment (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/AssetsByOperatingSegmentTables</Role>
      <ShortName>25. Assets by operating segment (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://petrobras.com/role/AssetsByOperatingSegment</ParentRole>
      <Position>61</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R62.htm</HtmlFileName>
      <LongName>00000062 - Disclosure - 26. Finance debt (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/FinanceDebtTables</Role>
      <ShortName>26. Finance debt (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://petrobras.com/role/FinanceDebt</ParentRole>
      <Position>62</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R63.htm</HtmlFileName>
      <LongName>00000063 - Disclosure - 27. Lease liabilities (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/LeaseLiabilitiesTables</Role>
      <ShortName>27. Lease liabilities (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://petrobras.com/role/LeaseLiabilities</ParentRole>
      <Position>63</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R64.htm</HtmlFileName>
      <LongName>00000064 - Disclosure - 28. Equity (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/EquityTables</Role>
      <ShortName>28. Equity (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://petrobras.com/role/Equity</ParentRole>
      <Position>64</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R65.htm</HtmlFileName>
      <LongName>00000065 - Disclosure - 29. Fair value of financial assets and liabilities (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/FairValueOfFinancialAssetsAndLiabilitiesTables</Role>
      <ShortName>29. Fair value of financial assets and liabilities (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://petrobras.com/role/FairValueOfFinancialAssetsAndLiabilities</ParentRole>
      <Position>65</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R66.htm</HtmlFileName>
      <LongName>00000066 - Disclosure - 30. Risk management (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/RiskManagementTables</Role>
      <ShortName>30. Risk management (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://petrobras.com/role/RiskManagement</ParentRole>
      <Position>66</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R67.htm</HtmlFileName>
      <LongName>00000067 - Disclosure - 31. Related-party transactions (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/Related-partyTransactionsTables</Role>
      <ShortName>31. Related-party transactions (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://petrobras.com/role/Related-partyTransactions</ParentRole>
      <Position>67</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R68.htm</HtmlFileName>
      <LongName>00000068 - Disclosure - 32. Supplemental information on statement of cash flows (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/SupplementalInformationOnStatementOfCashFlowsTables</Role>
      <ShortName>32. Supplemental information on statement of cash flows (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://petrobras.com/role/SupplementalInformationOnStatementOfCashFlows</ParentRole>
      <Position>68</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R69.htm</HtmlFileName>
      <LongName>00000069 - Disclosure - 3. Context, resilience measures and impacts of the COVID-19 pandemic (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/ContextResilienceMeasuresAndImpactsOfCovid-19PandemicDetailsNarrative</Role>
      <ShortName>3. Context, resilience measures and impacts of the COVID-19 pandemic (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://petrobras.com/role/ContextResilienceMeasuresAndImpactsOfCovid-19Pandemic</ParentRole>
      <Position>69</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R70.htm</HtmlFileName>
      <LongName>00000070 - Disclosure - 4. Cash and cash equivalents and Marketable securities (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/CashAndCashEquivalentsAndMarketableSecuritiesDetails</Role>
      <ShortName>4. Cash and cash equivalents and Marketable securities (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://petrobras.com/role/CashAndCashEquivalentsAndMarketableSecuritiesTables</ParentRole>
      <Position>70</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R71.htm</HtmlFileName>
      <LongName>00000071 - Disclosure - 4. Cash and cash equivalents and Marketable securities (Details 1)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/CashAndCashEquivalentsAndMarketableSecuritiesDetails1</Role>
      <ShortName>4. Cash and cash equivalents and Marketable securities (Details 1)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://petrobras.com/role/CashAndCashEquivalentsAndMarketableSecuritiesTables</ParentRole>
      <Position>71</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R72.htm</HtmlFileName>
      <LongName>00000072 - Disclosure - 5. Sales revenues (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/SalesRevenuesDetails</Role>
      <ShortName>5. Sales revenues (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://petrobras.com/role/SalesRevenuesTables</ParentRole>
      <Position>72</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R73.htm</HtmlFileName>
      <LongName>00000073 - Disclosure - 5. Sales revenues (Details 1)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/SalesRevenuesDetails1</Role>
      <ShortName>5. Sales revenues (Details 1)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://petrobras.com/role/SalesRevenuesTables</ParentRole>
      <Position>73</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R74.htm</HtmlFileName>
      <LongName>00000074 - Disclosure - 5. Sales revenues (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/SalesRevenuesDetailsNarrative</Role>
      <ShortName>5. Sales revenues (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://petrobras.com/role/SalesRevenuesTables</ParentRole>
      <Position>74</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R75.htm</HtmlFileName>
      <LongName>00000075 - Disclosure - 6. Costs and expenses by nature (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/CostsAndExpensesByNatureDetails</Role>
      <ShortName>6. Costs and expenses by nature (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://petrobras.com/role/CostsAndExpensesByNatureTables</ParentRole>
      <Position>75</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R76.htm</HtmlFileName>
      <LongName>00000076 - Disclosure - 7. Other income and expenses (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/OtherIncomeAndExpensesDetails</Role>
      <ShortName>7. Other income and expenses (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://petrobras.com/role/OtherIncomeAndExpensesTables</ParentRole>
      <Position>76</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R77.htm</HtmlFileName>
      <LongName>00000077 - Disclosure - 8. Net finance income (expense) (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/NetFinanceIncomeExpenseDetails</Role>
      <ShortName>8. Net finance income (expense) (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://petrobras.com/role/NetFinanceIncomeExpenseTables</ParentRole>
      <Position>77</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R78.htm</HtmlFileName>
      <LongName>00000078 - Disclosure - 9. Net income by operating segment (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/NetIncomeByOperatingSegmentDetails</Role>
      <ShortName>9. Net income by operating segment (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://petrobras.com/role/NetIncomeByOperatingSegmentTables</ParentRole>
      <Position>78</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R79.htm</HtmlFileName>
      <LongName>00000079 - Disclosure - 10. Trade and other receivables (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/TradeAndOtherReceivablesDetails</Role>
      <ShortName>10. Trade and other receivables (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://petrobras.com/role/TradeAndOtherReceivablesTables</ParentRole>
      <Position>79</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R80.htm</HtmlFileName>
      <LongName>00000080 - Disclosure - 10. Trade and other receivables (Details 1)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/TradeAndOtherReceivablesDetails1</Role>
      <ShortName>10. Trade and other receivables (Details 1)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://petrobras.com/role/TradeAndOtherReceivablesTables</ParentRole>
      <Position>80</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R81.htm</HtmlFileName>
      <LongName>00000081 - Disclosure - 10. Trade and other receivables (Details 2)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/TradeAndOtherReceivablesDetails2</Role>
      <ShortName>10. Trade and other receivables (Details 2)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://petrobras.com/role/TradeAndOtherReceivablesTables</ParentRole>
      <Position>81</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R82.htm</HtmlFileName>
      <LongName>00000082 - Disclosure - 10. Trade and other receivables (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/TradeAndOtherReceivablesDetailsNarrative</Role>
      <ShortName>10. Trade and other receivables (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://petrobras.com/role/TradeAndOtherReceivablesTables</ParentRole>
      <Position>82</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R83.htm</HtmlFileName>
      <LongName>00000083 - Disclosure - 11. Inventories (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/InventoriesDetails</Role>
      <ShortName>11. Inventories (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://petrobras.com/role/InventoriesTables</ParentRole>
      <Position>83</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R84.htm</HtmlFileName>
      <LongName>00000084 - Disclosure - 11. Inventories (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/InventoriesDetailsNarrative</Role>
      <ShortName>11. Inventories (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://petrobras.com/role/InventoriesTables</ParentRole>
      <Position>84</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R85.htm</HtmlFileName>
      <LongName>00000085 - Disclosure - 12. Taxes (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/TaxesDetail</Role>
      <ShortName>12. Taxes (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://petrobras.com/role/TaxesTables</ParentRole>
      <Position>85</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R86.htm</HtmlFileName>
      <LongName>00000086 - Disclosure - 12. Taxes (Details 1)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/TaxesDetails1</Role>
      <ShortName>12. Taxes (Details 1)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://petrobras.com/role/TaxesTables</ParentRole>
      <Position>86</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R87.htm</HtmlFileName>
      <LongName>00000087 - Disclosure - 12. Taxes (Details 2)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/TaxesDetails2</Role>
      <ShortName>12. Taxes (Details 2)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://petrobras.com/role/TaxesTables</ParentRole>
      <Position>87</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R88.htm</HtmlFileName>
      <LongName>00000088 - Disclosure - 12. Taxes (Details 3)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/TaxesDetails3</Role>
      <ShortName>12. Taxes (Details 3)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://petrobras.com/role/TaxesTables</ParentRole>
      <Position>88</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R89.htm</HtmlFileName>
      <LongName>00000089 - Disclosure - 12. Taxes (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/TaxesDetailsNarrative</Role>
      <ShortName>12. Taxes (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://petrobras.com/role/TaxesTables</ParentRole>
      <Position>89</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R90.htm</HtmlFileName>
      <LongName>00000090 - Disclosure - 13.Employee benefits (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/EmployeeBenefitsDetails</Role>
      <ShortName>13.Employee benefits (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>90</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R91.htm</HtmlFileName>
      <LongName>00000091 - Disclosure - 13.Employee benefits (Details 1)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/EmployeeBenefitsDetails1</Role>
      <ShortName>13.Employee benefits (Details 1)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>91</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R92.htm</HtmlFileName>
      <LongName>00000092 - Disclosure - 13.Employee benefits (Details Narrartive)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/EmployeeBenefitsDetailsNarrartive</Role>
      <ShortName>13.Employee benefits (Details Narrartive)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>92</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R93.htm</HtmlFileName>
      <LongName>00000093 - Disclosure - 14. Post-employment benefits (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/Post-employmentBenefitsDetails</Role>
      <ShortName>14. Post-employment benefits (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://petrobras.com/role/Post-employmentBenefitsTables</ParentRole>
      <Position>93</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R94.htm</HtmlFileName>
      <LongName>00000094 - Disclosure - 14. Post-employment benefits (Details 1)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/Post-employmentBenefitsDetails1</Role>
      <ShortName>14. Post-employment benefits (Details 1)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://petrobras.com/role/Post-employmentBenefitsTables</ParentRole>
      <Position>94</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R95.htm</HtmlFileName>
      <LongName>00000095 - Disclosure - 14. Post-employment benefits (Details 2)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/Post-employmentBenefitsDetails2</Role>
      <ShortName>14. Post-employment benefits (Details 2)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://petrobras.com/role/Post-employmentBenefitsTables</ParentRole>
      <Position>95</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R96.htm</HtmlFileName>
      <LongName>00000096 - Disclosure - 14. Post-employment benefits (Details 3)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/Post-employmentBenefitsDetails3</Role>
      <ShortName>14. Post-employment benefits (Details 3)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://petrobras.com/role/Post-employmentBenefitsTables</ParentRole>
      <Position>96</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R97.htm</HtmlFileName>
      <LongName>00000097 - Disclosure - 14. Post-employment benefits (Details 4)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/Post-employmentBenefitsDetails4</Role>
      <ShortName>14. Post-employment benefits (Details 4)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://petrobras.com/role/Post-employmentBenefitsTables</ParentRole>
      <Position>97</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R98.htm</HtmlFileName>
      <LongName>00000098 - Disclosure - 14. Post-employment benefits (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/Post-employmentBenefitsDetailsNarrative</Role>
      <ShortName>14. Post-employment benefits (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://petrobras.com/role/Post-employmentBenefitsTables</ParentRole>
      <Position>98</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R99.htm</HtmlFileName>
      <LongName>00000099 - Disclosure - 15. Provisions for legal proceedings (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/ProvisionsForLegalProceedingsDetails</Role>
      <ShortName>15. Provisions for legal proceedings (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://petrobras.com/role/ProvisionsForLegalProceedingsTables</ParentRole>
      <Position>99</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R100.htm</HtmlFileName>
      <LongName>00000100 - Disclosure - 15. Provisions for legal proceedings (Details 1)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/ProvisionsForLegalProceedingsDetails1</Role>
      <ShortName>15. Provisions for legal proceedings (Details 1)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://petrobras.com/role/ProvisionsForLegalProceedingsTables</ParentRole>
      <Position>100</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R101.htm</HtmlFileName>
      <LongName>00000101 - Disclosure - 15. Provisions for legal proceedings (Details 2)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/ProvisionsForLegalProceedingsDetails2</Role>
      <ShortName>15. Provisions for legal proceedings (Details 2)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://petrobras.com/role/ProvisionsForLegalProceedingsTables</ParentRole>
      <Position>101</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R102.htm</HtmlFileName>
      <LongName>00000102 - Disclosure - 15. Provisions for legal proceedings (Details 3)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/ProvisionsForLegalProceedingsDetails3</Role>
      <ShortName>15. Provisions for legal proceedings (Details 3)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://petrobras.com/role/ProvisionsForLegalProceedingsTables</ParentRole>
      <Position>102</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R103.htm</HtmlFileName>
      <LongName>00000103 - Disclosure - 15. Provisions for legal proceedings (Details 4)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/ProvisionsForLegalProceedingsDetails4</Role>
      <ShortName>15. Provisions for legal proceedings (Details 4)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://petrobras.com/role/ProvisionsForLegalProceedingsTables</ParentRole>
      <Position>103</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R104.htm</HtmlFileName>
      <LongName>00000104 - Disclosure - 15. Provisions for legal proceedings (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/ProvisionsForLegalProceedingsDetailsNarrative</Role>
      <ShortName>15. Provisions for legal proceedings (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://petrobras.com/role/ProvisionsForLegalProceedingsTables</ParentRole>
      <Position>104</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R105.htm</HtmlFileName>
      <LongName>00000105 - Disclosure - 16. Provision for decommissioning costs (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/ProvisionForDecommissioningCostsDetails</Role>
      <ShortName>16. Provision for decommissioning costs (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://petrobras.com/role/ProvisionForDecommissioningCostsTables</ParentRole>
      <Position>105</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R106.htm</HtmlFileName>
      <LongName>00000106 - Disclosure - 17. The Lava Jato (Car Wash) Operation and its effects on the Company (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/LavaJatoCarWashOperationAndItsEffectsOnCompanyDetailsNarrative</Role>
      <ShortName>17. The Lava Jato (Car Wash) Operation and its effects on the Company (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://petrobras.com/role/LavaJatoCarWashOperationAndItsEffectsOnCompany</ParentRole>
      <Position>106</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R107.htm</HtmlFileName>
      <LongName>00000107 - Disclosure - 18. Property, plant and equipment (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/PropertyPlantAndEquipmentDetails</Role>
      <ShortName>18. Property, plant and equipment (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://petrobras.com/role/PropertyPlantAndEquipmentTables</ParentRole>
      <Position>107</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R108.htm</HtmlFileName>
      <LongName>00000108 - Disclosure - 18. Property, plant and equipment (Details 1)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/PropertyPlantAndEquipmentDetails1</Role>
      <ShortName>18. Property, plant and equipment (Details 1)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://petrobras.com/role/PropertyPlantAndEquipmentTables</ParentRole>
      <Position>108</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R109.htm</HtmlFileName>
      <LongName>00000109 - Disclosure - 18. Property, plant and equipment (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/PropertyPlantAndEquipmentDetailsNarrative</Role>
      <ShortName>18. Property, plant and equipment (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://petrobras.com/role/PropertyPlantAndEquipmentTables</ParentRole>
      <Position>109</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R110.htm</HtmlFileName>
      <LongName>00000110 - Disclosure - 19. Intangible assets (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/IntangibleAssetsDetails</Role>
      <ShortName>19. Intangible assets (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://petrobras.com/role/IntangibleAssetsTables</ParentRole>
      <Position>110</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R111.htm</HtmlFileName>
      <LongName>00000111 - Disclosure - 19. Intangible assets (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/IntangibleAssetsDetailsNarrative</Role>
      <ShortName>19. Intangible assets (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://petrobras.com/role/IntangibleAssetsTables</ParentRole>
      <Position>111</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R112.htm</HtmlFileName>
      <LongName>00000112 - Disclosure - 20. Impairment (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/ImpairmentDetails</Role>
      <ShortName>20. Impairment (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://petrobras.com/role/ImpairmentTables</ParentRole>
      <Position>112</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R113.htm</HtmlFileName>
      <LongName>00000113 - Disclosure - 20. Impairment (Details 1)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/ImpairmentDetails1</Role>
      <ShortName>20. Impairment (Details 1)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://petrobras.com/role/ImpairmentTables</ParentRole>
      <Position>113</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R114.htm</HtmlFileName>
      <LongName>00000114 - Disclosure - 20. Impairment (Details 2)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/ImpairmentDetails2</Role>
      <ShortName>20. Impairment (Details 2)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://petrobras.com/role/ImpairmentTables</ParentRole>
      <Position>114</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R115.htm</HtmlFileName>
      <LongName>00000115 - Disclosure - 20. Impairment (Details 3)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/ImpairmentDetails3</Role>
      <ShortName>20. Impairment (Details 3)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://petrobras.com/role/ImpairmentTables</ParentRole>
      <Position>115</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R116.htm</HtmlFileName>
      <LongName>00000116 - Disclosure - 20. Impairment (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/ImpairmentDetailsNarrative</Role>
      <ShortName>20. Impairment (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://petrobras.com/role/ImpairmentTables</ParentRole>
      <Position>116</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R117.htm</HtmlFileName>
      <LongName>00000117 - Disclosure - 21. Exploration and evaluation of oil and gas reserves  (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/ExplorationAndEvaluationOfOilAndGasReservesDetails</Role>
      <ShortName>21. Exploration and evaluation of oil and gas reserves  (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://petrobras.com/role/ExplorationAndEvaluationOfOilAndGasReservesTables</ParentRole>
      <Position>117</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R118.htm</HtmlFileName>
      <LongName>00000118 - Disclosure - 21. Exploration and evaluation of oil and gas reserves  (Details 1)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/ExplorationAndEvaluationOfOilAndGasReservesDetails1</Role>
      <ShortName>21. Exploration and evaluation of oil and gas reserves  (Details 1)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://petrobras.com/role/ExplorationAndEvaluationOfOilAndGasReservesTables</ParentRole>
      <Position>118</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R119.htm</HtmlFileName>
      <LongName>00000119 - Disclosure - 22. Collateral for crude oil exploration concession agreements (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/CollateralForCrudeOilExplorationConcessionAgreementsDetailsNarrative</Role>
      <ShortName>22. Collateral for crude oil exploration concession agreements (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://petrobras.com/role/CollateralForCrudeOilExplorationConcessionAgreements</ParentRole>
      <Position>119</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R120.htm</HtmlFileName>
      <LongName>00000120 - Disclosure - 23. Investments (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/InvestmentsDetails</Role>
      <ShortName>23. Investments (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://petrobras.com/role/InvestmentsTables</ParentRole>
      <Position>120</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R121.htm</HtmlFileName>
      <LongName>00000121 - Disclosure - 24. Disposal of assets and other changes in organizational structure (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/DisposalOfAssetsAndOtherChangesInOrganizationalStructureDetails</Role>
      <ShortName>24. Disposal of assets and other changes in organizational structure (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://petrobras.com/role/DisposalOfAssetsAndOtherChangesInOrganizationalStructureTables</ParentRole>
      <Position>121</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R122.htm</HtmlFileName>
      <LongName>00000122 - Disclosure - 24. Disposal of assets and other changes in organizational structure (Details 1)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/DisposalOfAssetsAndOtherChangesInOrganizationalStructureDetails1</Role>
      <ShortName>24. Disposal of assets and other changes in organizational structure (Details 1)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://petrobras.com/role/DisposalOfAssetsAndOtherChangesInOrganizationalStructureTables</ParentRole>
      <Position>122</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R123.htm</HtmlFileName>
      <LongName>00000123 - Disclosure - 24. Disposal of assets and other changes in organizational structure (Details Narrative</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/DisposalOfAssetsAndOtherChangesInOrganizationalStructureDetailsNarrative</Role>
      <ShortName>24. Disposal of assets and other changes in organizational structure (Details Narrative</ShortName>
      <MenuCategory>Uncategorized</MenuCategory>
      <Position>123</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R124.htm</HtmlFileName>
      <LongName>00000124 - Disclosure - 25. Assets by operating segment (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/AssetsByOperatingSegmentDetails</Role>
      <ShortName>25. Assets by operating segment (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://petrobras.com/role/AssetsByOperatingSegmentTables</ParentRole>
      <Position>124</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R125.htm</HtmlFileName>
      <LongName>00000125 - Disclosure - 26. Finance debt (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/FinanceDebtDetails</Role>
      <ShortName>26. Finance debt (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://petrobras.com/role/FinanceDebtTables</ParentRole>
      <Position>125</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R126.htm</HtmlFileName>
      <LongName>00000126 - Disclosure - 26. Finance debt (Details 1)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/FinanceDebtDetails1</Role>
      <ShortName>26. Finance debt (Details 1)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://petrobras.com/role/FinanceDebtTables</ParentRole>
      <Position>126</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R127.htm</HtmlFileName>
      <LongName>00000127 - Disclosure - 26. Finance debt (Details 2)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/FinanceDebtDetails2</Role>
      <ShortName>26. Finance debt (Details 2)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://petrobras.com/role/FinanceDebtTables</ParentRole>
      <Position>127</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R128.htm</HtmlFileName>
      <LongName>00000128 - Disclosure - 26. Finance debt (Details 3)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/FinanceDebtDetails3</Role>
      <ShortName>26. Finance debt (Details 3)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://petrobras.com/role/FinanceDebtTables</ParentRole>
      <Position>128</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R129.htm</HtmlFileName>
      <LongName>00000129 - Disclosure - 26. Finance debt (Details 4)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/FinanceDebtDetails4</Role>
      <ShortName>26. Finance debt (Details 4)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://petrobras.com/role/FinanceDebtTables</ParentRole>
      <Position>129</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R130.htm</HtmlFileName>
      <LongName>00000130 - Disclosure - 26. Finance debt (Details 5)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/FinanceDebtDetails5</Role>
      <ShortName>26. Finance debt (Details 5)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://petrobras.com/role/FinanceDebtTables</ParentRole>
      <Position>130</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R131.htm</HtmlFileName>
      <LongName>00000131 - Disclosure - 26. Finance debt (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/FinanceDebtDetailsNarrative</Role>
      <ShortName>26. Finance debt (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://petrobras.com/role/FinanceDebtTables</ParentRole>
      <Position>131</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R132.htm</HtmlFileName>
      <LongName>00000132 - Disclosure - 27. Lease liabilities (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/LeaseLiabilitiesDetails</Role>
      <ShortName>27. Lease liabilities (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://petrobras.com/role/LeaseLiabilitiesTables</ParentRole>
      <Position>132</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R133.htm</HtmlFileName>
      <LongName>00000133 - Disclosure - 27. Lease liabilities (Details 1)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/LeaseLiabilitiesDetails1</Role>
      <ShortName>27. Lease liabilities (Details 1)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://petrobras.com/role/LeaseLiabilitiesTables</ParentRole>
      <Position>133</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R134.htm</HtmlFileName>
      <LongName>00000134 - Disclosure - 27. Lease liabilities (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/LeaseLiabilitiesDetailsNarrative</Role>
      <ShortName>27. Lease liabilities (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://petrobras.com/role/LeaseLiabilitiesTables</ParentRole>
      <Position>134</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R135.htm</HtmlFileName>
      <LongName>00000135 - Disclosure - 28. Equity (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/EquityDetails</Role>
      <ShortName>28. Equity (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://petrobras.com/role/EquityTables</ParentRole>
      <Position>135</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R136.htm</HtmlFileName>
      <LongName>00000136 - Disclosure - 28. Equity (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/EquityDetailsNarrative</Role>
      <ShortName>28. Equity (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://petrobras.com/role/EquityTables</ParentRole>
      <Position>136</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R137.htm</HtmlFileName>
      <LongName>00000137 - Disclosure - 29. Fair value of financial assets and liabilities (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/FairValueOfFinancialAssetsAndLiabilitiesDetails</Role>
      <ShortName>29. Fair value of financial assets and liabilities (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://petrobras.com/role/FairValueOfFinancialAssetsAndLiabilitiesTables</ParentRole>
      <Position>137</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R138.htm</HtmlFileName>
      <LongName>00000138 - Disclosure - 30. Risk management (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/RiskManagementDetails</Role>
      <ShortName>30. Risk management (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://petrobras.com/role/RiskManagementTables</ParentRole>
      <Position>138</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R139.htm</HtmlFileName>
      <LongName>00000139 - Disclosure - 30. Risk management (Details 1)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/RiskManagementDetails1</Role>
      <ShortName>30. Risk management (Details 1)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://petrobras.com/role/RiskManagementTables</ParentRole>
      <Position>139</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R140.htm</HtmlFileName>
      <LongName>00000140 - Disclosure - 30. Risk management (Details 2)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/RiskManagementDetails2</Role>
      <ShortName>30. Risk management (Details 2)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://petrobras.com/role/RiskManagementTables</ParentRole>
      <Position>140</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R141.htm</HtmlFileName>
      <LongName>00000141 - Disclosure - 30. Risk management (Details 3)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/RiskManagementDetails3</Role>
      <ShortName>30. Risk management (Details 3)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://petrobras.com/role/RiskManagementTables</ParentRole>
      <Position>141</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R142.htm</HtmlFileName>
      <LongName>00000142 - Disclosure - 30. Risk management (Details 4)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/RiskManagementDetails4</Role>
      <ShortName>30. Risk management (Details 4)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://petrobras.com/role/RiskManagementTables</ParentRole>
      <Position>142</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R143.htm</HtmlFileName>
      <LongName>00000143 - Disclosure - 30. Risk management (Details 5)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/RiskManagementDetails5</Role>
      <ShortName>30. Risk management (Details 5)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://petrobras.com/role/RiskManagementTables</ParentRole>
      <Position>143</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R144.htm</HtmlFileName>
      <LongName>00000144 - Disclosure - 30. Risk management (Details 6)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/RiskManagementDetails6</Role>
      <ShortName>30. Risk management (Details 6)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://petrobras.com/role/RiskManagementTables</ParentRole>
      <Position>144</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R145.htm</HtmlFileName>
      <LongName>00000145 - Disclosure - 30. Risk management (Details 7)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/RiskManagementDetails7</Role>
      <ShortName>30. Risk management (Details 7)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://petrobras.com/role/RiskManagementTables</ParentRole>
      <Position>145</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R146.htm</HtmlFileName>
      <LongName>00000146 - Disclosure - 30. Risk management (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/RiskManagementDetailsNarrative</Role>
      <ShortName>30. Risk management (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://petrobras.com/role/RiskManagementTables</ParentRole>
      <Position>146</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R147.htm</HtmlFileName>
      <LongName>00000147 - Disclosure - 31. Related-party transactions (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/Related-partyTransactionsDetails</Role>
      <ShortName>31. Related-party transactions (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://petrobras.com/role/Related-partyTransactionsTables</ParentRole>
      <Position>147</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R148.htm</HtmlFileName>
      <LongName>00000148 - Disclosure - 31. Related-party transactions (Details 1)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/Related-partyTransactionsDetails1</Role>
      <ShortName>31. Related-party transactions (Details 1)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://petrobras.com/role/Related-partyTransactionsTables</ParentRole>
      <Position>148</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R149.htm</HtmlFileName>
      <LongName>00000149 - Disclosure - 31. Related-party transactions  (Details 2)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/Related-partyTransactionsDetails2</Role>
      <ShortName>31. Related-party transactions  (Details 2)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://petrobras.com/role/Related-partyTransactionsTables</ParentRole>
      <Position>149</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R150.htm</HtmlFileName>
      <LongName>00000150 - Disclosure - 31. Related-party transactions  (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/Related-partyTransactionsDetailsNarrative</Role>
      <ShortName>31. Related-party transactions  (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://petrobras.com/role/Related-partyTransactionsTables</ParentRole>
      <Position>150</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R151.htm</HtmlFileName>
      <LongName>00000151 - Disclosure - 32. Supplemental information on statement of cash flows (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/SupplementalInformationOnStatementOfCashFlowsDetails</Role>
      <ShortName>32. Supplemental information on statement of cash flows (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://petrobras.com/role/SupplementalInformationOnStatementOfCashFlowsTables</ParentRole>
      <Position>151</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R152.htm</HtmlFileName>
      <LongName>00000152 - Disclosure - 33. Subsequent events (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/SubsequentEventsDetailsNarrative</Role>
      <ShortName>33. Subsequent events (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://petrobras.com/role/SubsequentEvents</ParentRole>
      <Position>152</Position>
    </Report>
    <Report instance="pbr-20200630.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R153.htm</HtmlFileName>
      <LongName>00000153 - Disclosure - 34. Information related to guaranteed securities issued by subsidiaries (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://petrobras.com/role/InformationRelatedToGuaranteedSecuritiesIssuedBySubsidiariesDetailsNarrative</Role>
      <ShortName>34. Information related to guaranteed securities issued by subsidiaries (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://petrobras.com/role/InformationRelatedToGuaranteedSecuritiesIssuedBySubsidiaries</ParentRole>
      <Position>153</Position>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <LongName>All Reports</LongName>
      <ReportType>Book</ReportType>
      <ShortName>All Reports</ShortName>
    </Report>
  </MyReports>
  <InputFiles>
    <File>pbr-20200630.xml</File>
    <File>pbr-20200630.xsd</File>
    <File>pbr-20200630_cal.xml</File>
    <File>pbr-20200630_def.xml</File>
    <File>pbr-20200630_lab.xml</File>
    <File>pbr-20200630_pre.xml</File>
  </InputFiles>
  <SupplementalFiles/>
  <BaseTaxonomies>
    <BaseTaxonomy>http://xbrl.sec.gov/country/2020-01-31</BaseTaxonomy>
    <BaseTaxonomy>http://xbrl.sec.gov/currency/2020-01-31</BaseTaxonomy>
    <BaseTaxonomy>http://xbrl.ifrs.org/taxonomy/2020-03-16/ifrs-full</BaseTaxonomy>
    <BaseTaxonomy>http://xbrl.sec.gov/dei/2020-01-31</BaseTaxonomy>
    <BaseTaxonomy>http://fasb.org/srt/2020-01-31</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>true</HasPresentationLinkbase>
  <HasCalculationLinkbase>true</HasCalculationLinkbase>
</FilingSummary>
