XML 126 R93.htm IDEA: XBRL DOCUMENT v2.4.1.9
RETIREMENT BENEFITS - Level 3 Roll Forward (Details) (USD $)
In Millions, unless otherwise specified
12 Months Ended
Dec. 31, 2014
Dec. 31, 2013
U.S. pension and postretirement benefit plans    
Reconciliations of the beginning and ending balances during the period for Level 3 assets    
Plan assets at fair value at end of period $ 13,716c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
$ 13,422c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
U.S. pension and postretirement benefit plans | U.S. equity    
Reconciliations of the beginning and ending balances during the period for Level 3 assets    
Plan assets at fair value at end of period 773c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_UnitedStatesEquitySecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
793c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_UnitedStatesEquitySecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
U.S. pension and postretirement benefit plans | Non-U.S. equity    
Reconciliations of the beginning and ending balances during the period for Level 3 assets    
Plan assets at fair value at end of period 601c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_OtherEquitySecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
442c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_OtherEquitySecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
U.S. pension and postretirement benefit plans | Mutual Funds    
Reconciliations of the beginning and ending balances during the period for Level 3 assets    
Plan assets at fair value at end of period 214c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_EquityFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
203c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_EquityFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
U.S. pension and postretirement benefit plans | U.S. corporate bonds    
Reconciliations of the beginning and ending balances during the period for Level 3 assets    
Plan assets at fair value at end of period 1,533c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_DomesticCorporateDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
1,387c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_DomesticCorporateDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
U.S. pension and postretirement benefit plans | Foreign government    
Reconciliations of the beginning and ending balances during the period for Level 3 assets    
Plan assets at fair value at end of period 357c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
349c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
U.S. pension and postretirement benefit plans | Non-U.S. corporate bond    
Reconciliations of the beginning and ending balances during the period for Level 3 assets    
Plan assets at fair value at end of period 405c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ForeignCorporateDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
398c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ForeignCorporateDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
U.S. pension and postretirement benefit plans | Hedge funds    
Reconciliations of the beginning and ending balances during the period for Level 3 assets    
Plan assets at fair value at end of period 3,193c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_HedgeFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
3,258c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_HedgeFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
U.S. pension and postretirement benefit plans | Annuity contracts    
Reconciliations of the beginning and ending balances during the period for Level 3 assets    
Plan assets at fair value at end of period 59c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_VariableAnnuityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
91c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_VariableAnnuityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
U.S. pension and postretirement benefit plans | Private equity    
Reconciliations of the beginning and ending balances during the period for Level 3 assets    
Plan assets at fair value at end of period 1,631c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_PrivateEquityFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
2,106c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_PrivateEquityFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
U.S. pension and postretirement benefit plans | Other investments    
Reconciliations of the beginning and ending balances during the period for Level 3 assets    
Plan assets at fair value at end of period 361c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_OtherDefinedBenefitPlanInvestmentsFairValueMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
179c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_OtherDefinedBenefitPlanInvestmentsFairValueMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
U.S. pension and postretirement benefit plans | Total investments    
Reconciliations of the beginning and ending balances during the period for Level 3 assets    
Plan assets at fair value at end of period 12,255c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_InvestmentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
12,257c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_InvestmentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
U.S. pension and postretirement benefit plans | Cash and short-term investments    
Reconciliations of the beginning and ending balances during the period for Level 3 assets    
Plan assets at fair value at end of period 1,398c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CashAndCashEquivalentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
1,064c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CashAndCashEquivalentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
U.S. pension and postretirement benefit plans | Other investment receivables    
Reconciliations of the beginning and ending balances during the period for Level 3 assets    
Plan assets at fair value at end of period 63c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_OtherInvestmentReceivablesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
101c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_OtherInvestmentReceivablesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
U.S. pension and postretirement benefit plans | Level 3    
Reconciliations of the beginning and ending balances during the period for Level 3 assets    
Plan assets at fair value at beginning of period 3,525c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
4,239c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Realized gains (losses) 303us-gaap_DefinedBenefitPlanActualReturnOnPlanAssetsSoldDuringPeriod
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
309us-gaap_DefinedBenefitPlanActualReturnOnPlanAssetsSoldDuringPeriod
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Unrealized gains (losses) (218)us-gaap_DefinedBenefitPlanActualReturnOnPlanAssetsStillHeld
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
57us-gaap_DefinedBenefitPlanActualReturnOnPlanAssetsStillHeld
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Purchases, sales, and issuances (732)us-gaap_DefinedBenefitPlanPurchasesSalesAndSettlements
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
(542)us-gaap_DefinedBenefitPlanPurchasesSalesAndSettlements
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Transfers in and/or out of Level 3 (162)us-gaap_DefinedBenefitPlanTransfersBetweenMeasurementLevels
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
(538)us-gaap_DefinedBenefitPlanTransfersBetweenMeasurementLevels
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Plan assets at fair value at end of period 2,716c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
3,525c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
U.S. pension and postretirement benefit plans | Level 3 | U.S. equity    
Reconciliations of the beginning and ending balances during the period for Level 3 assets    
Plan assets at fair value at end of period 0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_UnitedStatesEquitySecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_UnitedStatesEquitySecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
U.S. pension and postretirement benefit plans | Level 3 | Non-U.S. equity    
Reconciliations of the beginning and ending balances during the period for Level 3 assets    
Plan assets at fair value at end of period 0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_OtherEquitySecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_OtherEquitySecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
U.S. pension and postretirement benefit plans | Level 3 | Mutual Funds    
Reconciliations of the beginning and ending balances during the period for Level 3 assets    
Plan assets at fair value at end of period 0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_EquityFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_EquityFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
U.S. pension and postretirement benefit plans | Level 3 | U.S. corporate bonds    
Reconciliations of the beginning and ending balances during the period for Level 3 assets    
Plan assets at fair value at end of period 0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_DomesticCorporateDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_DomesticCorporateDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
U.S. pension and postretirement benefit plans | Level 3 | Foreign government    
Reconciliations of the beginning and ending balances during the period for Level 3 assets    
Plan assets at fair value at end of period 0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
U.S. pension and postretirement benefit plans | Level 3 | Non-U.S. corporate bond    
Reconciliations of the beginning and ending balances during the period for Level 3 assets    
Plan assets at fair value at end of period 0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ForeignCorporateDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ForeignCorporateDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
U.S. pension and postretirement benefit plans | Level 3 | Hedge funds    
Reconciliations of the beginning and ending balances during the period for Level 3 assets    
Plan assets at fair value at beginning of period 1,126c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_HedgeFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
1,524c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_HedgeFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Realized gains (losses) 63us-gaap_DefinedBenefitPlanActualReturnOnPlanAssetsSoldDuringPeriod
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_HedgeFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
45us-gaap_DefinedBenefitPlanActualReturnOnPlanAssetsSoldDuringPeriod
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_HedgeFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Unrealized gains (losses) (25)us-gaap_DefinedBenefitPlanActualReturnOnPlanAssetsStillHeld
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_HedgeFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
69us-gaap_DefinedBenefitPlanActualReturnOnPlanAssetsStillHeld
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_HedgeFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Purchases, sales, and issuances (264)us-gaap_DefinedBenefitPlanPurchasesSalesAndSettlements
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_HedgeFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
19us-gaap_DefinedBenefitPlanPurchasesSalesAndSettlements
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_HedgeFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Transfers in and/or out of Level 3 (169)us-gaap_DefinedBenefitPlanTransfersBetweenMeasurementLevels
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_HedgeFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
(531)us-gaap_DefinedBenefitPlanTransfersBetweenMeasurementLevels
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_HedgeFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Plan assets at fair value at end of period 731c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_HedgeFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
1,126c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_HedgeFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
U.S. pension and postretirement benefit plans | Level 3 | Annuity contracts    
Reconciliations of the beginning and ending balances during the period for Level 3 assets    
Plan assets at fair value at beginning of period 91c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_VariableAnnuityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
130c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_VariableAnnuityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Realized gains (losses) 0us-gaap_DefinedBenefitPlanActualReturnOnPlanAssetsSoldDuringPeriod
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_VariableAnnuityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
0us-gaap_DefinedBenefitPlanActualReturnOnPlanAssetsSoldDuringPeriod
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_VariableAnnuityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Unrealized gains (losses) (1)us-gaap_DefinedBenefitPlanActualReturnOnPlanAssetsStillHeld
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_VariableAnnuityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
(9)us-gaap_DefinedBenefitPlanActualReturnOnPlanAssetsStillHeld
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_VariableAnnuityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Purchases, sales, and issuances (31)us-gaap_DefinedBenefitPlanPurchasesSalesAndSettlements
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_VariableAnnuityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
(33)us-gaap_DefinedBenefitPlanPurchasesSalesAndSettlements
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_VariableAnnuityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Transfers in and/or out of Level 3 0us-gaap_DefinedBenefitPlanTransfersBetweenMeasurementLevels
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_VariableAnnuityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
3us-gaap_DefinedBenefitPlanTransfersBetweenMeasurementLevels
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_VariableAnnuityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Plan assets at fair value at end of period 59c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_VariableAnnuityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
91c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_VariableAnnuityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
U.S. pension and postretirement benefit plans | Level 3 | Private equity    
Reconciliations of the beginning and ending balances during the period for Level 3 assets    
Plan assets at fair value at beginning of period 2,106c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_PrivateEquityFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
2,419c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_PrivateEquityFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Realized gains (losses) 241us-gaap_DefinedBenefitPlanActualReturnOnPlanAssetsSoldDuringPeriod
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_PrivateEquityFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
264us-gaap_DefinedBenefitPlanActualReturnOnPlanAssetsSoldDuringPeriod
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_PrivateEquityFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Unrealized gains (losses) (187)us-gaap_DefinedBenefitPlanActualReturnOnPlanAssetsStillHeld
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_PrivateEquityFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
(10)us-gaap_DefinedBenefitPlanActualReturnOnPlanAssetsStillHeld
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_PrivateEquityFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Purchases, sales, and issuances (529)us-gaap_DefinedBenefitPlanPurchasesSalesAndSettlements
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_PrivateEquityFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
(564)us-gaap_DefinedBenefitPlanPurchasesSalesAndSettlements
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_PrivateEquityFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Transfers in and/or out of Level 3 0us-gaap_DefinedBenefitPlanTransfersBetweenMeasurementLevels
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_PrivateEquityFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
(3)us-gaap_DefinedBenefitPlanTransfersBetweenMeasurementLevels
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_PrivateEquityFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Plan assets at fair value at end of period 1,631c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_PrivateEquityFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
2,106c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_PrivateEquityFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
U.S. pension and postretirement benefit plans | Level 3 | Other investments    
Reconciliations of the beginning and ending balances during the period for Level 3 assets    
Plan assets at fair value at beginning of period 150c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_OtherDefinedBenefitPlanInvestmentsFairValueMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
142c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_OtherDefinedBenefitPlanInvestmentsFairValueMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Realized gains (losses) (1)us-gaap_DefinedBenefitPlanActualReturnOnPlanAssetsSoldDuringPeriod
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_OtherDefinedBenefitPlanInvestmentsFairValueMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
0us-gaap_DefinedBenefitPlanActualReturnOnPlanAssetsSoldDuringPeriod
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_OtherDefinedBenefitPlanInvestmentsFairValueMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Unrealized gains (losses) (5)us-gaap_DefinedBenefitPlanActualReturnOnPlanAssetsStillHeld
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_OtherDefinedBenefitPlanInvestmentsFairValueMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
7us-gaap_DefinedBenefitPlanActualReturnOnPlanAssetsStillHeld
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_OtherDefinedBenefitPlanInvestmentsFairValueMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Purchases, sales, and issuances 109us-gaap_DefinedBenefitPlanPurchasesSalesAndSettlements
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_OtherDefinedBenefitPlanInvestmentsFairValueMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
8us-gaap_DefinedBenefitPlanPurchasesSalesAndSettlements
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_OtherDefinedBenefitPlanInvestmentsFairValueMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Transfers in and/or out of Level 3 7us-gaap_DefinedBenefitPlanTransfersBetweenMeasurementLevels
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_OtherDefinedBenefitPlanInvestmentsFairValueMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
(7)us-gaap_DefinedBenefitPlanTransfersBetweenMeasurementLevels
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_OtherDefinedBenefitPlanInvestmentsFairValueMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Plan assets at fair value at end of period 260c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_OtherDefinedBenefitPlanInvestmentsFairValueMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
150c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_OtherDefinedBenefitPlanInvestmentsFairValueMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
U.S. pension and postretirement benefit plans | Level 3 | Total investments    
Reconciliations of the beginning and ending balances during the period for Level 3 assets    
Plan assets at fair value at beginning of period 3,473c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_InvestmentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
4,215c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_InvestmentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Realized gains (losses) 303us-gaap_DefinedBenefitPlanActualReturnOnPlanAssetsSoldDuringPeriod
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_InvestmentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
309us-gaap_DefinedBenefitPlanActualReturnOnPlanAssetsSoldDuringPeriod
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_InvestmentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Unrealized gains (losses) (218)us-gaap_DefinedBenefitPlanActualReturnOnPlanAssetsStillHeld
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_InvestmentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
57us-gaap_DefinedBenefitPlanActualReturnOnPlanAssetsStillHeld
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_InvestmentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Purchases, sales, and issuances (715)us-gaap_DefinedBenefitPlanPurchasesSalesAndSettlements
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_InvestmentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
(570)us-gaap_DefinedBenefitPlanPurchasesSalesAndSettlements
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_InvestmentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Transfers in and/or out of Level 3 (162)us-gaap_DefinedBenefitPlanTransfersBetweenMeasurementLevels
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_InvestmentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
(538)us-gaap_DefinedBenefitPlanTransfersBetweenMeasurementLevels
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_InvestmentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Plan assets at fair value at end of period 2,681c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_InvestmentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
3,473c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_InvestmentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
U.S. pension and postretirement benefit plans | Level 3 | Cash and short-term investments    
Reconciliations of the beginning and ending balances during the period for Level 3 assets    
Plan assets at fair value at end of period 0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CashAndCashEquivalentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CashAndCashEquivalentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
U.S. pension and postretirement benefit plans | Level 3 | Other investment receivables    
Reconciliations of the beginning and ending balances during the period for Level 3 assets    
Plan assets at fair value at beginning of period 52c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_OtherInvestmentReceivablesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
24c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_OtherInvestmentReceivablesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Realized gains (losses) 0us-gaap_DefinedBenefitPlanActualReturnOnPlanAssetsSoldDuringPeriod
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_OtherInvestmentReceivablesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
0us-gaap_DefinedBenefitPlanActualReturnOnPlanAssetsSoldDuringPeriod
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_OtherInvestmentReceivablesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Unrealized gains (losses) 0us-gaap_DefinedBenefitPlanActualReturnOnPlanAssetsStillHeld
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_OtherInvestmentReceivablesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
0us-gaap_DefinedBenefitPlanActualReturnOnPlanAssetsStillHeld
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_OtherInvestmentReceivablesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Purchases, sales, and issuances (17)us-gaap_DefinedBenefitPlanPurchasesSalesAndSettlements
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_OtherInvestmentReceivablesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
28us-gaap_DefinedBenefitPlanPurchasesSalesAndSettlements
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_OtherInvestmentReceivablesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Transfers in and/or out of Level 3 0us-gaap_DefinedBenefitPlanTransfersBetweenMeasurementLevels
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_OtherInvestmentReceivablesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
0us-gaap_DefinedBenefitPlanTransfersBetweenMeasurementLevels
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_OtherInvestmentReceivablesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Plan assets at fair value at end of period 35c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_OtherInvestmentReceivablesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
52c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_OtherInvestmentReceivablesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Non-U.S. pension and postretirement benefit plans    
Reconciliations of the beginning and ending balances during the period for Level 3 assets    
Plan assets at fair value at end of period 9,167c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
8,826c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
Non-U.S. pension and postretirement benefit plans | U.S. equity    
Reconciliations of the beginning and ending balances during the period for Level 3 assets    
Plan assets at fair value at end of period 21c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_UnitedStatesEquitySecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
19c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_UnitedStatesEquitySecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
Non-U.S. pension and postretirement benefit plans | Non-U.S. equity    
Reconciliations of the beginning and ending balances during the period for Level 3 assets    
Plan assets at fair value at end of period 402c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_OtherEquitySecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
458c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_OtherEquitySecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
Non-U.S. pension and postretirement benefit plans | Mutual Funds    
Reconciliations of the beginning and ending balances during the period for Level 3 assets    
Plan assets at fair value at end of period 3,541c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_EquityFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
3,850c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_EquityFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
Non-U.S. pension and postretirement benefit plans | U.S. corporate bonds    
Reconciliations of the beginning and ending balances during the period for Level 3 assets    
Plan assets at fair value at end of period 357c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_DomesticCorporateDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
392c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_DomesticCorporateDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
Non-U.S. pension and postretirement benefit plans | Foreign government    
Reconciliations of the beginning and ending balances during the period for Level 3 assets    
Plan assets at fair value at end of period 3,540c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
2,779c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
Non-U.S. pension and postretirement benefit plans | Non-U.S. corporate bond    
Reconciliations of the beginning and ending balances during the period for Level 3 assets    
Plan assets at fair value at end of period 919c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ForeignCorporateDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
892c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ForeignCorporateDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
Non-U.S. pension and postretirement benefit plans | Hedge funds    
Reconciliations of the beginning and ending balances during the period for Level 3 assets    
Plan assets at fair value at end of period 10c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_HedgeFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
11c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_HedgeFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
Non-U.S. pension and postretirement benefit plans | Annuity contracts    
Reconciliations of the beginning and ending balances during the period for Level 3 assets    
Plan assets at fair value at end of period 33c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_VariableAnnuityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
33c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_VariableAnnuityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
Non-U.S. pension and postretirement benefit plans | Other investments    
Reconciliations of the beginning and ending balances during the period for Level 3 assets    
Plan assets at fair value at end of period 183c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_OtherDefinedBenefitPlanInvestmentsFairValueMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
221c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_OtherDefinedBenefitPlanInvestmentsFairValueMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
Non-U.S. pension and postretirement benefit plans | Total investments    
Reconciliations of the beginning and ending balances during the period for Level 3 assets    
Plan assets at fair value at end of period 9,053c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_InvestmentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
8,730c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_InvestmentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
Non-U.S. pension and postretirement benefit plans | Cash and short-term investments    
Reconciliations of the beginning and ending balances during the period for Level 3 assets    
Plan assets at fair value at end of period 114c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CashAndCashEquivalentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
96c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CashAndCashEquivalentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
Non-U.S. pension and postretirement benefit plans | Level 3    
Reconciliations of the beginning and ending balances during the period for Level 3 assets    
Plan assets at fair value at beginning of period 299c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
300c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Unrealized gains (losses) (5)us-gaap_DefinedBenefitPlanActualReturnOnPlanAssetsStillHeld
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
8us-gaap_DefinedBenefitPlanActualReturnOnPlanAssetsStillHeld
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Purchases, sales, and issuances (32)us-gaap_DefinedBenefitPlanPurchasesSalesAndSettlements
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
(2)us-gaap_DefinedBenefitPlanPurchasesSalesAndSettlements
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Transfers in and/or out of Level 3 (6)us-gaap_DefinedBenefitPlanTransfersBetweenMeasurementLevels
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
(7)us-gaap_DefinedBenefitPlanTransfersBetweenMeasurementLevels
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Plan assets at fair value at end of period 256c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
299c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Non-U.S. pension and postretirement benefit plans | Level 3 | U.S. equity    
Reconciliations of the beginning and ending balances during the period for Level 3 assets    
Plan assets at fair value at end of period 0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_UnitedStatesEquitySecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_UnitedStatesEquitySecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Non-U.S. pension and postretirement benefit plans | Level 3 | Non-U.S. equity    
Reconciliations of the beginning and ending balances during the period for Level 3 assets    
Plan assets at fair value at beginning of period 49c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_OtherEquitySecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
48c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_OtherEquitySecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Unrealized gains (losses) (3)us-gaap_DefinedBenefitPlanActualReturnOnPlanAssetsStillHeld
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_OtherEquitySecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
5us-gaap_DefinedBenefitPlanActualReturnOnPlanAssetsStillHeld
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_OtherEquitySecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Purchases, sales, and issuances 0us-gaap_DefinedBenefitPlanPurchasesSalesAndSettlements
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_OtherEquitySecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
0us-gaap_DefinedBenefitPlanPurchasesSalesAndSettlements
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_OtherEquitySecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Transfers in and/or out of Level 3 (1)us-gaap_DefinedBenefitPlanTransfersBetweenMeasurementLevels
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_OtherEquitySecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
(4)us-gaap_DefinedBenefitPlanTransfersBetweenMeasurementLevels
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_OtherEquitySecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Plan assets at fair value at end of period 45c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_OtherEquitySecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
49c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_OtherEquitySecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Non-U.S. pension and postretirement benefit plans | Level 3 | Mutual Funds    
Reconciliations of the beginning and ending balances during the period for Level 3 assets    
Plan assets at fair value at end of period 0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_EquityFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_EquityFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Non-U.S. pension and postretirement benefit plans | Level 3 | U.S. corporate bonds    
Reconciliations of the beginning and ending balances during the period for Level 3 assets    
Plan assets at fair value at end of period 0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_DomesticCorporateDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_DomesticCorporateDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Non-U.S. pension and postretirement benefit plans | Level 3 | Foreign government    
Reconciliations of the beginning and ending balances during the period for Level 3 assets    
Plan assets at fair value at beginning of period 0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
4c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Unrealized gains (losses) 0us-gaap_DefinedBenefitPlanActualReturnOnPlanAssetsStillHeld
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
0us-gaap_DefinedBenefitPlanActualReturnOnPlanAssetsStillHeld
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Purchases, sales, and issuances 0us-gaap_DefinedBenefitPlanPurchasesSalesAndSettlements
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
0us-gaap_DefinedBenefitPlanPurchasesSalesAndSettlements
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Transfers in and/or out of Level 3 1us-gaap_DefinedBenefitPlanTransfersBetweenMeasurementLevels
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
(4)us-gaap_DefinedBenefitPlanTransfersBetweenMeasurementLevels
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Plan assets at fair value at end of period 1c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Non-U.S. pension and postretirement benefit plans | Level 3 | Non-U.S. corporate bond    
Reconciliations of the beginning and ending balances during the period for Level 3 assets    
Plan assets at fair value at beginning of period 5c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ForeignCorporateDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
4c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ForeignCorporateDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Unrealized gains (losses) 0us-gaap_DefinedBenefitPlanActualReturnOnPlanAssetsStillHeld
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ForeignCorporateDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
(1)us-gaap_DefinedBenefitPlanActualReturnOnPlanAssetsStillHeld
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ForeignCorporateDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Purchases, sales, and issuances 1us-gaap_DefinedBenefitPlanPurchasesSalesAndSettlements
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ForeignCorporateDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
2us-gaap_DefinedBenefitPlanPurchasesSalesAndSettlements
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ForeignCorporateDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Transfers in and/or out of Level 3 (1)us-gaap_DefinedBenefitPlanTransfersBetweenMeasurementLevels
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ForeignCorporateDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
0us-gaap_DefinedBenefitPlanTransfersBetweenMeasurementLevels
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ForeignCorporateDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Plan assets at fair value at end of period 5c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ForeignCorporateDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
5c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ForeignCorporateDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Non-U.S. pension and postretirement benefit plans | Level 3 | Hedge funds    
Reconciliations of the beginning and ending balances during the period for Level 3 assets    
Plan assets at fair value at beginning of period 11c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_HedgeFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
16c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_HedgeFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Unrealized gains (losses) (1)us-gaap_DefinedBenefitPlanActualReturnOnPlanAssetsStillHeld
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_HedgeFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
1us-gaap_DefinedBenefitPlanActualReturnOnPlanAssetsStillHeld
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_HedgeFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Purchases, sales, and issuances 0us-gaap_DefinedBenefitPlanPurchasesSalesAndSettlements
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_HedgeFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
(6)us-gaap_DefinedBenefitPlanPurchasesSalesAndSettlements
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_HedgeFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Transfers in and/or out of Level 3 0us-gaap_DefinedBenefitPlanTransfersBetweenMeasurementLevels
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_HedgeFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
0us-gaap_DefinedBenefitPlanTransfersBetweenMeasurementLevels
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_HedgeFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Plan assets at fair value at end of period 10c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_HedgeFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
11c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_HedgeFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Non-U.S. pension and postretirement benefit plans | Level 3 | Annuity contracts    
Reconciliations of the beginning and ending balances during the period for Level 3 assets    
Plan assets at fair value at beginning of period 32c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_VariableAnnuityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
6c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_VariableAnnuityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Unrealized gains (losses) 0us-gaap_DefinedBenefitPlanActualReturnOnPlanAssetsStillHeld
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_VariableAnnuityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
3us-gaap_DefinedBenefitPlanActualReturnOnPlanAssetsStillHeld
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_VariableAnnuityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Purchases, sales, and issuances 0us-gaap_DefinedBenefitPlanPurchasesSalesAndSettlements
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_VariableAnnuityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
(1)us-gaap_DefinedBenefitPlanPurchasesSalesAndSettlements
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_VariableAnnuityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Transfers in and/or out of Level 3 0us-gaap_DefinedBenefitPlanTransfersBetweenMeasurementLevels
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_VariableAnnuityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
24us-gaap_DefinedBenefitPlanTransfersBetweenMeasurementLevels
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_VariableAnnuityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Plan assets at fair value at end of period 32c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_VariableAnnuityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
32c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_VariableAnnuityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Non-U.S. pension and postretirement benefit plans | Level 3 | Other investments    
Reconciliations of the beginning and ending balances during the period for Level 3 assets    
Plan assets at fair value at beginning of period 202c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_OtherDefinedBenefitPlanInvestmentsFairValueMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
219c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_OtherDefinedBenefitPlanInvestmentsFairValueMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Unrealized gains (losses) (1)us-gaap_DefinedBenefitPlanActualReturnOnPlanAssetsStillHeld
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_OtherDefinedBenefitPlanInvestmentsFairValueMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
0us-gaap_DefinedBenefitPlanActualReturnOnPlanAssetsStillHeld
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_OtherDefinedBenefitPlanInvestmentsFairValueMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Purchases, sales, and issuances (33)us-gaap_DefinedBenefitPlanPurchasesSalesAndSettlements
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_OtherDefinedBenefitPlanInvestmentsFairValueMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
3us-gaap_DefinedBenefitPlanPurchasesSalesAndSettlements
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_OtherDefinedBenefitPlanInvestmentsFairValueMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Transfers in and/or out of Level 3 (5)us-gaap_DefinedBenefitPlanTransfersBetweenMeasurementLevels
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_OtherDefinedBenefitPlanInvestmentsFairValueMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
(20)us-gaap_DefinedBenefitPlanTransfersBetweenMeasurementLevels
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_OtherDefinedBenefitPlanInvestmentsFairValueMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Plan assets at fair value at end of period 163c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_OtherDefinedBenefitPlanInvestmentsFairValueMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
202c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_OtherDefinedBenefitPlanInvestmentsFairValueMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Non-U.S. pension and postretirement benefit plans | Level 3 | Total investments    
Reconciliations of the beginning and ending balances during the period for Level 3 assets    
Plan assets at fair value at beginning of period 299c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_InvestmentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
297c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_InvestmentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Unrealized gains (losses) (5)us-gaap_DefinedBenefitPlanActualReturnOnPlanAssetsStillHeld
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_InvestmentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
8us-gaap_DefinedBenefitPlanActualReturnOnPlanAssetsStillHeld
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_InvestmentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Purchases, sales, and issuances (32)us-gaap_DefinedBenefitPlanPurchasesSalesAndSettlements
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_InvestmentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
(2)us-gaap_DefinedBenefitPlanPurchasesSalesAndSettlements
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_InvestmentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Transfers in and/or out of Level 3 (6)us-gaap_DefinedBenefitPlanTransfersBetweenMeasurementLevels
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_InvestmentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
(4)us-gaap_DefinedBenefitPlanTransfersBetweenMeasurementLevels
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_InvestmentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Plan assets at fair value at end of period 256c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_InvestmentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
299c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_InvestmentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Non-U.S. pension and postretirement benefit plans | Level 3 | Cash and short-term investments    
Reconciliations of the beginning and ending balances during the period for Level 3 assets    
Plan assets at fair value at beginning of period 0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CashAndCashEquivalentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
3c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CashAndCashEquivalentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Unrealized gains (losses) 0us-gaap_DefinedBenefitPlanActualReturnOnPlanAssetsStillHeld
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CashAndCashEquivalentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
0us-gaap_DefinedBenefitPlanActualReturnOnPlanAssetsStillHeld
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CashAndCashEquivalentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Purchases, sales, and issuances 0us-gaap_DefinedBenefitPlanPurchasesSalesAndSettlements
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CashAndCashEquivalentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
0us-gaap_DefinedBenefitPlanPurchasesSalesAndSettlements
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CashAndCashEquivalentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Transfers in and/or out of Level 3 0us-gaap_DefinedBenefitPlanTransfersBetweenMeasurementLevels
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CashAndCashEquivalentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
(3)us-gaap_DefinedBenefitPlanTransfersBetweenMeasurementLevels
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CashAndCashEquivalentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Plan assets at fair value at end of period $ 0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CashAndCashEquivalentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
$ 0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CashAndCashEquivalentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member