XML 69 R128.htm IDEA: XBRL DOCUMENT v2.4.1.9
FAIR VALUE MEASUREMENT - Level 3 Roll Forward (Details) (USD $)
In Millions, unless otherwise specified
3 Months Ended
Mar. 31, 2015
Mar. 31, 2014
Trading account assets and liabilities    
Fair value, Derivative assets (liabilities) measured on recurring basis, level 3 fair-value category reconciliation    
Balance at beginning of period, asset (liability), net $ (2,661)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
$ (991)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
Net realized/unrealized gains (losses) included in earnings (832)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationGainLossIncludedInEarnings
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
(46)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationGainLossIncludedInEarnings
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
Transfers into Level 3 148us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationTransfersIntoLevel3
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
(524)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationTransfersIntoLevel3
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
Transfers out of Level 3 181us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationTransfersOutOfLevel3
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
81us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationTransfersOutOfLevel3
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
Purchases 186us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationPurchases
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
170us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationPurchases
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
Sales (163)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSales
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
(143)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSales
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
Settlements 287us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSettlements
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
(307)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSettlements
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
Balance at end of period, asset (liability), net (2,854)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
(1,760)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
Unrealized gains (losses) still held (448)c_FairValueNetDerivativeAssetLiabilityMeasuredonRecurringBasisUnobservableInputsReconciliationChangeinUnrealizedGainLoss
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
(548)c_FairValueNetDerivativeAssetLiabilityMeasuredonRecurringBasisUnobservableInputsReconciliationChangeinUnrealizedGainLoss
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
Trading account assets and liabilities | Interest rate contracts    
Fair value, Derivative assets (liabilities) measured on recurring basis, level 3 fair-value category reconciliation    
Balance at beginning of period, asset (liability), net (211)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
839us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
Net realized/unrealized gains (losses) included in earnings (70)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationGainLossIncludedInEarnings
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
(348)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationGainLossIncludedInEarnings
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
Transfers into Level 3 (134)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationTransfersIntoLevel3
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
36us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationTransfersIntoLevel3
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
Transfers out of Level 3 7us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationTransfersOutOfLevel3
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
9us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationTransfersOutOfLevel3
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
Purchases 6us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationPurchases
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
18us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationPurchases
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
Sales (3)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSales
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
(46)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSales
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
Settlements 71us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSettlements
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
(275)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSettlements
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
Balance at end of period, asset (liability), net (334)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
233us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
Unrealized gains (losses) still held (282)c_FairValueNetDerivativeAssetLiabilityMeasuredonRecurringBasisUnobservableInputsReconciliationChangeinUnrealizedGainLoss
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
(367)c_FairValueNetDerivativeAssetLiabilityMeasuredonRecurringBasisUnobservableInputsReconciliationChangeinUnrealizedGainLoss
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
Trading account assets and liabilities | Foreign exchange contracts    
Fair value, Derivative assets (liabilities) measured on recurring basis, level 3 fair-value category reconciliation    
Balance at beginning of period, asset (liability), net 778us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
695us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
Net realized/unrealized gains (losses) included in earnings (301)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationGainLossIncludedInEarnings
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
138us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationGainLossIncludedInEarnings
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
Transfers into Level 3 41us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationTransfersIntoLevel3
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
(11)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationTransfersIntoLevel3
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
Transfers out of Level 3 4us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationTransfersOutOfLevel3
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
19us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationTransfersOutOfLevel3
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
Purchases 91us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationPurchases
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
1us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationPurchases
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
Sales (95)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSales
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
0us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSales
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
Settlements 128us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSettlements
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
(13)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSettlements
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
Balance at end of period, asset (liability), net 646us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
829us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
Unrealized gains (losses) still held 174c_FairValueNetDerivativeAssetLiabilityMeasuredonRecurringBasisUnobservableInputsReconciliationChangeinUnrealizedGainLoss
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
211c_FairValueNetDerivativeAssetLiabilityMeasuredonRecurringBasisUnobservableInputsReconciliationChangeinUnrealizedGainLoss
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
Trading account assets and liabilities | Equity contracts    
Fair value, Derivative assets (liabilities) measured on recurring basis, level 3 fair-value category reconciliation    
Balance at beginning of period, asset (liability), net (863)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
(858)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
Net realized/unrealized gains (losses) included in earnings (29)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationGainLossIncludedInEarnings
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
152us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationGainLossIncludedInEarnings
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
Transfers into Level 3 (23)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationTransfersIntoLevel3
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
(518)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationTransfersIntoLevel3
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
Transfers out of Level 3 101us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationTransfersOutOfLevel3
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
52us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationTransfersOutOfLevel3
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
Purchases 89us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationPurchases
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
150us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationPurchases
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
Sales (65)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSales
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
(94)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSales
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
Settlements 16us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSettlements
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
(120)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSettlements
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
Balance at end of period, asset (liability), net (774)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
(1,236)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
Unrealized gains (losses) still held 110c_FairValueNetDerivativeAssetLiabilityMeasuredonRecurringBasisUnobservableInputsReconciliationChangeinUnrealizedGainLoss
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
(225)c_FairValueNetDerivativeAssetLiabilityMeasuredonRecurringBasisUnobservableInputsReconciliationChangeinUnrealizedGainLoss
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
Trading account assets and liabilities | Commodity contracts    
Fair value, Derivative assets (liabilities) measured on recurring basis, level 3 fair-value category reconciliation    
Balance at beginning of period, asset (liability), net (1,622)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
(1,393)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
Net realized/unrealized gains (losses) included in earnings (334)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationGainLossIncludedInEarnings
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
75us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationGainLossIncludedInEarnings
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
Transfers into Level 3 182us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationTransfersIntoLevel3
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
30us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationTransfersIntoLevel3
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
Transfers out of Level 3 16us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationTransfersOutOfLevel3
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
31us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationTransfersOutOfLevel3
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
Purchases 0us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationPurchases
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
0us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationPurchases
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
Sales 0us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSales
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
0us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSales
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
Settlements 29us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSettlements
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
(72)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSettlements
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
Balance at end of period, asset (liability), net (1,729)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
(1,329)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
Unrealized gains (losses) still held (263)c_FairValueNetDerivativeAssetLiabilityMeasuredonRecurringBasisUnobservableInputsReconciliationChangeinUnrealizedGainLoss
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
67c_FairValueNetDerivativeAssetLiabilityMeasuredonRecurringBasisUnobservableInputsReconciliationChangeinUnrealizedGainLoss
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
Trading account assets and liabilities | Credit derivatives    
Fair value, Derivative assets (liabilities) measured on recurring basis, level 3 fair-value category reconciliation    
Balance at beginning of period, asset (liability), net (743)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
(274)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
Net realized/unrealized gains (losses) included in earnings (98)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationGainLossIncludedInEarnings
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
(63)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationGainLossIncludedInEarnings
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
Transfers into Level 3 82us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationTransfersIntoLevel3
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
(61)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationTransfersIntoLevel3
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
Transfers out of Level 3 53us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationTransfersOutOfLevel3
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
(30)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationTransfersOutOfLevel3
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
Purchases 0us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationPurchases
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
1us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationPurchases
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
Sales 0us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSales
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
(3)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSales
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
Settlements 43us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSettlements
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
173us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSettlements
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
Balance at end of period, asset (liability), net (663)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
(257)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
Unrealized gains (losses) still held (187)c_FairValueNetDerivativeAssetLiabilityMeasuredonRecurringBasisUnobservableInputsReconciliationChangeinUnrealizedGainLoss
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
(234)c_FairValueNetDerivativeAssetLiabilityMeasuredonRecurringBasisUnobservableInputsReconciliationChangeinUnrealizedGainLoss
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
Interest-bearing deposits    
Fair value, liabilities measured on recurring basis, level 3 fair-value category reconciliation    
Balance at beginning of period, liability 486us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_InterestBearingDepositsMember
890us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_InterestBearingDepositsMember
Net realized/unrealized gains (losses) included in earnings, liabilities 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_InterestBearingDepositsMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_InterestBearingDepositsMember
Net realized/unrealized gains (losses) included in locations other than principal transactions, liabilities 0c_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarningsOrOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_InterestBearingDepositsMember
(70)c_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarningsOrOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_InterestBearingDepositsMember
Transfers into Level 3, liabilities 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationLiabilityTransfersIntoLevel3
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_InterestBearingDepositsMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationLiabilityTransfersIntoLevel3
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_InterestBearingDepositsMember
Transfers out of Level 3, liabilities 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationLiabilityTransfersOutOfLevel3
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_InterestBearingDepositsMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationLiabilityTransfersOutOfLevel3
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_InterestBearingDepositsMember
Purchases, liability 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySales
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_InterestBearingDepositsMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySales
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_InterestBearingDepositsMember
Issuance, liability 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_InterestBearingDepositsMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_InterestBearingDepositsMember
Sales, liability 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPurchases
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_InterestBearingDepositsMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPurchases
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_InterestBearingDepositsMember
Settlements, liability (21)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_InterestBearingDepositsMember
(25)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_InterestBearingDepositsMember
Balance at end of period, liability 465us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_InterestBearingDepositsMember
935us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_InterestBearingDepositsMember
Unrealized gains (losses) still held, liabilities 2us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_InterestBearingDepositsMember
(19)us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_InterestBearingDepositsMember
Federal funds purchased and securities loaned or sold under agreements to repurchase    
Fair value, liabilities measured on recurring basis, level 3 fair-value category reconciliation    
Balance at beginning of period, liability 1,043us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_FederalFundsPurchasedAndSecuritiesSoldUnderAgreementsToRepurchaseMember
902us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_FederalFundsPurchasedAndSecuritiesSoldUnderAgreementsToRepurchaseMember
Net realized/unrealized gains (losses) included in earnings, liabilities (52)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_FederalFundsPurchasedAndSecuritiesSoldUnderAgreementsToRepurchaseMember
(7)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_FederalFundsPurchasedAndSecuritiesSoldUnderAgreementsToRepurchaseMember
Net realized/unrealized gains (losses) included in locations other than principal transactions, liabilities 0c_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarningsOrOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_FederalFundsPurchasedAndSecuritiesSoldUnderAgreementsToRepurchaseMember
0c_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarningsOrOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_FederalFundsPurchasedAndSecuritiesSoldUnderAgreementsToRepurchaseMember
Transfers into Level 3, liabilities 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationLiabilityTransfersIntoLevel3
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_FederalFundsPurchasedAndSecuritiesSoldUnderAgreementsToRepurchaseMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationLiabilityTransfersIntoLevel3
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_FederalFundsPurchasedAndSecuritiesSoldUnderAgreementsToRepurchaseMember
Transfers out of Level 3, liabilities 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationLiabilityTransfersOutOfLevel3
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_FederalFundsPurchasedAndSecuritiesSoldUnderAgreementsToRepurchaseMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationLiabilityTransfersOutOfLevel3
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_FederalFundsPurchasedAndSecuritiesSoldUnderAgreementsToRepurchaseMember
Purchases, liability 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySales
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_FederalFundsPurchasedAndSecuritiesSoldUnderAgreementsToRepurchaseMember
31us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySales
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_FederalFundsPurchasedAndSecuritiesSoldUnderAgreementsToRepurchaseMember
Issuance, liability 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_FederalFundsPurchasedAndSecuritiesSoldUnderAgreementsToRepurchaseMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_FederalFundsPurchasedAndSecuritiesSoldUnderAgreementsToRepurchaseMember
Sales, liability 1us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPurchases
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_FederalFundsPurchasedAndSecuritiesSoldUnderAgreementsToRepurchaseMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPurchases
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_FederalFundsPurchasedAndSecuritiesSoldUnderAgreementsToRepurchaseMember
Settlements, liability (36)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_FederalFundsPurchasedAndSecuritiesSoldUnderAgreementsToRepurchaseMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_FederalFundsPurchasedAndSecuritiesSoldUnderAgreementsToRepurchaseMember
Balance at end of period, liability 1,060us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_FederalFundsPurchasedAndSecuritiesSoldUnderAgreementsToRepurchaseMember
940us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_FederalFundsPurchasedAndSecuritiesSoldUnderAgreementsToRepurchaseMember
Unrealized gains (losses) still held, liabilities (11)us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_FederalFundsPurchasedAndSecuritiesSoldUnderAgreementsToRepurchaseMember
(9)us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_FederalFundsPurchasedAndSecuritiesSoldUnderAgreementsToRepurchaseMember
Trading account liabilities | Securities sold, not yet purchased    
Fair value, liabilities measured on recurring basis, level 3 fair-value category reconciliation    
Balance at beginning of period, liability 424us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_TradingLiabilitiesMember
/ us-gaap_FinancialInstrumentAxis
= us-gaap_SecuritiesSoldNotYetPurchasedMember
590us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_TradingLiabilitiesMember
/ us-gaap_FinancialInstrumentAxis
= us-gaap_SecuritiesSoldNotYetPurchasedMember
Net realized/unrealized gains (losses) included in earnings, liabilities (10)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_TradingLiabilitiesMember
/ us-gaap_FinancialInstrumentAxis
= us-gaap_SecuritiesSoldNotYetPurchasedMember
10us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_TradingLiabilitiesMember
/ us-gaap_FinancialInstrumentAxis
= us-gaap_SecuritiesSoldNotYetPurchasedMember
Net realized/unrealized gains (losses) included in locations other than principal transactions, liabilities 0c_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarningsOrOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_TradingLiabilitiesMember
/ us-gaap_FinancialInstrumentAxis
= us-gaap_SecuritiesSoldNotYetPurchasedMember
0c_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarningsOrOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_TradingLiabilitiesMember
/ us-gaap_FinancialInstrumentAxis
= us-gaap_SecuritiesSoldNotYetPurchasedMember
Transfers into Level 3, liabilities 92us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationLiabilityTransfersIntoLevel3
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_TradingLiabilitiesMember
/ us-gaap_FinancialInstrumentAxis
= us-gaap_SecuritiesSoldNotYetPurchasedMember
18us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationLiabilityTransfersIntoLevel3
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_TradingLiabilitiesMember
/ us-gaap_FinancialInstrumentAxis
= us-gaap_SecuritiesSoldNotYetPurchasedMember
Transfers out of Level 3, liabilities (43)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationLiabilityTransfersOutOfLevel3
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_TradingLiabilitiesMember
/ us-gaap_FinancialInstrumentAxis
= us-gaap_SecuritiesSoldNotYetPurchasedMember
(29)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationLiabilityTransfersOutOfLevel3
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_TradingLiabilitiesMember
/ us-gaap_FinancialInstrumentAxis
= us-gaap_SecuritiesSoldNotYetPurchasedMember
Purchases, liability 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySales
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_TradingLiabilitiesMember
/ us-gaap_FinancialInstrumentAxis
= us-gaap_SecuritiesSoldNotYetPurchasedMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySales
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_TradingLiabilitiesMember
/ us-gaap_FinancialInstrumentAxis
= us-gaap_SecuritiesSoldNotYetPurchasedMember
Issuance, liability 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_TradingLiabilitiesMember
/ us-gaap_FinancialInstrumentAxis
= us-gaap_SecuritiesSoldNotYetPurchasedMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_TradingLiabilitiesMember
/ us-gaap_FinancialInstrumentAxis
= us-gaap_SecuritiesSoldNotYetPurchasedMember
Sales, liability 70us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPurchases
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_TradingLiabilitiesMember
/ us-gaap_FinancialInstrumentAxis
= us-gaap_SecuritiesSoldNotYetPurchasedMember
150us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPurchases
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_TradingLiabilitiesMember
/ us-gaap_FinancialInstrumentAxis
= us-gaap_SecuritiesSoldNotYetPurchasedMember
Settlements, liability (330)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_TradingLiabilitiesMember
/ us-gaap_FinancialInstrumentAxis
= us-gaap_SecuritiesSoldNotYetPurchasedMember
(237)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_TradingLiabilitiesMember
/ us-gaap_FinancialInstrumentAxis
= us-gaap_SecuritiesSoldNotYetPurchasedMember
Balance at end of period, liability 223us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_TradingLiabilitiesMember
/ us-gaap_FinancialInstrumentAxis
= us-gaap_SecuritiesSoldNotYetPurchasedMember
482us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_TradingLiabilitiesMember
/ us-gaap_FinancialInstrumentAxis
= us-gaap_SecuritiesSoldNotYetPurchasedMember
Unrealized gains (losses) still held, liabilities (29)us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_TradingLiabilitiesMember
/ us-gaap_FinancialInstrumentAxis
= us-gaap_SecuritiesSoldNotYetPurchasedMember
(13)us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_TradingLiabilitiesMember
/ us-gaap_FinancialInstrumentAxis
= us-gaap_SecuritiesSoldNotYetPurchasedMember
Short-term borrowings    
Fair value, liabilities measured on recurring basis, level 3 fair-value category reconciliation    
Balance at beginning of period, liability 344us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_ShortTermDebtMember
29us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_ShortTermDebtMember
Net realized/unrealized gains (losses) included in earnings, liabilities (7)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_ShortTermDebtMember
(17)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_ShortTermDebtMember
Net realized/unrealized gains (losses) included in locations other than principal transactions, liabilities 0c_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarningsOrOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_ShortTermDebtMember
0c_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarningsOrOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_ShortTermDebtMember
Transfers into Level 3, liabilities 1us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationLiabilityTransfersIntoLevel3
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_ShortTermDebtMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationLiabilityTransfersIntoLevel3
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_ShortTermDebtMember
Transfers out of Level 3, liabilities (12)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationLiabilityTransfersOutOfLevel3
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_ShortTermDebtMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationLiabilityTransfersOutOfLevel3
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_ShortTermDebtMember
Purchases, liability 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySales
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_ShortTermDebtMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySales
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_ShortTermDebtMember
Issuance, liability 16us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_ShortTermDebtMember
1us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_ShortTermDebtMember
Sales, liability 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPurchases
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_ShortTermDebtMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPurchases
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_ShortTermDebtMember
Settlements, liability (236)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_ShortTermDebtMember
(20)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_ShortTermDebtMember
Balance at end of period, liability 120us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_ShortTermDebtMember
27us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_ShortTermDebtMember
Unrealized gains (losses) still held, liabilities (21)us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_ShortTermDebtMember
0us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_ShortTermDebtMember
Long-term debt    
Fair value, liabilities measured on recurring basis, level 3 fair-value category reconciliation    
Balance at beginning of period, liability 7,290us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_LongTermDebtMember
7,621us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_LongTermDebtMember
Net realized/unrealized gains (losses) included in earnings, liabilities 286us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_LongTermDebtMember
(284)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_LongTermDebtMember
Net realized/unrealized gains (losses) included in locations other than principal transactions, liabilities 0c_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarningsOrOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_LongTermDebtMember
25c_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarningsOrOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_LongTermDebtMember
Transfers into Level 3, liabilities 712us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationLiabilityTransfersIntoLevel3
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_LongTermDebtMember
959us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationLiabilityTransfersIntoLevel3
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_LongTermDebtMember
Transfers out of Level 3, liabilities (947)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationLiabilityTransfersOutOfLevel3
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_LongTermDebtMember
(854)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationLiabilityTransfersOutOfLevel3
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_LongTermDebtMember
Purchases, liability 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySales
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_LongTermDebtMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySales
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_LongTermDebtMember
Issuance, liability 949us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_LongTermDebtMember
940us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_LongTermDebtMember
Sales, liability 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPurchases
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_LongTermDebtMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPurchases
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_LongTermDebtMember
Settlements, liability (522)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_LongTermDebtMember
(279)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_LongTermDebtMember
Balance at end of period, liability 7,196us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_LongTermDebtMember
8,646us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_LongTermDebtMember
Unrealized gains (losses) still held, liabilities (193)us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_LongTermDebtMember
(118)us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_LongTermDebtMember
Other financial liabilities    
Fair value, liabilities measured on recurring basis, level 3 fair-value category reconciliation    
Balance at beginning of period, liability 7us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= c_OtherFinancialLiabilitiesIncludingNonTradingDerivativesMember
10us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= c_OtherFinancialLiabilitiesIncludingNonTradingDerivativesMember
Net realized/unrealized gains (losses) included in earnings, liabilities 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings
/ us-gaap_FairValueByLiabilityClassAxis
= c_OtherFinancialLiabilitiesIncludingNonTradingDerivativesMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings
/ us-gaap_FairValueByLiabilityClassAxis
= c_OtherFinancialLiabilitiesIncludingNonTradingDerivativesMember
Net realized/unrealized gains (losses) included in locations other than principal transactions, liabilities (3)c_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarningsOrOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByLiabilityClassAxis
= c_OtherFinancialLiabilitiesIncludingNonTradingDerivativesMember
0c_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarningsOrOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByLiabilityClassAxis
= c_OtherFinancialLiabilitiesIncludingNonTradingDerivativesMember
Transfers into Level 3, liabilities 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationLiabilityTransfersIntoLevel3
/ us-gaap_FairValueByLiabilityClassAxis
= c_OtherFinancialLiabilitiesIncludingNonTradingDerivativesMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationLiabilityTransfersIntoLevel3
/ us-gaap_FairValueByLiabilityClassAxis
= c_OtherFinancialLiabilitiesIncludingNonTradingDerivativesMember
Transfers out of Level 3, liabilities 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationLiabilityTransfersOutOfLevel3
/ us-gaap_FairValueByLiabilityClassAxis
= c_OtherFinancialLiabilitiesIncludingNonTradingDerivativesMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationLiabilityTransfersOutOfLevel3
/ us-gaap_FairValueByLiabilityClassAxis
= c_OtherFinancialLiabilitiesIncludingNonTradingDerivativesMember
Purchases, liability (1)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySales
/ us-gaap_FairValueByLiabilityClassAxis
= c_OtherFinancialLiabilitiesIncludingNonTradingDerivativesMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySales
/ us-gaap_FairValueByLiabilityClassAxis
= c_OtherFinancialLiabilitiesIncludingNonTradingDerivativesMember
Issuance, liability 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues
/ us-gaap_FairValueByLiabilityClassAxis
= c_OtherFinancialLiabilitiesIncludingNonTradingDerivativesMember
1us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues
/ us-gaap_FairValueByLiabilityClassAxis
= c_OtherFinancialLiabilitiesIncludingNonTradingDerivativesMember
Sales, liability 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPurchases
/ us-gaap_FairValueByLiabilityClassAxis
= c_OtherFinancialLiabilitiesIncludingNonTradingDerivativesMember
(3)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPurchases
/ us-gaap_FairValueByLiabilityClassAxis
= c_OtherFinancialLiabilitiesIncludingNonTradingDerivativesMember
Settlements, liability (1)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements
/ us-gaap_FairValueByLiabilityClassAxis
= c_OtherFinancialLiabilitiesIncludingNonTradingDerivativesMember
(5)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements
/ us-gaap_FairValueByLiabilityClassAxis
= c_OtherFinancialLiabilitiesIncludingNonTradingDerivativesMember
Balance at end of period, liability 8us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= c_OtherFinancialLiabilitiesIncludingNonTradingDerivativesMember
3us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= c_OtherFinancialLiabilitiesIncludingNonTradingDerivativesMember
Unrealized gains (losses) still held, liabilities (1)us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByLiabilityClassAxis
= c_OtherFinancialLiabilitiesIncludingNonTradingDerivativesMember
(1)us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByLiabilityClassAxis
= c_OtherFinancialLiabilitiesIncludingNonTradingDerivativesMember
Federal funds sold and securities borrowed or purchased under agreements to resell    
Fair value, assets measured on recurring basis, level 3 fair-value category reconciliation    
Balance at beginning of period, asset 3,398us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_FederalFundsSoldAndSecuritiesBorrowedOrPurchasedUnderAgreementsToResellMember
3,566us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_FederalFundsSoldAndSecuritiesBorrowedOrPurchasedUnderAgreementsToResellMember
Net realized/unrealized gains (losses) included in principal transactions (40)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_FederalFundsSoldAndSecuritiesBorrowedOrPurchasedUnderAgreementsToResellMember
(1)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_FederalFundsSoldAndSecuritiesBorrowedOrPurchasedUnderAgreementsToResellMember
Net realized/unrealized gains (losses) included in locations other than principal transactions, assets 0c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_FederalFundsSoldAndSecuritiesBorrowedOrPurchasedUnderAgreementsToResellMember
0c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_FederalFundsSoldAndSecuritiesBorrowedOrPurchasedUnderAgreementsToResellMember
Transfers into Level 3 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_FederalFundsSoldAndSecuritiesBorrowedOrPurchasedUnderAgreementsToResellMember
51us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_FederalFundsSoldAndSecuritiesBorrowedOrPurchasedUnderAgreementsToResellMember
Transfers out of Level 3, assets (100)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_FederalFundsSoldAndSecuritiesBorrowedOrPurchasedUnderAgreementsToResellMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_FederalFundsSoldAndSecuritiesBorrowedOrPurchasedUnderAgreementsToResellMember
Purchases, assets 764us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_FederalFundsSoldAndSecuritiesBorrowedOrPurchasedUnderAgreementsToResellMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_FederalFundsSoldAndSecuritiesBorrowedOrPurchasedUnderAgreementsToResellMember
Issuance, assets 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_FederalFundsSoldAndSecuritiesBorrowedOrPurchasedUnderAgreementsToResellMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_FederalFundsSoldAndSecuritiesBorrowedOrPurchasedUnderAgreementsToResellMember
Sales, assets 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_FederalFundsSoldAndSecuritiesBorrowedOrPurchasedUnderAgreementsToResellMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_FederalFundsSoldAndSecuritiesBorrowedOrPurchasedUnderAgreementsToResellMember
Settlements, assets 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_FederalFundsSoldAndSecuritiesBorrowedOrPurchasedUnderAgreementsToResellMember
(165)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_FederalFundsSoldAndSecuritiesBorrowedOrPurchasedUnderAgreementsToResellMember
Balance at end of period, asset 4,022us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_FederalFundsSoldAndSecuritiesBorrowedOrPurchasedUnderAgreementsToResellMember
3,451us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_FederalFundsSoldAndSecuritiesBorrowedOrPurchasedUnderAgreementsToResellMember
Unrealized gains (losses) still held, assets 71us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_FederalFundsSoldAndSecuritiesBorrowedOrPurchasedUnderAgreementsToResellMember
(1)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_FederalFundsSoldAndSecuritiesBorrowedOrPurchasedUnderAgreementsToResellMember
Trading non-derivative assets    
Fair value, assets measured on recurring basis, level 3 fair-value category reconciliation    
Balance at beginning of period, asset 15,357us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
15,260us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
Net realized/unrealized gains (losses) included in principal transactions 125us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
387us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
Net realized/unrealized gains (losses) included in locations other than principal transactions, assets 0c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
0c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
Transfers into Level 3 880us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
1,178us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
Transfers out of Level 3, assets (1,338)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
(1,540)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
Purchases, assets 3,854us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
4,440us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
Issuance, assets 13us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
3us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
Sales, assets (3,614)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
(5,432)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
Settlements, assets (57)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
(86)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
Balance at end of period, asset 15,220us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
14,210us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
Unrealized gains (losses) still held, assets 98us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
476us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
Trading non-derivative assets | U.S. government-sponsored agency guaranteed    
Fair value, assets measured on recurring basis, level 3 fair-value category reconciliation    
Balance at beginning of period, asset 1,085us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= c_MortgageBackedSecuritiesIssuedByUSGovernmentCorporationsAndAgenciesMember
1,094us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= c_MortgageBackedSecuritiesIssuedByUSGovernmentCorporationsAndAgenciesMember
Net realized/unrealized gains (losses) included in principal transactions 3us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= c_MortgageBackedSecuritiesIssuedByUSGovernmentCorporationsAndAgenciesMember
81us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= c_MortgageBackedSecuritiesIssuedByUSGovernmentCorporationsAndAgenciesMember
Net realized/unrealized gains (losses) included in locations other than principal transactions, assets 0c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= c_MortgageBackedSecuritiesIssuedByUSGovernmentCorporationsAndAgenciesMember
0c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= c_MortgageBackedSecuritiesIssuedByUSGovernmentCorporationsAndAgenciesMember
Transfers into Level 3 294us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= c_MortgageBackedSecuritiesIssuedByUSGovernmentCorporationsAndAgenciesMember
179us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= c_MortgageBackedSecuritiesIssuedByUSGovernmentCorporationsAndAgenciesMember
Transfers out of Level 3, assets (510)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= c_MortgageBackedSecuritiesIssuedByUSGovernmentCorporationsAndAgenciesMember
(385)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= c_MortgageBackedSecuritiesIssuedByUSGovernmentCorporationsAndAgenciesMember
Purchases, assets 167us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= c_MortgageBackedSecuritiesIssuedByUSGovernmentCorporationsAndAgenciesMember
154us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= c_MortgageBackedSecuritiesIssuedByUSGovernmentCorporationsAndAgenciesMember
Issuance, assets 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= c_MortgageBackedSecuritiesIssuedByUSGovernmentCorporationsAndAgenciesMember
3us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= c_MortgageBackedSecuritiesIssuedByUSGovernmentCorporationsAndAgenciesMember
Sales, assets (221)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= c_MortgageBackedSecuritiesIssuedByUSGovernmentCorporationsAndAgenciesMember
(321)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= c_MortgageBackedSecuritiesIssuedByUSGovernmentCorporationsAndAgenciesMember
Settlements, assets 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= c_MortgageBackedSecuritiesIssuedByUSGovernmentCorporationsAndAgenciesMember
(17)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= c_MortgageBackedSecuritiesIssuedByUSGovernmentCorporationsAndAgenciesMember
Balance at end of period, asset 818us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= c_MortgageBackedSecuritiesIssuedByUSGovernmentCorporationsAndAgenciesMember
788us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= c_MortgageBackedSecuritiesIssuedByUSGovernmentCorporationsAndAgenciesMember
Unrealized gains (losses) still held, assets (2)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= c_MortgageBackedSecuritiesIssuedByUSGovernmentCorporationsAndAgenciesMember
10us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= c_MortgageBackedSecuritiesIssuedByUSGovernmentCorporationsAndAgenciesMember
Trading non-derivative assets | Mortgage-backed securities - Residential    
Fair value, assets measured on recurring basis, level 3 fair-value category reconciliation    
Balance at beginning of period, asset 2,680us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
2,854us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
Net realized/unrealized gains (losses) included in principal transactions 77us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
157us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
Net realized/unrealized gains (losses) included in locations other than principal transactions, assets 0c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
0c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
Transfers into Level 3 45us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
74us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
Transfers out of Level 3, assets (216)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
(153)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
Purchases, assets 498us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
976us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
Issuance, assets 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
Sales, assets (954)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
(1,164)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
Settlements, assets 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
Balance at end of period, asset 2,130us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
2,744us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
Unrealized gains (losses) still held, assets (106)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
41us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
Trading non-derivative assets | Mortgage-backed securities - Commercial    
Fair value, assets measured on recurring basis, level 3 fair-value category reconciliation    
Balance at beginning of period, asset 440us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
256us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
Net realized/unrealized gains (losses) included in principal transactions 15us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
5us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
Net realized/unrealized gains (losses) included in locations other than principal transactions, assets 0c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
0c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
Transfers into Level 3 88us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
35us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
Transfers out of Level 3, assets (13)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
(24)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
Purchases, assets 320us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
32us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
Issuance, assets 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
Sales, assets (251)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
(63)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
Settlements, assets 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
Balance at end of period, asset 599us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
241us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
Unrealized gains (losses) still held, assets (4)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
5us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
Trading non-derivative assets | Mortgage-backed securities    
Fair value, assets measured on recurring basis, level 3 fair-value category reconciliation    
Balance at beginning of period, asset 4,205us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_MortgageBackedSecuritiesMember
4,204us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_MortgageBackedSecuritiesMember
Net realized/unrealized gains (losses) included in principal transactions 95us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_MortgageBackedSecuritiesMember
243us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_MortgageBackedSecuritiesMember
Net realized/unrealized gains (losses) included in locations other than principal transactions, assets 0c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_MortgageBackedSecuritiesMember
0c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_MortgageBackedSecuritiesMember
Transfers into Level 3 427us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_MortgageBackedSecuritiesMember
288us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_MortgageBackedSecuritiesMember
Transfers out of Level 3, assets (739)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_MortgageBackedSecuritiesMember
(562)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_MortgageBackedSecuritiesMember
Purchases, assets 985us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_MortgageBackedSecuritiesMember
1,162us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_MortgageBackedSecuritiesMember
Issuance, assets 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_MortgageBackedSecuritiesMember
3us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_MortgageBackedSecuritiesMember
Sales, assets (1,426)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_MortgageBackedSecuritiesMember
(1,548)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_MortgageBackedSecuritiesMember
Settlements, assets 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_MortgageBackedSecuritiesMember
(17)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_MortgageBackedSecuritiesMember
Balance at end of period, asset 3,547us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_MortgageBackedSecuritiesMember
3,773us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_MortgageBackedSecuritiesMember
Unrealized gains (losses) still held, assets (112)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_MortgageBackedSecuritiesMember
56us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_MortgageBackedSecuritiesMember
Trading non-derivative assets | U.S. Treasury and federal agency securities    
Fair value, assets measured on recurring basis, level 3 fair-value category reconciliation    
Balance at beginning of period, asset 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_USTreasuryAndGovernmentMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_USTreasuryAndGovernmentMember
Net realized/unrealized gains (losses) included in principal transactions 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_USTreasuryAndGovernmentMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_USTreasuryAndGovernmentMember
Net realized/unrealized gains (losses) included in locations other than principal transactions, assets 0c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_USTreasuryAndGovernmentMember
0c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_USTreasuryAndGovernmentMember
Transfers into Level 3 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_USTreasuryAndGovernmentMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_USTreasuryAndGovernmentMember
Transfers out of Level 3, assets 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_USTreasuryAndGovernmentMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_USTreasuryAndGovernmentMember
Purchases, assets 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_USTreasuryAndGovernmentMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_USTreasuryAndGovernmentMember
Issuance, assets 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_USTreasuryAndGovernmentMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_USTreasuryAndGovernmentMember
Sales, assets 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_USTreasuryAndGovernmentMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_USTreasuryAndGovernmentMember
Settlements, assets 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_USTreasuryAndGovernmentMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_USTreasuryAndGovernmentMember
Balance at end of period, asset 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_USTreasuryAndGovernmentMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_USTreasuryAndGovernmentMember
Unrealized gains (losses) still held, assets 0us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_USTreasuryAndGovernmentMember
0us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_USTreasuryAndGovernmentMember
Trading non-derivative assets | State and municipal securities    
Fair value, assets measured on recurring basis, level 3 fair-value category reconciliation    
Balance at beginning of period, asset 241us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
222us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
Net realized/unrealized gains (losses) included in principal transactions (8)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
2us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
Net realized/unrealized gains (losses) included in locations other than principal transactions, assets 0c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
0c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
Transfers into Level 3 14us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
11us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
Transfers out of Level 3, assets (7)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
(104)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
Purchases, assets 9us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
9us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
Issuance, assets 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
Sales, assets (2)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
(19)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
Settlements, assets 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
Balance at end of period, asset 247us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
121us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
Unrealized gains (losses) still held, assets (7)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
3us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
Trading non-derivative assets | Foreign government    
Fair value, assets measured on recurring basis, level 3 fair-value category reconciliation    
Balance at beginning of period, asset 206us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
416us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
Net realized/unrealized gains (losses) included in principal transactions (3)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
(6)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
Net realized/unrealized gains (losses) included in locations other than principal transactions, assets 0c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
0c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
Transfers into Level 3 27us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
49us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
Transfers out of Level 3, assets (92)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
(85)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
Purchases, assets 66us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
138us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
Issuance, assets 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
Sales, assets (40)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
(139)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
Settlements, assets (49)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
Balance at end of period, asset 115us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
373us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
Unrealized gains (losses) still held, assets 1us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
(5)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
Trading non-derivative assets | Corporate    
Fair value, assets measured on recurring basis, level 3 fair-value category reconciliation    
Balance at beginning of period, asset 820us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_CorporateDebtSecuritiesMember
1,835us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_CorporateDebtSecuritiesMember
Net realized/unrealized gains (losses) included in principal transactions 76us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_CorporateDebtSecuritiesMember
27us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_CorporateDebtSecuritiesMember
Net realized/unrealized gains (losses) included in locations other than principal transactions, assets 0c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_CorporateDebtSecuritiesMember
0c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_CorporateDebtSecuritiesMember
Transfers into Level 3 13us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_CorporateDebtSecuritiesMember
187us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_CorporateDebtSecuritiesMember
Transfers out of Level 3, assets (59)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_CorporateDebtSecuritiesMember
(145)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_CorporateDebtSecuritiesMember
Purchases, assets 347us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_CorporateDebtSecuritiesMember
592us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_CorporateDebtSecuritiesMember
Issuance, assets 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_CorporateDebtSecuritiesMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_CorporateDebtSecuritiesMember
Sales, assets (430)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_CorporateDebtSecuritiesMember
(828)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_CorporateDebtSecuritiesMember
Settlements, assets 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_CorporateDebtSecuritiesMember
(3)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_CorporateDebtSecuritiesMember
Balance at end of period, asset 767us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_CorporateDebtSecuritiesMember
1,665us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_CorporateDebtSecuritiesMember
Unrealized gains (losses) still held, assets 32us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_CorporateDebtSecuritiesMember
(30)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_CorporateDebtSecuritiesMember
Trading non-derivative assets | Equity securities    
Fair value, assets measured on recurring basis, level 3 fair-value category reconciliation    
Balance at beginning of period, asset 2,219us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_EquitySecuritiesMember
1,057us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_EquitySecuritiesMember
Net realized/unrealized gains (losses) included in principal transactions (21)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_EquitySecuritiesMember
(171)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_EquitySecuritiesMember
Net realized/unrealized gains (losses) included in locations other than principal transactions, assets 0c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_EquitySecuritiesMember
0c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_EquitySecuritiesMember
Transfers into Level 3 124us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_EquitySecuritiesMember
35us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_EquitySecuritiesMember
Transfers out of Level 3, assets (15)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_EquitySecuritiesMember
(5)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_EquitySecuritiesMember
Purchases, assets 382us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_EquitySecuritiesMember
532us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_EquitySecuritiesMember
Issuance, assets 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_EquitySecuritiesMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_EquitySecuritiesMember
Sales, assets (91)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_EquitySecuritiesMember
(63)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_EquitySecuritiesMember
Settlements, assets 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_EquitySecuritiesMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_EquitySecuritiesMember
Balance at end of period, asset 2,598us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_EquitySecuritiesMember
1,385us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_EquitySecuritiesMember
Unrealized gains (losses) still held, assets 5us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_EquitySecuritiesMember
267us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_EquitySecuritiesMember
Trading non-derivative assets | Asset-backed securities    
Fair value, assets measured on recurring basis, level 3 fair-value category reconciliation    
Balance at beginning of period, asset 3,294us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_AssetBackedSecuritiesMember
4,342us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_AssetBackedSecuritiesMember
Net realized/unrealized gains (losses) included in principal transactions 127us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_AssetBackedSecuritiesMember
269us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_AssetBackedSecuritiesMember
Net realized/unrealized gains (losses) included in locations other than principal transactions, assets 0c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_AssetBackedSecuritiesMember
0c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_AssetBackedSecuritiesMember
Transfers into Level 3 65us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_AssetBackedSecuritiesMember
33us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_AssetBackedSecuritiesMember
Transfers out of Level 3, assets (34)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_AssetBackedSecuritiesMember
(175)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_AssetBackedSecuritiesMember
Purchases, assets 1,063us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_AssetBackedSecuritiesMember
943us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_AssetBackedSecuritiesMember
Issuance, assets 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_AssetBackedSecuritiesMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_AssetBackedSecuritiesMember
Sales, assets (962)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_AssetBackedSecuritiesMember
(1,971)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_AssetBackedSecuritiesMember
Settlements, assets 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_AssetBackedSecuritiesMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_AssetBackedSecuritiesMember
Balance at end of period, asset 3,553us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_AssetBackedSecuritiesMember
3,441us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_AssetBackedSecuritiesMember
Unrealized gains (losses) still held, assets 194us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_AssetBackedSecuritiesMember
164us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_AssetBackedSecuritiesMember
Trading non-derivative assets | Other debt securities    
Fair value, assets measured on recurring basis, level 3 fair-value category reconciliation    
Balance at beginning of period, asset 4,372us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_OtherDebtSecuritiesMember
3,184us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_OtherDebtSecuritiesMember
Net realized/unrealized gains (losses) included in principal transactions (141)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_OtherDebtSecuritiesMember
23us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_OtherDebtSecuritiesMember
Net realized/unrealized gains (losses) included in locations other than principal transactions, assets 0c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_OtherDebtSecuritiesMember
0c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_OtherDebtSecuritiesMember
Transfers into Level 3 210us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_OtherDebtSecuritiesMember
575us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_OtherDebtSecuritiesMember
Transfers out of Level 3, assets (392)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_OtherDebtSecuritiesMember
(464)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_OtherDebtSecuritiesMember
Purchases, assets 1,002us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_OtherDebtSecuritiesMember
1,064us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_OtherDebtSecuritiesMember
Issuance, assets 13us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_OtherDebtSecuritiesMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_OtherDebtSecuritiesMember
Sales, assets (663)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_OtherDebtSecuritiesMember
(864)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_OtherDebtSecuritiesMember
Settlements, assets (8)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_OtherDebtSecuritiesMember
(66)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_OtherDebtSecuritiesMember
Balance at end of period, asset 4,393us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_OtherDebtSecuritiesMember
3,452us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_OtherDebtSecuritiesMember
Unrealized gains (losses) still held, assets (15)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_OtherDebtSecuritiesMember
21us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_OtherDebtSecuritiesMember
Investments    
Fair value, assets measured on recurring basis, level 3 fair-value category reconciliation    
Balance at beginning of period, asset 7,338us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
9,741us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
Net realized/unrealized gains (losses) included in principal transactions 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
Net realized/unrealized gains (losses) included in locations other than principal transactions, assets (48)c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
180c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
Transfers into Level 3 161us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
389us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
Transfers out of Level 3, assets (312)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
(407)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
Purchases, assets 441us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
1,054us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
Issuance, assets 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
Sales, assets (359)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
(549)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
Settlements, assets (407)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
(548)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
Balance at end of period, asset 6,814us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
9,860us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
Unrealized gains (losses) still held, assets (46)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
20us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
Investments | U.S. government-sponsored agency guaranteed    
Fair value, assets measured on recurring basis, level 3 fair-value category reconciliation    
Balance at beginning of period, asset 38us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= c_MortgageBackedSecuritiesIssuedByUSGovernmentCorporationsAndAgenciesMember
187us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= c_MortgageBackedSecuritiesIssuedByUSGovernmentCorporationsAndAgenciesMember
Net realized/unrealized gains (losses) included in principal transactions 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= c_MortgageBackedSecuritiesIssuedByUSGovernmentCorporationsAndAgenciesMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= c_MortgageBackedSecuritiesIssuedByUSGovernmentCorporationsAndAgenciesMember
Net realized/unrealized gains (losses) included in locations other than principal transactions, assets (1)c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= c_MortgageBackedSecuritiesIssuedByUSGovernmentCorporationsAndAgenciesMember
48c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= c_MortgageBackedSecuritiesIssuedByUSGovernmentCorporationsAndAgenciesMember
Transfers into Level 3 45us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= c_MortgageBackedSecuritiesIssuedByUSGovernmentCorporationsAndAgenciesMember
24us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= c_MortgageBackedSecuritiesIssuedByUSGovernmentCorporationsAndAgenciesMember
Transfers out of Level 3, assets (12)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= c_MortgageBackedSecuritiesIssuedByUSGovernmentCorporationsAndAgenciesMember
(37)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= c_MortgageBackedSecuritiesIssuedByUSGovernmentCorporationsAndAgenciesMember
Purchases, assets 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= c_MortgageBackedSecuritiesIssuedByUSGovernmentCorporationsAndAgenciesMember
17us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= c_MortgageBackedSecuritiesIssuedByUSGovernmentCorporationsAndAgenciesMember
Issuance, assets 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= c_MortgageBackedSecuritiesIssuedByUSGovernmentCorporationsAndAgenciesMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= c_MortgageBackedSecuritiesIssuedByUSGovernmentCorporationsAndAgenciesMember
Sales, assets 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= c_MortgageBackedSecuritiesIssuedByUSGovernmentCorporationsAndAgenciesMember
(39)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= c_MortgageBackedSecuritiesIssuedByUSGovernmentCorporationsAndAgenciesMember
Settlements, assets 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= c_MortgageBackedSecuritiesIssuedByUSGovernmentCorporationsAndAgenciesMember
(1)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= c_MortgageBackedSecuritiesIssuedByUSGovernmentCorporationsAndAgenciesMember
Balance at end of period, asset 70us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= c_MortgageBackedSecuritiesIssuedByUSGovernmentCorporationsAndAgenciesMember
199us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= c_MortgageBackedSecuritiesIssuedByUSGovernmentCorporationsAndAgenciesMember
Unrealized gains (losses) still held, assets (2)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= c_MortgageBackedSecuritiesIssuedByUSGovernmentCorporationsAndAgenciesMember
0us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= c_MortgageBackedSecuritiesIssuedByUSGovernmentCorporationsAndAgenciesMember
Investments | Mortgage-backed securities - Residential    
Fair value, assets measured on recurring basis, level 3 fair-value category reconciliation    
Balance at beginning of period, asset 8us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
102us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
Net realized/unrealized gains (losses) included in principal transactions 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
Net realized/unrealized gains (losses) included in locations other than principal transactions, assets 2c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
23c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
Transfers into Level 3 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
13us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
Transfers out of Level 3, assets 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
Purchases, assets 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
17us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
Issuance, assets 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
Sales, assets 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
(125)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
Settlements, assets 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
Balance at end of period, asset 10us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
30us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
Unrealized gains (losses) still held, assets 2us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
2us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
Investments | Mortgage-backed securities - Commercial    
Fair value, assets measured on recurring basis, level 3 fair-value category reconciliation    
Balance at beginning of period, asset 1us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
Net realized/unrealized gains (losses) included in principal transactions 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
Net realized/unrealized gains (losses) included in locations other than principal transactions, assets 0c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
0c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
Transfers into Level 3 2us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
1us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
Transfers out of Level 3, assets (1)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
Purchases, assets 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
Issuance, assets 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
Sales, assets 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
Settlements, assets 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
Balance at end of period, asset 2us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
1us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
Unrealized gains (losses) still held, assets 0us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
0us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
Investments | Mortgage-backed securities    
Fair value, assets measured on recurring basis, level 3 fair-value category reconciliation    
Balance at beginning of period, asset 47us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_MortgageBackedSecuritiesMember
289us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_MortgageBackedSecuritiesMember
Net realized/unrealized gains (losses) included in principal transactions 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_MortgageBackedSecuritiesMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_MortgageBackedSecuritiesMember
Net realized/unrealized gains (losses) included in locations other than principal transactions, assets 1c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_MortgageBackedSecuritiesMember
71c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_MortgageBackedSecuritiesMember
Transfers into Level 3 47us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_MortgageBackedSecuritiesMember
38us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_MortgageBackedSecuritiesMember
Transfers out of Level 3, assets (13)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_MortgageBackedSecuritiesMember
(37)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_MortgageBackedSecuritiesMember
Purchases, assets 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_MortgageBackedSecuritiesMember
34us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_MortgageBackedSecuritiesMember
Issuance, assets 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_MortgageBackedSecuritiesMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_MortgageBackedSecuritiesMember
Sales, assets 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_MortgageBackedSecuritiesMember
(164)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_MortgageBackedSecuritiesMember
Settlements, assets 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_MortgageBackedSecuritiesMember
(1)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_MortgageBackedSecuritiesMember
Balance at end of period, asset 82us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_MortgageBackedSecuritiesMember
230us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_MortgageBackedSecuritiesMember
Unrealized gains (losses) still held, assets 0us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_MortgageBackedSecuritiesMember
2us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_MortgageBackedSecuritiesMember
Investments | U.S. Treasury and federal agency securities    
Fair value, assets measured on recurring basis, level 3 fair-value category reconciliation    
Balance at beginning of period, asset 6us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_USTreasuryAndGovernmentMember
8us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_USTreasuryAndGovernmentMember
Net realized/unrealized gains (losses) included in principal transactions 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_USTreasuryAndGovernmentMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_USTreasuryAndGovernmentMember
Net realized/unrealized gains (losses) included in locations other than principal transactions, assets 0c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_USTreasuryAndGovernmentMember
0c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_USTreasuryAndGovernmentMember
Transfers into Level 3 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_USTreasuryAndGovernmentMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_USTreasuryAndGovernmentMember
Transfers out of Level 3, assets 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_USTreasuryAndGovernmentMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_USTreasuryAndGovernmentMember
Purchases, assets 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_USTreasuryAndGovernmentMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_USTreasuryAndGovernmentMember
Issuance, assets 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_USTreasuryAndGovernmentMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_USTreasuryAndGovernmentMember
Sales, assets (1)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_USTreasuryAndGovernmentMember
(1)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_USTreasuryAndGovernmentMember
Settlements, assets 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_USTreasuryAndGovernmentMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_USTreasuryAndGovernmentMember
Balance at end of period, asset 5us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_USTreasuryAndGovernmentMember
7us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_USTreasuryAndGovernmentMember
Unrealized gains (losses) still held, assets 0us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_USTreasuryAndGovernmentMember
0us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_USTreasuryAndGovernmentMember
Investments | State and municipal securities    
Fair value, assets measured on recurring basis, level 3 fair-value category reconciliation    
Balance at beginning of period, asset 2,180us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
1,643us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
Net realized/unrealized gains (losses) included in principal transactions 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
Net realized/unrealized gains (losses) included in locations other than principal transactions, assets 32c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
36c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
Transfers into Level 3 105us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
254us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
Transfers out of Level 3, assets (139)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
(285)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
Purchases, assets 233us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
373us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
Issuance, assets 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
Sales, assets (164)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
(118)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
Settlements, assets 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
Balance at end of period, asset 2,247us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
1,903us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
Unrealized gains (losses) still held, assets 13us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
26us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
Investments | Foreign government    
Fair value, assets measured on recurring basis, level 3 fair-value category reconciliation    
Balance at beginning of period, asset 678us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
344us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
Net realized/unrealized gains (losses) included in principal transactions 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
Net realized/unrealized gains (losses) included in locations other than principal transactions, assets 51c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
2c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
Transfers into Level 3 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
22us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
Transfers out of Level 3, assets (105)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
(42)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
Purchases, assets 174us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
49us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
Issuance, assets 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
Sales, assets (111)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
(78)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
Settlements, assets (112)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
(23)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
Balance at end of period, asset 575us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
274us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
Unrealized gains (losses) still held, assets (22)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
(4)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
Investments | Corporate    
Fair value, assets measured on recurring basis, level 3 fair-value category reconciliation    
Balance at beginning of period, asset 672us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_CorporateDebtSecuritiesMember
285us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_CorporateDebtSecuritiesMember
Net realized/unrealized gains (losses) included in principal transactions 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_CorporateDebtSecuritiesMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_CorporateDebtSecuritiesMember
Net realized/unrealized gains (losses) included in locations other than principal transactions, assets (26)c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_CorporateDebtSecuritiesMember
(1)c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_CorporateDebtSecuritiesMember
Transfers into Level 3 2us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_CorporateDebtSecuritiesMember
2us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_CorporateDebtSecuritiesMember
Transfers out of Level 3, assets (41)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_CorporateDebtSecuritiesMember
(1)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_CorporateDebtSecuritiesMember
Purchases, assets 14us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_CorporateDebtSecuritiesMember
247us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_CorporateDebtSecuritiesMember
Issuance, assets 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_CorporateDebtSecuritiesMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_CorporateDebtSecuritiesMember
Sales, assets (4)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_CorporateDebtSecuritiesMember
(1)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_CorporateDebtSecuritiesMember
Settlements, assets (33)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_CorporateDebtSecuritiesMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_CorporateDebtSecuritiesMember
Balance at end of period, asset 584us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_CorporateDebtSecuritiesMember
531us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_CorporateDebtSecuritiesMember
Unrealized gains (losses) still held, assets (20)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_CorporateDebtSecuritiesMember
(2)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_CorporateDebtSecuritiesMember
Investments | Equity securities    
Fair value, assets measured on recurring basis, level 3 fair-value category reconciliation    
Balance at beginning of period, asset 681us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_EquitySecuritiesMember
815us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_EquitySecuritiesMember
Net realized/unrealized gains (losses) included in principal transactions 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_EquitySecuritiesMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_EquitySecuritiesMember
Net realized/unrealized gains (losses) included in locations other than principal transactions, assets (88)c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_EquitySecuritiesMember
16c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_EquitySecuritiesMember
Transfers into Level 3 7us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_EquitySecuritiesMember
6us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_EquitySecuritiesMember
Transfers out of Level 3, assets (3)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_EquitySecuritiesMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_EquitySecuritiesMember
Purchases, assets 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_EquitySecuritiesMember
1us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_EquitySecuritiesMember
Issuance, assets 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_EquitySecuritiesMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_EquitySecuritiesMember
Sales, assets (78)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_EquitySecuritiesMember
(7)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_EquitySecuritiesMember
Settlements, assets 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_EquitySecuritiesMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_EquitySecuritiesMember
Balance at end of period, asset 519us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_EquitySecuritiesMember
831us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_EquitySecuritiesMember
Unrealized gains (losses) still held, assets (3)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_EquitySecuritiesMember
(4)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_EquitySecuritiesMember
Investments | Asset-backed securities    
Fair value, assets measured on recurring basis, level 3 fair-value category reconciliation    
Balance at beginning of period, asset 549us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_AssetBackedSecuritiesMember
1,960us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_AssetBackedSecuritiesMember
Net realized/unrealized gains (losses) included in principal transactions 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_AssetBackedSecuritiesMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_AssetBackedSecuritiesMember
Net realized/unrealized gains (losses) included in locations other than principal transactions, assets (40)c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_AssetBackedSecuritiesMember
8c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_AssetBackedSecuritiesMember
Transfers into Level 3 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_AssetBackedSecuritiesMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_AssetBackedSecuritiesMember
Transfers out of Level 3, assets (10)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_AssetBackedSecuritiesMember
(42)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_AssetBackedSecuritiesMember
Purchases, assets 19us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_AssetBackedSecuritiesMember
48us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_AssetBackedSecuritiesMember
Issuance, assets 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_AssetBackedSecuritiesMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_AssetBackedSecuritiesMember
Sales, assets (1)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_AssetBackedSecuritiesMember
(97)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_AssetBackedSecuritiesMember
Settlements, assets 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_AssetBackedSecuritiesMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_AssetBackedSecuritiesMember
Balance at end of period, asset 517us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_AssetBackedSecuritiesMember
1,877us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_AssetBackedSecuritiesMember
Unrealized gains (losses) still held, assets (39)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_AssetBackedSecuritiesMember
1us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_AssetBackedSecuritiesMember
Investments | Other debt securities    
Fair value, assets measured on recurring basis, level 3 fair-value category reconciliation    
Balance at beginning of period, asset 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_OtherDebtSecuritiesMember
50us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_OtherDebtSecuritiesMember
Net realized/unrealized gains (losses) included in principal transactions 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_OtherDebtSecuritiesMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_OtherDebtSecuritiesMember
Net realized/unrealized gains (losses) included in locations other than principal transactions, assets 0c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_OtherDebtSecuritiesMember
(1)c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_OtherDebtSecuritiesMember
Transfers into Level 3 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_OtherDebtSecuritiesMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_OtherDebtSecuritiesMember
Transfers out of Level 3, assets 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_OtherDebtSecuritiesMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_OtherDebtSecuritiesMember
Purchases, assets 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_OtherDebtSecuritiesMember
50us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_OtherDebtSecuritiesMember
Issuance, assets 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_OtherDebtSecuritiesMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_OtherDebtSecuritiesMember
Sales, assets 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_OtherDebtSecuritiesMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_OtherDebtSecuritiesMember
Settlements, assets 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_OtherDebtSecuritiesMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_OtherDebtSecuritiesMember
Balance at end of period, asset 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_OtherDebtSecuritiesMember
99us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_OtherDebtSecuritiesMember
Unrealized gains (losses) still held, assets 0us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_OtherDebtSecuritiesMember
0us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_OtherDebtSecuritiesMember
Investments | Non-marketable equity securities    
Fair value, assets measured on recurring basis, level 3 fair-value category reconciliation    
Balance at beginning of period, asset 2,525us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= c_NonMarketableEquitySecuritiesMember
4,347us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= c_NonMarketableEquitySecuritiesMember
Net realized/unrealized gains (losses) included in principal transactions 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= c_NonMarketableEquitySecuritiesMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= c_NonMarketableEquitySecuritiesMember
Net realized/unrealized gains (losses) included in locations other than principal transactions, assets 22c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= c_NonMarketableEquitySecuritiesMember
49c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= c_NonMarketableEquitySecuritiesMember
Transfers into Level 3 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= c_NonMarketableEquitySecuritiesMember
67us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= c_NonMarketableEquitySecuritiesMember
Transfers out of Level 3, assets (1)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= c_NonMarketableEquitySecuritiesMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= c_NonMarketableEquitySecuritiesMember
Purchases, assets 1us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= c_NonMarketableEquitySecuritiesMember
252us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= c_NonMarketableEquitySecuritiesMember
Issuance, assets 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= c_NonMarketableEquitySecuritiesMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= c_NonMarketableEquitySecuritiesMember
Sales, assets 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= c_NonMarketableEquitySecuritiesMember
(83)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= c_NonMarketableEquitySecuritiesMember
Settlements, assets (262)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= c_NonMarketableEquitySecuritiesMember
(524)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= c_NonMarketableEquitySecuritiesMember
Balance at end of period, asset 2,285us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= c_NonMarketableEquitySecuritiesMember
4,108us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= c_NonMarketableEquitySecuritiesMember
Unrealized gains (losses) still held, assets 25us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= c_NonMarketableEquitySecuritiesMember
1us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= c_NonMarketableEquitySecuritiesMember
Loans    
Fair value, assets measured on recurring basis, level 3 fair-value category reconciliation    
Balance at beginning of period, asset 3,108us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_LoansReceivableMember
4,143us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_LoansReceivableMember
Net realized/unrealized gains (losses) included in principal transactions 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_LoansReceivableMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_LoansReceivableMember
Net realized/unrealized gains (losses) included in locations other than principal transactions, assets (54)c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_LoansReceivableMember
(28)c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_LoansReceivableMember
Transfers into Level 3 689us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_LoansReceivableMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_LoansReceivableMember
Transfers out of Level 3, assets 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_LoansReceivableMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_LoansReceivableMember
Purchases, assets 209us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_LoansReceivableMember
153us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_LoansReceivableMember
Issuance, assets 321us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_LoansReceivableMember
50us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_LoansReceivableMember
Sales, assets (97)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_LoansReceivableMember
(79)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_LoansReceivableMember
Settlements, assets (270)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_LoansReceivableMember
(97)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_LoansReceivableMember
Balance at end of period, asset 3,906us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_LoansReceivableMember
4,142us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_LoansReceivableMember
Unrealized gains (losses) still held, assets (4)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_LoansReceivableMember
(108)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_LoansReceivableMember
Mortgage servicing rights    
Fair value, assets measured on recurring basis, level 3 fair-value category reconciliation    
Balance at beginning of period, asset 1,845us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ServicingContractsMember
2,718us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ServicingContractsMember
Net realized/unrealized gains (losses) included in principal transactions 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ServicingContractsMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ServicingContractsMember
Net realized/unrealized gains (losses) included in locations other than principal transactions, assets (77)c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ServicingContractsMember
(114)c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ServicingContractsMember
Transfers into Level 3 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ServicingContractsMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ServicingContractsMember
Transfers out of Level 3, assets 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ServicingContractsMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ServicingContractsMember
Purchases, assets 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ServicingContractsMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ServicingContractsMember
Issuance, assets 43us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ServicingContractsMember
50us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ServicingContractsMember
Sales, assets (32)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ServicingContractsMember
28us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ServicingContractsMember
Settlements, assets (94)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ServicingContractsMember
(96)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ServicingContractsMember
Balance at end of period, asset 1,685us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ServicingContractsMember
2,586us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ServicingContractsMember
Unrealized gains (losses) still held, assets (77)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ServicingContractsMember
(115)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ServicingContractsMember
Other financial assets measured on a recurring basis    
Fair value, assets measured on recurring basis, level 3 fair-value category reconciliation    
Balance at beginning of period, asset 78us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_OtherFinancialAssetsIncludingNonTradingDerivativesMember
181us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_OtherFinancialAssetsIncludingNonTradingDerivativesMember
Net realized/unrealized gains (losses) included in principal transactions 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= c_OtherFinancialAssetsIncludingNonTradingDerivativesMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= c_OtherFinancialAssetsIncludingNonTradingDerivativesMember
Net realized/unrealized gains (losses) included in locations other than principal transactions, assets 6c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= c_OtherFinancialAssetsIncludingNonTradingDerivativesMember
(2)c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= c_OtherFinancialAssetsIncludingNonTradingDerivativesMember
Transfers into Level 3 66us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_OtherFinancialAssetsIncludingNonTradingDerivativesMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_OtherFinancialAssetsIncludingNonTradingDerivativesMember
Transfers out of Level 3, assets (2)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_OtherFinancialAssetsIncludingNonTradingDerivativesMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_OtherFinancialAssetsIncludingNonTradingDerivativesMember
Purchases, assets 3us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= c_OtherFinancialAssetsIncludingNonTradingDerivativesMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= c_OtherFinancialAssetsIncludingNonTradingDerivativesMember
Issuance, assets 60us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues
/ us-gaap_FairValueByAssetClassAxis
= c_OtherFinancialAssetsIncludingNonTradingDerivativesMember
36us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues
/ us-gaap_FairValueByAssetClassAxis
= c_OtherFinancialAssetsIncludingNonTradingDerivativesMember
Sales, assets (5)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= c_OtherFinancialAssetsIncludingNonTradingDerivativesMember
(4)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= c_OtherFinancialAssetsIncludingNonTradingDerivativesMember
Settlements, assets (58)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= c_OtherFinancialAssetsIncludingNonTradingDerivativesMember
(32)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= c_OtherFinancialAssetsIncludingNonTradingDerivativesMember
Balance at end of period, asset 148us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_OtherFinancialAssetsIncludingNonTradingDerivativesMember
179us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_OtherFinancialAssetsIncludingNonTradingDerivativesMember
Unrealized gains (losses) still held, assets $ (33)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= c_OtherFinancialAssetsIncludingNonTradingDerivativesMember
$ (4)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= c_OtherFinancialAssetsIncludingNonTradingDerivativesMember