<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.20.4</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>1196</ContextCount>
  <ElementCount>949</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>false</FootnotesReported>
  <SegmentCount>277</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>10</UnitCount>
  <MyReports>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R1.htm</HtmlFileName>
      <LongName>00090 - Document - Document and Entity Information</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DocumentDocumentAndEntityInformation</Role>
      <ShortName>Document and Entity Information</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>1</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R2.htm</HtmlFileName>
      <LongName>00100 - Statement - CONSOLIDATED INCOME STATEMENT</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/StatementConsolidatedIncomeStatement</Role>
      <ShortName>CONSOLIDATED INCOME STATEMENT</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>2</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R3.htm</HtmlFileName>
      <LongName>00200 - Statement - CONSOLIDATED STATEMENT OF COMPREHENSIVE INCOME</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/StatementConsolidatedStatementOfComprehensiveIncome</Role>
      <ShortName>CONSOLIDATED STATEMENT OF COMPREHENSIVE INCOME</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>3</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R4.htm</HtmlFileName>
      <LongName>00300 - Statement - CONSOLIDATED BALANCE SHEET</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/StatementConsolidatedBalanceSheet</Role>
      <ShortName>CONSOLIDATED BALANCE SHEET</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>4</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R5.htm</HtmlFileName>
      <LongName>00305 - Statement - CONSOLIDATED BALANCE SHEET (Parenthetical)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/StatementConsolidatedBalanceSheetParenthetical</Role>
      <ShortName>CONSOLIDATED BALANCE SHEET (Parenthetical)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>5</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R6.htm</HtmlFileName>
      <LongName>00400 - Statement - CONSOLIDATED STATEMENT OF CASH FLOWS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/StatementConsolidatedStatementOfCashFlows</Role>
      <ShortName>CONSOLIDATED STATEMENT OF CASH FLOWS</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>6</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R7.htm</HtmlFileName>
      <LongName>00500 - Statement - CONSOLIDATED STATEMENT OF EQUITY</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/StatementConsolidatedStatementOfEquity</Role>
      <ShortName>CONSOLIDATED STATEMENT OF EQUITY</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>7</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R8.htm</HtmlFileName>
      <LongName>00505 - Statement - CONSOLIDATED STATEMENT OF EQUITY (Parenthetical)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/StatementConsolidatedStatementOfEquityParenthetical</Role>
      <ShortName>CONSOLIDATED STATEMENT OF EQUITY (Parenthetical)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>8</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R9.htm</HtmlFileName>
      <LongName>10101 - Disclosure - Significant Accounting Policies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureSignificantAccountingPolicies</Role>
      <ShortName>Significant Accounting Policies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>9</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R10.htm</HtmlFileName>
      <LongName>10201 - Disclosure - Accounting Changes</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureAccountingChanges</Role>
      <ShortName>Accounting Changes</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>10</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R11.htm</HtmlFileName>
      <LongName>10301 - Disclosure - Revenue Recognition</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureRevenueRecognition</Role>
      <ShortName>Revenue Recognition</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>11</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R12.htm</HtmlFileName>
      <LongName>10401 - Disclosure - Segments</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureSegments</Role>
      <ShortName>Segments</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>12</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R13.htm</HtmlFileName>
      <LongName>10501 - Disclosure - Acquisitions &amp; Divestitures</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureAcquisitionsDivestitures</Role>
      <ShortName>Acquisitions &amp; Divestitures</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>13</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R14.htm</HtmlFileName>
      <LongName>10601 - Disclosure - Research, Development &amp; Engineering</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureResearchDevelopmentEngineering</Role>
      <ShortName>Research, Development &amp; Engineering</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>14</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R15.htm</HtmlFileName>
      <LongName>10701 - Disclosure - Taxes</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureTaxes</Role>
      <ShortName>Taxes</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>15</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R16.htm</HtmlFileName>
      <LongName>10801 - Disclosure - Earnings Per Share</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureEarningsPerShare</Role>
      <ShortName>Earnings Per Share</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>16</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R17.htm</HtmlFileName>
      <LongName>10901 - Disclosure - Financial Assets &amp; Liabilities</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureFinancialAssetsLiabilities</Role>
      <ShortName>Financial Assets &amp; Liabilities</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>17</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R18.htm</HtmlFileName>
      <LongName>11001 - Disclosure - Inventory</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureInventory</Role>
      <ShortName>Inventory</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>18</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R19.htm</HtmlFileName>
      <LongName>11101 - Disclosure - Financing Receivables</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureFinancingReceivables</Role>
      <ShortName>Financing Receivables</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>19</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R20.htm</HtmlFileName>
      <LongName>11201 - Disclosure - Property, Plant &amp; Equipment</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosurePropertyPlantEquipment</Role>
      <ShortName>Property, Plant &amp; Equipment</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>20</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R21.htm</HtmlFileName>
      <LongName>11301 - Disclosure - Leases</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureLeases</Role>
      <ShortName>Leases</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>21</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R22.htm</HtmlFileName>
      <LongName>11401 - Disclosure - Intangible Assets Including Goodwill</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureIntangibleAssetsIncludingGoodwill</Role>
      <ShortName>Intangible Assets Including Goodwill</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>22</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R23.htm</HtmlFileName>
      <LongName>11501 - Disclosure - Investments &amp; Sundry Assets</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureInvestmentsSundryAssets</Role>
      <ShortName>Investments &amp; Sundry Assets</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>23</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R24.htm</HtmlFileName>
      <LongName>11601 - Disclosure - Borrowings</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureBorrowings</Role>
      <ShortName>Borrowings</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>24</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R25.htm</HtmlFileName>
      <LongName>11701 - Disclosure - Other Liabilities</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureOtherLiabilities</Role>
      <ShortName>Other Liabilities</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>25</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R26.htm</HtmlFileName>
      <LongName>11801 - Disclosure - Commitments &amp; Contingencies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureCommitmentsContingencies</Role>
      <ShortName>Commitments &amp; Contingencies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>26</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R27.htm</HtmlFileName>
      <LongName>11901 - Disclosure - Equity Activity</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureEquityActivity</Role>
      <ShortName>Equity Activity</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>27</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R28.htm</HtmlFileName>
      <LongName>12001 - Disclosure - Derivative Financial Instruments</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureDerivativeFinancialInstruments</Role>
      <ShortName>Derivative Financial Instruments</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>28</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R29.htm</HtmlFileName>
      <LongName>12101 - Disclosure - Stock-Based Compensation</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureStockBasedCompensation</Role>
      <ShortName>Stock-Based Compensation</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>29</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R30.htm</HtmlFileName>
      <LongName>12201 - Disclosure - Retirement-Related Benefits</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureRetirementRelatedBenefits</Role>
      <ShortName>Retirement-Related Benefits</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>30</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R31.htm</HtmlFileName>
      <LongName>12301 - Disclosure - Subsequent Events</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureSubsequentEvents</Role>
      <ShortName>Subsequent Events</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>31</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R32.htm</HtmlFileName>
      <LongName>12401 - Disclosure - SCHEDULE II VALUATION AND QUALIFYING ACCOUNTS AND RESERVES</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureScheduleIiValuationAndQualifyingAccountsAndReserves</Role>
      <ShortName>SCHEDULE II VALUATION AND QUALIFYING ACCOUNTS AND RESERVES</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>32</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R33.htm</HtmlFileName>
      <LongName>20102 - Disclosure - Significant Accounting Policies (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureSignificantAccountingPoliciesPolicies</Role>
      <ShortName>Significant Accounting Policies (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <ParentRole>http://www.ibm.com/role/DisclosureSignificantAccountingPolicies</ParentRole>
      <Position>33</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R34.htm</HtmlFileName>
      <LongName>30303 - Disclosure - Revenue Recognition (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureRevenueRecognitionTables</Role>
      <ShortName>Revenue Recognition (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.ibm.com/role/DisclosureRevenueRecognition</ParentRole>
      <Position>34</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R35.htm</HtmlFileName>
      <LongName>30403 - Disclosure - Segments (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureSegmentsTables</Role>
      <ShortName>Segments (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.ibm.com/role/DisclosureSegments</ParentRole>
      <Position>35</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R36.htm</HtmlFileName>
      <LongName>30503 - Disclosure - Acquisitions &amp; Divestitures (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureAcquisitionsDivestituresTables</Role>
      <ShortName>Acquisitions &amp; Divestitures (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.ibm.com/role/DisclosureAcquisitionsDivestitures</ParentRole>
      <Position>36</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R37.htm</HtmlFileName>
      <LongName>30703 - Disclosure - Taxes (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureTaxesTables</Role>
      <ShortName>Taxes (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.ibm.com/role/DisclosureTaxes</ParentRole>
      <Position>37</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R38.htm</HtmlFileName>
      <LongName>30803 - Disclosure - Earnings Per Share (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureEarningsPerShareTables</Role>
      <ShortName>Earnings Per Share (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.ibm.com/role/DisclosureEarningsPerShare</ParentRole>
      <Position>38</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R39.htm</HtmlFileName>
      <LongName>30903 - Disclosure - Financial Assets &amp; Liabilities (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureFinancialAssetsLiabilitiesTables</Role>
      <ShortName>Financial Assets &amp; Liabilities (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.ibm.com/role/DisclosureFinancialAssetsLiabilities</ParentRole>
      <Position>39</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R40.htm</HtmlFileName>
      <LongName>31003 - Disclosure - Inventory (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureInventoryTables</Role>
      <ShortName>Inventory (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.ibm.com/role/DisclosureInventory</ParentRole>
      <Position>40</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R41.htm</HtmlFileName>
      <LongName>31103 - Disclosure - Financing Receivables (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureFinancingReceivablesTables</Role>
      <ShortName>Financing Receivables (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.ibm.com/role/DisclosureFinancingReceivables</ParentRole>
      <Position>41</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R42.htm</HtmlFileName>
      <LongName>31203 - Disclosure - Property, Plant &amp; Equipment (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosurePropertyPlantEquipmentTables</Role>
      <ShortName>Property, Plant &amp; Equipment (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.ibm.com/role/DisclosurePropertyPlantEquipment</ParentRole>
      <Position>42</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R43.htm</HtmlFileName>
      <LongName>31303 - Disclosure - Leases (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureLeasesTables</Role>
      <ShortName>Leases (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.ibm.com/role/DisclosureLeases</ParentRole>
      <Position>43</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R44.htm</HtmlFileName>
      <LongName>31403 - Disclosure - Intangible Assets Including Goodwill (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureIntangibleAssetsIncludingGoodwillTables</Role>
      <ShortName>Intangible Assets Including Goodwill (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.ibm.com/role/DisclosureIntangibleAssetsIncludingGoodwill</ParentRole>
      <Position>44</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R45.htm</HtmlFileName>
      <LongName>31503 - Disclosure - Investments &amp; Sundry Assets (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureInvestmentsSundryAssetsTables</Role>
      <ShortName>Investments &amp; Sundry Assets (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.ibm.com/role/DisclosureInvestmentsSundryAssets</ParentRole>
      <Position>45</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R46.htm</HtmlFileName>
      <LongName>31603 - Disclosure - Borrowings (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureBorrowingsTables</Role>
      <ShortName>Borrowings (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.ibm.com/role/DisclosureBorrowings</ParentRole>
      <Position>46</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R47.htm</HtmlFileName>
      <LongName>31703 - Disclosure - Other Liabilities (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureOtherLiabilitiesTables</Role>
      <ShortName>Other Liabilities (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.ibm.com/role/DisclosureOtherLiabilities</ParentRole>
      <Position>47</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R48.htm</HtmlFileName>
      <LongName>31803 - Disclosure - Commitments &amp; Contingencies (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureCommitmentsContingenciesTables</Role>
      <ShortName>Commitments &amp; Contingencies (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.ibm.com/role/DisclosureCommitmentsContingencies</ParentRole>
      <Position>48</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R49.htm</HtmlFileName>
      <LongName>31903 - Disclosure - Equity Activity (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureEquityActivityTables</Role>
      <ShortName>Equity Activity (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.ibm.com/role/DisclosureEquityActivity</ParentRole>
      <Position>49</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R50.htm</HtmlFileName>
      <LongName>32003 - Disclosure - Derivative Financial Instruments (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureDerivativeFinancialInstrumentsTables</Role>
      <ShortName>Derivative Financial Instruments (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.ibm.com/role/DisclosureDerivativeFinancialInstruments</ParentRole>
      <Position>50</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R51.htm</HtmlFileName>
      <LongName>32103 - Disclosure - Stock-Based Compensation (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureStockBasedCompensationTables</Role>
      <ShortName>Stock-Based Compensation (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.ibm.com/role/DisclosureStockBasedCompensation</ParentRole>
      <Position>51</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R52.htm</HtmlFileName>
      <LongName>32203 - Disclosure - Retirement-Related Benefits (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureRetirementRelatedBenefitsTables</Role>
      <ShortName>Retirement-Related Benefits (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.ibm.com/role/DisclosureRetirementRelatedBenefits</ParentRole>
      <Position>52</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R53.htm</HtmlFileName>
      <LongName>40101 - Disclosure - Significant Accounting Policies - Basis of Presentation (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureSignificantAccountingPoliciesBasisOfPresentationDetails</Role>
      <ShortName>Significant Accounting Policies - Basis of Presentation (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>53</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R54.htm</HtmlFileName>
      <LongName>40102 - Disclosure - Significant Accounting Policies - Billing and Financing Components (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureSignificantAccountingPoliciesBillingAndFinancingComponentsDetails</Role>
      <ShortName>Significant Accounting Policies - Billing and Financing Components (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>54</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R55.htm</HtmlFileName>
      <LongName>40103 - Disclosure - Significant Accounting Policies - Revenue Recognition for Major Categories of Revenue (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureSignificantAccountingPoliciesRevenueRecognitionForMajorCategoriesOfRevenueDetails</Role>
      <ShortName>Significant Accounting Policies - Revenue Recognition for Major Categories of Revenue (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>55</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R56.htm</HtmlFileName>
      <LongName>40104 - Disclosure - Significant Accounting Policies - Software Costs (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureSignificantAccountingPoliciesSoftwareCostsDetails</Role>
      <ShortName>Significant Accounting Policies - Software Costs (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>56</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R57.htm</HtmlFileName>
      <LongName>40105 - Disclosure - Significant Accounting Policies - Incremental Costs of Obtaining a Contract (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureSignificantAccountingPoliciesIncrementalCostsOfObtainingContractDetails</Role>
      <ShortName>Significant Accounting Policies - Incremental Costs of Obtaining a Contract (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>57</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R58.htm</HtmlFileName>
      <LongName>40106 - Disclosure - Significant Accounting Policies - Product Warranties (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureSignificantAccountingPoliciesProductWarrantiesDetails</Role>
      <ShortName>Significant Accounting Policies - Product Warranties (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>58</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R59.htm</HtmlFileName>
      <LongName>40107 - Disclosure - Significant Accounting Policies - Advertising and Promotional Expense (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureSignificantAccountingPoliciesAdvertisingAndPromotionalExpenseDetails</Role>
      <ShortName>Significant Accounting Policies - Advertising and Promotional Expense (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>59</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R60.htm</HtmlFileName>
      <LongName>40108 - Disclosure - Significant Accounting Policies - Depreciation (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureSignificantAccountingPoliciesDepreciationDetails</Role>
      <ShortName>Significant Accounting Policies - Depreciation (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>60</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R61.htm</HtmlFileName>
      <LongName>40109 - Disclosure - Significant Accounting Policies - Amortization (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureSignificantAccountingPoliciesAmortizationDetails</Role>
      <ShortName>Significant Accounting Policies - Amortization (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>61</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R62.htm</HtmlFileName>
      <LongName>40110 - Disclosure - Significant Accounting Policies - Stock-Based Compensation (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureSignificantAccountingPoliciesStockBasedCompensationDetails</Role>
      <ShortName>Significant Accounting Policies - Stock-Based Compensation (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>62</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R63.htm</HtmlFileName>
      <LongName>40111 - Disclosure - Significant Accounting Policies - Fair Value Measurement (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureSignificantAccountingPoliciesFairValueMeasurementDetails</Role>
      <ShortName>Significant Accounting Policies - Fair Value Measurement (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>63</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R64.htm</HtmlFileName>
      <LongName>40112 - Disclosure - Significant Accounting Policies - Transfers of Financial Assets (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureSignificantAccountingPoliciesTransfersOfFinancialAssetsDetails</Role>
      <ShortName>Significant Accounting Policies - Transfers of Financial Assets (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>64</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R65.htm</HtmlFileName>
      <LongName>40113 - Disclosure - Significant Accounting Policies - Financing Receivables (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureSignificantAccountingPoliciesFinancingReceivablesDetails</Role>
      <ShortName>Significant Accounting Policies - Financing Receivables (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>65</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R66.htm</HtmlFileName>
      <LongName>40114 - Disclosure - Significant Accounting Policies - Leases (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureSignificantAccountingPoliciesLeasesDetails</Role>
      <ShortName>Significant Accounting Policies - Leases (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>66</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R67.htm</HtmlFileName>
      <LongName>40115 - Disclosure - Significant Accounting Policies - Common Stock (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureSignificantAccountingPoliciesCommonStockDetails</Role>
      <ShortName>Significant Accounting Policies - Common Stock (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>67</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R68.htm</HtmlFileName>
      <LongName>40201 - Disclosure - Accounting Changes - Credit Losses (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureAccountingChangesCreditLossesDetails</Role>
      <ShortName>Accounting Changes - Credit Losses (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>68</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R69.htm</HtmlFileName>
      <LongName>40202 - Disclosure - Accounting Changes - Leases (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureAccountingChangesLeasesDetails</Role>
      <ShortName>Accounting Changes - Leases (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>69</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R70.htm</HtmlFileName>
      <LongName>40203 - Disclosure - Accounting Changes - Revenue Recognition (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureAccountingChangesRevenueRecognitionDetails</Role>
      <ShortName>Accounting Changes - Revenue Recognition (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>70</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R71.htm</HtmlFileName>
      <LongName>40301 - Disclosure - Revenue Recognition - Disaggregation of Revenue by Major Products/Service Offerings (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureRevenueRecognitionDisaggregationOfRevenueByMajorProductsServiceOfferingsDetails</Role>
      <ShortName>Revenue Recognition - Disaggregation of Revenue by Major Products/Service Offerings (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>71</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R72.htm</HtmlFileName>
      <LongName>40302 - Disclosure - Revenue Recognition - Disaggregation of Revenue by Geography (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureRevenueRecognitionDisaggregationOfRevenueByGeographyDetails</Role>
      <ShortName>Revenue Recognition - Disaggregation of Revenue by Geography (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>72</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R73.htm</HtmlFileName>
      <LongName>40303 - Disclosure - Revenue Recognition - Remaining Performance Obligations (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureRevenueRecognitionRemainingPerformanceObligationsDetails</Role>
      <ShortName>Revenue Recognition - Remaining Performance Obligations (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>73</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R74.htm</HtmlFileName>
      <LongName>40304 - Disclosure - Revenue Recognition - Remaining Performance Obligations, Expected Timing of Satisfaction (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureRevenueRecognitionRemainingPerformanceObligationsExpectedTimingOfSatisfactionDetails</Role>
      <ShortName>Revenue Recognition - Remaining Performance Obligations, Expected Timing of Satisfaction (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>74</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R75.htm</HtmlFileName>
      <LongName>40305 - Disclosure - Revenue Recognition - Performance Obligations Satisfied or Partially Satisfied in Prior Periods (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureRevenueRecognitionPerformanceObligationsSatisfiedOrPartiallySatisfiedInPriorPeriodsDetails</Role>
      <ShortName>Revenue Recognition - Performance Obligations Satisfied or Partially Satisfied in Prior Periods (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>75</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R76.htm</HtmlFileName>
      <LongName>40306 - Disclosure - Revenue Recognition - Reconciliation of Contract Balances (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureRevenueRecognitionReconciliationOfContractBalancesDetails</Role>
      <ShortName>Revenue Recognition - Reconciliation of Contract Balances (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>76</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R77.htm</HtmlFileName>
      <LongName>40307 - Disclosure - Revenue Recognition - Trade Allowance for Credit Losses (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureRevenueRecognitionTradeAllowanceForCreditLossesDetails</Role>
      <ShortName>Revenue Recognition - Trade Allowance for Credit Losses (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>77</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R78.htm</HtmlFileName>
      <LongName>40308 - Disclosure - Revenue Recognition - Deferred Contract Costs (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureRevenueRecognitionDeferredContractCostsDetails</Role>
      <ShortName>Revenue Recognition - Deferred Contract Costs (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>78</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R79.htm</HtmlFileName>
      <LongName>40401 - Disclosure - Segments - Results of Continuing Operations (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureSegmentsResultsOfContinuingOperationsDetails</Role>
      <ShortName>Segments - Results of Continuing Operations (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>79</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R80.htm</HtmlFileName>
      <LongName>40402 - Disclosure - Segments - Revenue Reconciliation (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureSegmentsRevenueReconciliationDetails</Role>
      <ShortName>Segments - Revenue Reconciliation (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>80</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R81.htm</HtmlFileName>
      <LongName>40403 - Disclosure - Segments - Pre-Tax Income Reconciliation (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureSegmentsPreTaxIncomeReconciliationDetails</Role>
      <ShortName>Segments - Pre-Tax Income Reconciliation (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>81</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R82.htm</HtmlFileName>
      <LongName>40404 - Disclosure - Segments - Assets and Other Items (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureSegmentsAssetsAndOtherItemsDetails</Role>
      <ShortName>Segments - Assets and Other Items (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>82</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R83.htm</HtmlFileName>
      <LongName>40405 - Disclosure - Segments - Asset Reconciliation (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureSegmentsAssetReconciliationDetails</Role>
      <ShortName>Segments - Asset Reconciliation (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>83</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R84.htm</HtmlFileName>
      <LongName>40406 - Disclosure - Segments - Geographic Information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureSegmentsGeographicInformationDetails</Role>
      <ShortName>Segments - Geographic Information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>84</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R85.htm</HtmlFileName>
      <LongName>40407 - Disclosure - Segments - Revenue by Product or Service (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureSegmentsRevenueByProductOrServiceDetails</Role>
      <ShortName>Segments - Revenue by Product or Service (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>85</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R86.htm</HtmlFileName>
      <LongName>40501 - Disclosure - Acquisitions &amp; Divestitures - (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureAcquisitionsDivestituresDetails</Role>
      <ShortName>Acquisitions &amp; Divestitures - (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.ibm.com/role/DisclosureAcquisitionsDivestituresTables</ParentRole>
      <Position>86</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R87.htm</HtmlFileName>
      <LongName>40502 - Disclosure - Acquisitions &amp; Divestitures - Purchase Price Allocation 2020 (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureAcquisitionsDivestituresPurchasePriceAllocation2020Details</Role>
      <ShortName>Acquisitions &amp; Divestitures - Purchase Price Allocation 2020 (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>87</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R88.htm</HtmlFileName>
      <LongName>40503 - Disclosure - Acquisitions &amp; Divestitures - 2019 Acquisitions (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureAcquisitionsDivestitures2019AcquisitionsDetails</Role>
      <ShortName>Acquisitions &amp; Divestitures - 2019 Acquisitions (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>88</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R89.htm</HtmlFileName>
      <LongName>40504 - Disclosure - Acquisitions &amp; Divestitures - Purchase Price Allocation 2019 (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureAcquisitionsDivestituresPurchasePriceAllocation2019Details</Role>
      <ShortName>Acquisitions &amp; Divestitures - Purchase Price Allocation 2019 (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>89</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R90.htm</HtmlFileName>
      <LongName>40505 - Disclosure - Acquisitions &amp; Divestitures - Goodwill (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureAcquisitionsDivestituresGoodwillDetails</Role>
      <ShortName>Acquisitions &amp; Divestitures - Goodwill (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>90</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R91.htm</HtmlFileName>
      <LongName>40506 - Disclosure - Acquisitions &amp; Divestitures - Pro forma information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureAcquisitionsDivestituresProFormaInformationDetails</Role>
      <ShortName>Acquisitions &amp; Divestitures - Pro forma information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>91</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R92.htm</HtmlFileName>
      <LongName>40507 - Disclosure - Acquisitions &amp; Divestitures - 2018 Acquisitions (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureAcquisitionsDivestitures2018AcquisitionsDetails</Role>
      <ShortName>Acquisitions &amp; Divestitures - 2018 Acquisitions (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>92</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R93.htm</HtmlFileName>
      <LongName>40508 - Disclosure - Acquisitions &amp; Divestitures - Divestitures (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureAcquisitionsDivestituresDivestituresDetails</Role>
      <ShortName>Acquisitions &amp; Divestitures - Divestitures (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>93</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R94.htm</HtmlFileName>
      <LongName>40601 - Disclosure - Research, Development &amp; Engineering (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureResearchDevelopmentEngineeringDetails</Role>
      <ShortName>Research, Development &amp; Engineering (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.ibm.com/role/DisclosureResearchDevelopmentEngineering</ParentRole>
      <Position>94</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R95.htm</HtmlFileName>
      <LongName>40701 - Disclosure - Taxes - Income before Income Taxes (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureTaxesIncomeBeforeIncomeTaxesDetails</Role>
      <ShortName>Taxes - Income before Income Taxes (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>95</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R96.htm</HtmlFileName>
      <LongName>40702 - Disclosure - Taxes - Provision by Geographic Operations (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureTaxesProvisionByGeographicOperationsDetails</Role>
      <ShortName>Taxes - Provision by Geographic Operations (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>96</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R97.htm</HtmlFileName>
      <LongName>40703 - Disclosure - Taxes - Provision by Taxing Jurisdiction (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureTaxesProvisionByTaxingJurisdictionDetails</Role>
      <ShortName>Taxes - Provision by Taxing Jurisdiction (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>97</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R98.htm</HtmlFileName>
      <LongName>40704 - Disclosure - Taxes - Tax Rate Reconciliation (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureTaxesTaxRateReconciliationDetails</Role>
      <ShortName>Taxes - Tax Rate Reconciliation (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>98</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R99.htm</HtmlFileName>
      <LongName>40705 - Disclosure - Taxes - Tax Rate Reconciliation Narrative (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureTaxesTaxRateReconciliationNarrativeDetails</Role>
      <ShortName>Taxes - Tax Rate Reconciliation Narrative (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>99</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R100.htm</HtmlFileName>
      <LongName>40706 - Disclosure - Taxes - Deferred Taxes (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureTaxesDeferredTaxesDetails</Role>
      <ShortName>Taxes - Deferred Taxes (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>100</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R101.htm</HtmlFileName>
      <LongName>40707 - Disclosure - Taxes - Carryforwards (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureTaxesCarryforwardsDetails</Role>
      <ShortName>Taxes - Carryforwards (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>101</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R102.htm</HtmlFileName>
      <LongName>40708 - Disclosure - Taxes - Unrecognized Tax Benefits Reconciliation (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureTaxesUnrecognizedTaxBenefitsReconciliationDetails</Role>
      <ShortName>Taxes - Unrecognized Tax Benefits Reconciliation (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>102</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R103.htm</HtmlFileName>
      <LongName>40709 - Disclosure - Taxes - Unrecognized Tax Benefits Additional Disclosures (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureTaxesUnrecognizedTaxBenefitsAdditionalDisclosuresDetails</Role>
      <ShortName>Taxes - Unrecognized Tax Benefits Additional Disclosures (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>103</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R104.htm</HtmlFileName>
      <LongName>40710 - Disclosure - Taxes - Income Tax Assessments (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureTaxesIncomeTaxAssessmentsDetails</Role>
      <ShortName>Taxes - Income Tax Assessments (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>104</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R105.htm</HtmlFileName>
      <LongName>40711 - Disclosure - Taxes - Undistributed Foreign Earnings (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureTaxesUndistributedForeignEarningsDetails</Role>
      <ShortName>Taxes - Undistributed Foreign Earnings (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>105</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R106.htm</HtmlFileName>
      <LongName>40801 - Disclosure - Earnings Per Share - Computation (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureEarningsPerShareComputationDetails</Role>
      <ShortName>Earnings Per Share - Computation (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>106</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R107.htm</HtmlFileName>
      <LongName>40802 - Disclosure - Earnings Per Share - Antidilutive Stock Options (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureEarningsPerShareAntidilutiveStockOptionsDetails</Role>
      <ShortName>Earnings Per Share - Antidilutive Stock Options (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>107</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R108.htm</HtmlFileName>
      <LongName>40901 - Disclosure - Financial Assets &amp; Liabilities - Fair Value Measurements (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureFinancialAssetsLiabilitiesFairValueMeasurementsDetails</Role>
      <ShortName>Financial Assets &amp; Liabilities - Fair Value Measurements (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>108</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R109.htm</HtmlFileName>
      <LongName>40902 - Disclosure - Financial Assets &amp; Liabilities - Not Measured at Fair Value (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureFinancialAssetsLiabilitiesNotMeasuredAtFairValueDetails</Role>
      <ShortName>Financial Assets &amp; Liabilities - Not Measured at Fair Value (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>109</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R110.htm</HtmlFileName>
      <LongName>41001 - Disclosure - Inventory (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureInventoryDetails</Role>
      <ShortName>Inventory (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.ibm.com/role/DisclosureInventoryTables</ParentRole>
      <Position>110</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R111.htm</HtmlFileName>
      <LongName>41101 - Disclosure - Financing Receivables - Payment Terms (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureFinancingReceivablesPaymentTermsDetails</Role>
      <ShortName>Financing Receivables - Payment Terms (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>111</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R112.htm</HtmlFileName>
      <LongName>41102 - Disclosure - Financing Receivables - Components of Financing Receivables (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureFinancingReceivablesComponentsOfFinancingReceivablesDetails</Role>
      <ShortName>Financing Receivables - Components of Financing Receivables (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>112</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R113.htm</HtmlFileName>
      <LongName>41103 - Disclosure - Financing Receivables - By Portfolio Segment (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureFinancingReceivablesByPortfolioSegmentDetails</Role>
      <ShortName>Financing Receivables - By Portfolio Segment (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>113</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R114.htm</HtmlFileName>
      <LongName>41104 - Disclosure - Financing Receivables - Past Due (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureFinancingReceivablesPastDueDetails</Role>
      <ShortName>Financing Receivables - Past Due (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>114</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R115.htm</HtmlFileName>
      <LongName>41105 - Disclosure - Financing Receivables - Credit Quality Year of Origination (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureFinancingReceivablesCreditQualityYearOfOriginationDetails</Role>
      <ShortName>Financing Receivables - Credit Quality Year of Origination (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>115</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R116.htm</HtmlFileName>
      <LongName>41106 - Disclosure - Financing Receivables - Credit Quality Indicators (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureFinancingReceivablesCreditQualityIndicatorsDetails</Role>
      <ShortName>Financing Receivables - Credit Quality Indicators (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>116</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R117.htm</HtmlFileName>
      <LongName>41201 - Disclosure - Property, Plant &amp; Equipment (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosurePropertyPlantEquipmentDetails</Role>
      <ShortName>Property, Plant &amp; Equipment (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.ibm.com/role/DisclosurePropertyPlantEquipmentTables</ParentRole>
      <Position>117</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R118.htm</HtmlFileName>
      <LongName>41301 - Disclosure - Leases - Components of Lease Costs (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureLeasesComponentsOfLeaseCostsDetails</Role>
      <ShortName>Leases - Components of Lease Costs (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>118</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R119.htm</HtmlFileName>
      <LongName>41302 - Disclosure - Leases - Cash Flow From Lease Transactions (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureLeasesCashFlowFromLeaseTransactionsDetails</Role>
      <ShortName>Leases - Cash Flow From Lease Transactions (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>119</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R120.htm</HtmlFileName>
      <LongName>41303 - Disclosure - Leases - Weighted-average Lease Terms and Discount Rates (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureLeasesWeightedAverageLeaseTermsAndDiscountRatesDetails</Role>
      <ShortName>Leases - Weighted-average Lease Terms and Discount Rates (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>120</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R121.htm</HtmlFileName>
      <LongName>41304 - Disclosure - Leases - Maturity Analysis of Undiscounted Cash Out Flows (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureLeasesMaturityAnalysisOfUndiscountedCashOutFlowsDetails</Role>
      <ShortName>Leases - Maturity Analysis of Undiscounted Cash Out Flows (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>121</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R122.htm</HtmlFileName>
      <LongName>41305 - Disclosure - Leases - ROU Assets and Lease Liabilities (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureLeasesRouAssetsAndLeaseLiabilitiesDetails</Role>
      <ShortName>Leases - ROU Assets and Lease Liabilities (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>122</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R123.htm</HtmlFileName>
      <LongName>41306 - Disclosure - Leases - Lease Amounts Included in Consolidated Income Statement (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureLeasesLeaseAmountsIncludedInConsolidatedIncomeStatementDetails</Role>
      <ShortName>Leases - Lease Amounts Included in Consolidated Income Statement (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>123</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R124.htm</HtmlFileName>
      <LongName>41307 - Disclosure - Leases - Maturity Analysis of Lease Payments Due on Sales-type and Direct Financing Leases (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureLeasesMaturityAnalysisOfLeasePaymentsDueOnSalesTypeAndDirectFinancingLeasesDetails</Role>
      <ShortName>Leases - Maturity Analysis of Lease Payments Due on Sales-type and Direct Financing Leases (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>124</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R125.htm</HtmlFileName>
      <LongName>41308 - Disclosure - Leases - Maturity Analysis of Undiscounted Lease Payments on Operating Leases (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureLeasesMaturityAnalysisOfUndiscountedLeasePaymentsOnOperatingLeasesDetails</Role>
      <ShortName>Leases - Maturity Analysis of Undiscounted Lease Payments on Operating Leases (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>125</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R126.htm</HtmlFileName>
      <LongName>41401 - Disclosure - Intangible Assets Including Goodwill - Intangible Assets by Class (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureIntangibleAssetsIncludingGoodwillIntangibleAssetsByClassDetails</Role>
      <ShortName>Intangible Assets Including Goodwill - Intangible Assets by Class (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>126</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R127.htm</HtmlFileName>
      <LongName>41402 - Disclosure - Intangible Assets Including Goodwill - Intangible Assets Activity (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureIntangibleAssetsIncludingGoodwillIntangibleAssetsActivityDetails</Role>
      <ShortName>Intangible Assets Including Goodwill - Intangible Assets Activity (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>127</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R128.htm</HtmlFileName>
      <LongName>41403 - Disclosure - Intangible Assets Including Goodwill - Future Amortization (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureIntangibleAssetsIncludingGoodwillFutureAmortizationDetails</Role>
      <ShortName>Intangible Assets Including Goodwill - Future Amortization (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>128</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R129.htm</HtmlFileName>
      <LongName>41404 - Disclosure - Intangible Assets Including Goodwill - Goodwill by Segment (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureIntangibleAssetsIncludingGoodwillGoodwillBySegmentDetails</Role>
      <ShortName>Intangible Assets Including Goodwill - Goodwill by Segment (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>129</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R130.htm</HtmlFileName>
      <LongName>41501 - Disclosure - Investments &amp; Sundry Assets (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureInvestmentsSundryAssetsDetails</Role>
      <ShortName>Investments &amp; Sundry Assets (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.ibm.com/role/DisclosureInvestmentsSundryAssetsTables</ParentRole>
      <Position>130</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R131.htm</HtmlFileName>
      <LongName>41601 - Disclosure - Borrowings - Short-Term Debt (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureBorrowingsShortTermDebtDetails</Role>
      <ShortName>Borrowings - Short-Term Debt (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>131</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R132.htm</HtmlFileName>
      <LongName>41602 - Disclosure - Borrowings - Long-Term Debt, Components (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureBorrowingsLongTermDebtComponentsDetails</Role>
      <ShortName>Borrowings - Long-Term Debt, Components (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>132</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R133.htm</HtmlFileName>
      <LongName>41603 - Disclosure - Borrowings - Long-Term Debt, Covenants (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureBorrowingsLongTermDebtCovenantsDetails</Role>
      <ShortName>Borrowings - Long-Term Debt, Covenants (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>133</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R134.htm</HtmlFileName>
      <LongName>41604 - Disclosure - Borrowings - Long-Term Debt, Debt Issued (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureBorrowingsLongTermDebtDebtIssuedDetails</Role>
      <ShortName>Borrowings - Long-Term Debt, Debt Issued (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>134</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R135.htm</HtmlFileName>
      <LongName>41605 - Disclosure - Borrowings - Post-Swap Borrowing (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureBorrowingsPostSwapBorrowingDetails</Role>
      <ShortName>Borrowings - Post-Swap Borrowing (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>135</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R136.htm</HtmlFileName>
      <LongName>41606 - Disclosure - Borrowings - Pre-Swap Obligations (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureBorrowingsPreSwapObligationsDetails</Role>
      <ShortName>Borrowings - Pre-Swap Obligations (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>136</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R137.htm</HtmlFileName>
      <LongName>41607 - Disclosure - Borrowings - Interest on Debt (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureBorrowingsInterestOnDebtDetails</Role>
      <ShortName>Borrowings - Interest on Debt (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>137</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R138.htm</HtmlFileName>
      <LongName>41608 - Disclosure - Borrowings - Lines of Credit (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureBorrowingsLinesOfCreditDetails</Role>
      <ShortName>Borrowings - Lines of Credit (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>138</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R139.htm</HtmlFileName>
      <LongName>41701 - Disclosure - Other Liabilities - Components (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureOtherLiabilitiesComponentsDetails</Role>
      <ShortName>Other Liabilities - Components (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>139</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R140.htm</HtmlFileName>
      <LongName>41702 - Disclosure - Other Liabilities - Workforce Reduction and Environmental Liabilities (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureOtherLiabilitiesWorkforceReductionAndEnvironmentalLiabilitiesDetails</Role>
      <ShortName>Other Liabilities - Workforce Reduction and Environmental Liabilities (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>140</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R141.htm</HtmlFileName>
      <LongName>41801 - Disclosure - Commitments &amp; Contingencies - Extensions of Credit (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureCommitmentsContingenciesExtensionsOfCreditDetails</Role>
      <ShortName>Commitments &amp; Contingencies - Extensions of Credit (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>141</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R142.htm</HtmlFileName>
      <LongName>41802 - Disclosure - Commitments &amp; Contingencies - Standard Warranty Liability (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureCommitmentsContingenciesStandardWarrantyLiabilityDetails</Role>
      <ShortName>Commitments &amp; Contingencies - Standard Warranty Liability (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>142</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R143.htm</HtmlFileName>
      <LongName>41803 - Disclosure - Commitments &amp; Contingencies - Extended Warranty Liability (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureCommitmentsContingenciesExtendedWarrantyLiabilityDetails</Role>
      <ShortName>Commitments &amp; Contingencies - Extended Warranty Liability (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>143</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R144.htm</HtmlFileName>
      <LongName>41804 - Disclosure - Commitments &amp; Contingencies - Contingencies (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureCommitmentsContingenciesContingenciesDetails</Role>
      <ShortName>Commitments &amp; Contingencies - Contingencies (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>144</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R145.htm</HtmlFileName>
      <LongName>41901 - Disclosure - Equity Activity - Stock Repurchases and Other Transactions (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureEquityActivityStockRepurchasesAndOtherTransactionsDetails</Role>
      <ShortName>Equity Activity - Stock Repurchases and Other Transactions (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>145</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R146.htm</HtmlFileName>
      <LongName>41902 - Disclosure - Equity Activity - Reclassifications and Taxes (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureEquityActivityReclassificationsAndTaxesDetails</Role>
      <ShortName>Equity Activity - Reclassifications and Taxes (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>146</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R147.htm</HtmlFileName>
      <LongName>41903 - Disclosure - Equity Activity - AOCI Rollforward (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureEquityActivityAociRollforwardDetails</Role>
      <ShortName>Equity Activity - AOCI Rollforward (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>147</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R148.htm</HtmlFileName>
      <LongName>42001 - Disclosure - Derivative Financial Instruments - Offsetting (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureDerivativeFinancialInstrumentsOffsettingDetails</Role>
      <ShortName>Derivative Financial Instruments - Offsetting (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>148</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R149.htm</HtmlFileName>
      <LongName>42002 - Disclosure - Derivative Financial Instruments - Hedging Programs (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureDerivativeFinancialInstrumentsHedgingProgramsDetails</Role>
      <ShortName>Derivative Financial Instruments - Hedging Programs (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>149</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R150.htm</HtmlFileName>
      <LongName>42003 - Disclosure - Derivative Financial Instruments - Cumulative Basis Adjustments for Fair Value Hedges (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureDerivativeFinancialInstrumentsCumulativeBasisAdjustmentsForFairValueHedgesDetails</Role>
      <ShortName>Derivative Financial Instruments - Cumulative Basis Adjustments for Fair Value Hedges (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>150</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R151.htm</HtmlFileName>
      <LongName>42004 - Disclosure - Derivative Financial Instruments - Effect of Hedge Activity on Income and Expense (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureDerivativeFinancialInstrumentsEffectOfHedgeActivityOnIncomeAndExpenseDetails</Role>
      <ShortName>Derivative Financial Instruments - Effect of Hedge Activity on Income and Expense (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>151</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R152.htm</HtmlFileName>
      <LongName>42005 - Disclosure - Derivative Financial Instruments - Gains and Losses (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureDerivativeFinancialInstrumentsGainsAndLossesDetails</Role>
      <ShortName>Derivative Financial Instruments - Gains and Losses (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>152</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R153.htm</HtmlFileName>
      <LongName>42101 - Disclosure - Stock-Based Compensation (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureStockBasedCompensationDetails</Role>
      <ShortName>Stock-Based Compensation (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.ibm.com/role/DisclosureStockBasedCompensationTables</ParentRole>
      <Position>153</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R154.htm</HtmlFileName>
      <LongName>42102 - Disclosure - Stock-Based Compensation - Incentive Awards (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureStockBasedCompensationIncentiveAwardsDetails</Role>
      <ShortName>Stock-Based Compensation - Incentive Awards (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>154</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R155.htm</HtmlFileName>
      <LongName>42103 - Disclosure - Stock-Based Compensation - RSU and PSU Activity (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureStockBasedCompensationRsuAndPsuActivityDetails</Role>
      <ShortName>Stock-Based Compensation - RSU and PSU Activity (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>155</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R156.htm</HtmlFileName>
      <LongName>42104 - Disclosure - Stock-Based Compensation - RSUs and PSUs, Other Disclosures (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureStockBasedCompensationRsusAndPsusOtherDisclosuresDetails</Role>
      <ShortName>Stock-Based Compensation - RSUs and PSUs, Other Disclosures (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>156</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R157.htm</HtmlFileName>
      <LongName>42105 - Disclosure - Stock-Based Compensation - Stock Option Activity (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails</Role>
      <ShortName>Stock-Based Compensation - Stock Option Activity (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>157</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R158.htm</HtmlFileName>
      <LongName>42106 - Disclosure - Stock-Based Compensation - Acquisitions (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureStockBasedCompensationAcquisitionsDetails</Role>
      <ShortName>Stock-Based Compensation - Acquisitions (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>158</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R159.htm</HtmlFileName>
      <LongName>42107 - Disclosure - Stock-Based Compensation - ESPP (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureStockBasedCompensationEsppDetails</Role>
      <ShortName>Stock-Based Compensation - ESPP (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>159</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R160.htm</HtmlFileName>
      <LongName>42201 - Disclosure - Retirement-Related Benefits - Defined Benefit Plans (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureRetirementRelatedBenefitsDefinedBenefitPlansDetails</Role>
      <ShortName>Retirement-Related Benefits - Defined Benefit Plans (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>160</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R161.htm</HtmlFileName>
      <LongName>42202 - Disclosure - Retirement-Related Benefits - Defined Contribution Plans (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureRetirementRelatedBenefitsDefinedContributionPlansDetails</Role>
      <ShortName>Retirement-Related Benefits - Defined Contribution Plans (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>161</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R162.htm</HtmlFileName>
      <LongName>42203 - Disclosure - Retirement-Related Benefits - All Retirement Plans Cost (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureRetirementRelatedBenefitsAllRetirementPlansCostDetails</Role>
      <ShortName>Retirement-Related Benefits - All Retirement Plans Cost (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>162</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R163.htm</HtmlFileName>
      <LongName>42204 - Disclosure - Retirement-Related Benefits - PBO, APBO, FV of Plan Assets, Funded Status (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureRetirementRelatedBenefitsPboApboFvOfPlanAssetsFundedStatusDetails</Role>
      <ShortName>Retirement-Related Benefits - PBO, APBO, FV of Plan Assets, Funded Status (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>163</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R164.htm</HtmlFileName>
      <LongName>42205 - Disclosure - Retirement-Related Benefits - Net Periodic Cost (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureRetirementRelatedBenefitsNetPeriodicCostDetails</Role>
      <ShortName>Retirement-Related Benefits - Net Periodic Cost (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>164</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R165.htm</HtmlFileName>
      <LongName>42206 - Disclosure - Retirement-Related Benefits - Changes in Benefit Obligation and Plan Assets (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureRetirementRelatedBenefitsChangesInBenefitObligationAndPlanAssetsDetails</Role>
      <ShortName>Retirement-Related Benefits - Changes in Benefit Obligation and Plan Assets (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>165</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R166.htm</HtmlFileName>
      <LongName>42207 - Disclosure - Retirement-Related Benefits - Net Funded Status (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureRetirementRelatedBenefitsNetFundedStatusDetails</Role>
      <ShortName>Retirement-Related Benefits - Net Funded Status (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>166</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R167.htm</HtmlFileName>
      <LongName>42208 - Disclosure - Retirement-Related Benefits - OCI and AOCI (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureRetirementRelatedBenefitsOciAndAociDetails</Role>
      <ShortName>Retirement-Related Benefits - OCI and AOCI (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>167</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R168.htm</HtmlFileName>
      <LongName>42209 - Disclosure - Retirement-Related Benefits - Assumptions (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureRetirementRelatedBenefitsAssumptionsDetails</Role>
      <ShortName>Retirement-Related Benefits - Assumptions (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>168</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R169.htm</HtmlFileName>
      <LongName>42210 - Disclosure - Retirement-Related Benefits - Investment Strategy (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureRetirementRelatedBenefitsInvestmentStrategyDetails</Role>
      <ShortName>Retirement-Related Benefits - Investment Strategy (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>169</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R170.htm</HtmlFileName>
      <LongName>42211 - Disclosure - Retirement-Related Benefits - Plan Assets (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureRetirementRelatedBenefitsPlanAssetsDetails</Role>
      <ShortName>Retirement-Related Benefits - Plan Assets (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>170</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R171.htm</HtmlFileName>
      <LongName>42212 - Disclosure - Retirement-Related Benefits - Level 3 Reconciliation (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureRetirementRelatedBenefitsLevel3ReconciliationDetails</Role>
      <ShortName>Retirement-Related Benefits - Level 3 Reconciliation (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>171</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R172.htm</HtmlFileName>
      <LongName>42213 - Disclosure - Retirement-Related Benefits - Contributions and Direct Benefit Payments (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureRetirementRelatedBenefitsContributionsAndDirectBenefitPaymentsDetails</Role>
      <ShortName>Retirement-Related Benefits - Contributions and Direct Benefit Payments (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>172</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R173.htm</HtmlFileName>
      <LongName>42214 - Disclosure - Retirement-Related Benefits - Contributions, Defined Benefit Pension Plans (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureRetirementRelatedBenefitsContributionsDefinedBenefitPensionPlansDetails</Role>
      <ShortName>Retirement-Related Benefits - Contributions, Defined Benefit Pension Plans (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>173</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R174.htm</HtmlFileName>
      <LongName>42216 - Disclosure - Retirement-Related Benefits - Expected Benefit Payments (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureRetirementRelatedBenefitsExpectedBenefitPaymentsDetails</Role>
      <ShortName>Retirement-Related Benefits - Expected Benefit Payments (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>174</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R175.htm</HtmlFileName>
      <LongName>42217 - Disclosure - Retirement-Related Benefits - ABO and APBO in Excess of Plan Assets (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureRetirementRelatedBenefitsAboAndApboInExcessOfPlanAssetsDetails</Role>
      <ShortName>Retirement-Related Benefits - ABO and APBO in Excess of Plan Assets (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>175</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R176.htm</HtmlFileName>
      <LongName>42301 - Disclosure - Subsequent Events (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureSubsequentEventsDetails</Role>
      <ShortName>Subsequent Events (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.ibm.com/role/DisclosureSubsequentEvents</ParentRole>
      <Position>176</Position>
    </Report>
    <Report instance="ibm-20201231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R177.htm</HtmlFileName>
      <LongName>42401 - Disclosure - SCHEDULE II VALUATION AND QUALIFYING ACCOUNTS AND RESERVES (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ibm.com/role/DisclosureScheduleIiValuationAndQualifyingAccountsAndReservesDetails</Role>
      <ShortName>SCHEDULE II VALUATION AND QUALIFYING ACCOUNTS AND RESERVES (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.ibm.com/role/DisclosureScheduleIiValuationAndQualifyingAccountsAndReserves</ParentRole>
      <Position>177</Position>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <LongName>All Reports</LongName>
      <ReportType>Book</ReportType>
      <ShortName>All Reports</ShortName>
    </Report>
  </MyReports>
  <InputFiles>
    <File doctype="10-K" original="ibm-20201231x10k.htm">ibm-20201231x10k.htm</File>
    <File doctype="10-K" original="ibm-20201231xex13.htm">ibm-20201231xex13.htm</File>
    <File>ibm-20201231.xsd</File>
    <File>ibm-20201231_cal.xml</File>
    <File>ibm-20201231_def.xml</File>
    <File>ibm-20201231_lab.xml</File>
    <File>ibm-20201231_pre.xml</File>
    <File>ibm-20201231xex10d1.htm</File>
    <File>ibm-20201231xex10d2.htm</File>
    <File>ibm-20201231xex10d3.htm</File>
    <File>ibm-20201231xex10d4.htm</File>
    <File>ibm-20201231xex21.htm</File>
    <File>ibm-20201231xex23d1.htm</File>
    <File>ibm-20201231xex24d1.htm</File>
    <File>ibm-20201231xex24d2.htm</File>
    <File>ibm-20201231xex31d1.htm</File>
    <File>ibm-20201231xex31d2.htm</File>
    <File>ibm-20201231xex32d1.htm</File>
    <File>ibm-20201231xex32d2.htm</File>
    <File>ibm-20201231xex3d2.htm</File>
    <File>ibm-20201231xex4d1.htm</File>
  </InputFiles>
  <SupplementalFiles>
    <File>ibm-20201231xex13001.jpg</File>
    <File>ibm-20201231xex13002.jpg</File>
  </SupplementalFiles>
  <BaseTaxonomies>
    <BaseTaxonomy>http://xbrl.sec.gov/currency/2020-01-31</BaseTaxonomy>
    <BaseTaxonomy>http://fasb.org/srt/2020-01-31</BaseTaxonomy>
    <BaseTaxonomy>http://xbrl.sec.gov/exch/2020-01-31</BaseTaxonomy>
    <BaseTaxonomy>http://fasb.org/us-gaap/2020-01-31</BaseTaxonomy>
    <BaseTaxonomy>http://xbrl.sec.gov/dei/2020-01-31</BaseTaxonomy>
    <BaseTaxonomy>http://xbrl.sec.gov/country/2020-01-31</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>true</HasPresentationLinkbase>
  <HasCalculationLinkbase>true</HasCalculationLinkbase>
</FilingSummary>
