XML 130 R169.htm IDEA: XBRL DOCUMENT v2.4.1.9
FAIR VALUE MEASUREMENT - Level 3 Roll Forward (Details) (USD $)
In Millions, unless otherwise specified
12 Months Ended
Dec. 31, 2014
Dec. 31, 2013
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 $ (991)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
$ (2,380)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
Transfers into Level 3 (749)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationTransfersIntoLevel3
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
852us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationTransfersIntoLevel3
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
Transfers out of Level 3 461us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationTransfersOutOfLevel3
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
(676)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationTransfersOutOfLevel3
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
Purchases 710us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationPurchases
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
587us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationPurchases
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
Sales (503)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSales
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
(339)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSales
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
Settlements (440)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSettlements
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
484us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSettlements
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
Balance at end of period, asset (liability), net (2,661)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
(991)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
Unrealized gains (losses) still held (1,175)c_FairValueNetDerivativeAssetLiabilityMeasuredonRecurringBasisUnobservableInputsReconciliationChangeinUnrealizedGainLoss
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
(318)c_FairValueNetDerivativeAssetLiabilityMeasuredonRecurringBasisUnobservableInputsReconciliationChangeinUnrealizedGainLoss
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
Trading account assets and liabilities | Principal transactions    
Fair value, Derivative assets (liabilities) measured on recurring basis, level 3 fair-value category reconciliation    
Net realized/unrealized gains (losses) included in earnings (1,149)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationGainLossIncludedInEarnings
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_PrincipalOrProprietaryTransactionsMember
481us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationGainLossIncludedInEarnings
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_PrincipalOrProprietaryTransactionsMember
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 839us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
181us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
Transfers into Level 3 24us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationTransfersIntoLevel3
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
692us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationTransfersIntoLevel3
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
Transfers out of Level 3 (98)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationTransfersOutOfLevel3
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
(226)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationTransfersOutOfLevel3
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
Purchases 113us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationPurchases
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
228us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationPurchases
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
Sales (162)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSales
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
(155)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSales
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
Settlements (109)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSettlements
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
(173)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSettlements
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
Balance at end 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
Unrealized gains (losses) still held (414)c_FairValueNetDerivativeAssetLiabilityMeasuredonRecurringBasisUnobservableInputsReconciliationChangeinUnrealizedGainLoss
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
779c_FairValueNetDerivativeAssetLiabilityMeasuredonRecurringBasisUnobservableInputsReconciliationChangeinUnrealizedGainLoss
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
Trading account assets and liabilities | Interest rate contracts | Principal transactions    
Fair value, Derivative assets (liabilities) measured on recurring basis, level 3 fair-value category reconciliation    
Net realized/unrealized gains (losses) included in earnings (818)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationGainLossIncludedInEarnings
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_PrincipalOrProprietaryTransactionsMember
292us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationGainLossIncludedInEarnings
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_PrincipalOrProprietaryTransactionsMember
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 695us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
0us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
Transfers into Level 3 47us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationTransfersIntoLevel3
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
29us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationTransfersIntoLevel3
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
Transfers out of Level 3 (39)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationTransfersOutOfLevel3
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
(35)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationTransfersOutOfLevel3
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
Purchases 59us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationPurchases
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
26us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationPurchases
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
Sales (59)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSales
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
(10)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSales
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
Settlements (17)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSettlements
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
60us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSettlements
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
Balance at end 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
Unrealized gains (losses) still held 56c_FairValueNetDerivativeAssetLiabilityMeasuredonRecurringBasisUnobservableInputsReconciliationChangeinUnrealizedGainLoss
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
146c_FairValueNetDerivativeAssetLiabilityMeasuredonRecurringBasisUnobservableInputsReconciliationChangeinUnrealizedGainLoss
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
Trading account assets and liabilities | Foreign exchange contracts | Principal transactions    
Fair value, Derivative assets (liabilities) measured on recurring basis, level 3 fair-value category reconciliation    
Net realized/unrealized gains (losses) included in earnings 92us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationGainLossIncludedInEarnings
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_PrincipalOrProprietaryTransactionsMember
625us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationGainLossIncludedInEarnings
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_PrincipalOrProprietaryTransactionsMember
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 (858)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
(1,448)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
Transfers into Level 3 (916)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationTransfersIntoLevel3
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
25us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationTransfersIntoLevel3
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
Transfers out of Level 3 766us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationTransfersOutOfLevel3
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
295us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationTransfersOutOfLevel3
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
Purchases 435us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationPurchases
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
298us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationPurchases
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
Sales (279)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSales
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
(149)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSales
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
Settlements (493)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSettlements
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
25us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSettlements
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
Balance at end 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
Unrealized gains (losses) still held (274)c_FairValueNetDerivativeAssetLiabilityMeasuredonRecurringBasisUnobservableInputsReconciliationChangeinUnrealizedGainLoss
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
(453)c_FairValueNetDerivativeAssetLiabilityMeasuredonRecurringBasisUnobservableInputsReconciliationChangeinUnrealizedGainLoss
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
Trading account assets and liabilities | Equity contracts | Principal transactions    
Fair value, Derivative assets (liabilities) measured on recurring basis, level 3 fair-value category reconciliation    
Net realized/unrealized gains (losses) included in earnings 482us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationGainLossIncludedInEarnings
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_PrincipalOrProprietaryTransactionsMember
96us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationGainLossIncludedInEarnings
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_PrincipalOrProprietaryTransactionsMember
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,393)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
(771)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
Transfers into Level 3 92us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationTransfersIntoLevel3
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
0us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationTransfersIntoLevel3
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
Transfers out of Level 3 (12)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationTransfersOutOfLevel3
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
(527)us-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
15us-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
(25)us-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
79us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSettlements
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
Balance at end 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
Unrealized gains (losses) still held (174)c_FairValueNetDerivativeAssetLiabilityMeasuredonRecurringBasisUnobservableInputsReconciliationChangeinUnrealizedGainLoss
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
(246)c_FairValueNetDerivativeAssetLiabilityMeasuredonRecurringBasisUnobservableInputsReconciliationChangeinUnrealizedGainLoss
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
Trading account assets and liabilities | Commodity contracts | Principal transactions    
Fair value, Derivative assets (liabilities) measured on recurring basis, level 3 fair-value category reconciliation    
Net realized/unrealized gains (losses) included in earnings (338)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationGainLossIncludedInEarnings
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_PrincipalOrProprietaryTransactionsMember
(164)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationGainLossIncludedInEarnings
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_PrincipalOrProprietaryTransactionsMember
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 (274)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
(342)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
Transfers into Level 3 4us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationTransfersIntoLevel3
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
106us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationTransfersIntoLevel3
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
Transfers out of Level 3 (156)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationTransfersOutOfLevel3
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
(183)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationTransfersOutOfLevel3
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
Purchases 103us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationPurchases
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
20us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationPurchases
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
Sales (3)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSales
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
0us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSales
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
Settlements 150us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSettlements
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
493us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSettlements
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
Balance at end 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
Unrealized gains (losses) still held (369)c_FairValueNetDerivativeAssetLiabilityMeasuredonRecurringBasisUnobservableInputsReconciliationChangeinUnrealizedGainLoss
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
(544)c_FairValueNetDerivativeAssetLiabilityMeasuredonRecurringBasisUnobservableInputsReconciliationChangeinUnrealizedGainLoss
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
Trading account assets and liabilities | Credit derivatives | Principal transactions    
Fair value, Derivative assets (liabilities) measured on recurring basis, level 3 fair-value category reconciliation    
Net realized/unrealized gains (losses) included in earnings (567)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationGainLossIncludedInEarnings
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_PrincipalOrProprietaryTransactionsMember
(368)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationGainLossIncludedInEarnings
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
/ us-gaap_FinancialInstrumentAxis
= c_TradingAccountAssetsAndTradingLiabilitiesMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_PrincipalOrProprietaryTransactionsMember
Interest-bearing deposits    
Fair value, liabilities measured on recurring basis, level 3 fair-value category reconciliation    
Balance at beginning of period, liability 890us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_InterestBearingDepositsMember
786us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_InterestBearingDepositsMember
Transfers into Level 3, liabilities 5us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationLiabilityTransfersIntoLevel3
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_InterestBearingDepositsMember
32us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationLiabilityTransfersIntoLevel3
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_InterestBearingDepositsMember
Transfers out of Level 3, liabilities (12)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationLiabilityTransfersOutOfLevel3
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_InterestBearingDepositsMember
(21)us-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 127us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_InterestBearingDepositsMember
86us-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 (167)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_InterestBearingDepositsMember
(118)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_InterestBearingDepositsMember
Balance at end of period, liability 486us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_InterestBearingDepositsMember
890us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_InterestBearingDepositsMember
Unrealized gains (losses) still held, liabilities (69)us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_InterestBearingDepositsMember
(41)us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_InterestBearingDepositsMember
Interest-bearing deposits | Principal transactions    
Fair value, liabilities measured on recurring basis, level 3 fair-value category reconciliation    
Net realized/unrealized gains (losses) included in earnings, liabilities 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_InterestBearingDepositsMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_PrincipalOrProprietaryTransactionsMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_InterestBearingDepositsMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_PrincipalOrProprietaryTransactionsMember
Interest-bearing deposits | Other    
Fair value, liabilities measured on recurring basis, level 3 fair-value category reconciliation    
Net realized/unrealized gains (losses) included in locations other than principal transactions, liabilities 357c_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarningsOrOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_InterestBearingDepositsMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_OtherIncomeMember
(125)c_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarningsOrOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_InterestBearingDepositsMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_OtherIncomeMember
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 902us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_FederalFundsPurchasedAndSecuritiesSoldUnderAgreementsToRepurchaseMember
841us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_FederalFundsPurchasedAndSecuritiesSoldUnderAgreementsToRepurchaseMember
Transfers into Level 3, liabilities 54us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationLiabilityTransfersIntoLevel3
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_FederalFundsPurchasedAndSecuritiesSoldUnderAgreementsToRepurchaseMember
216us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationLiabilityTransfersIntoLevel3
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_FederalFundsPurchasedAndSecuritiesSoldUnderAgreementsToRepurchaseMember
Transfers out of Level 3, liabilities 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationLiabilityTransfersOutOfLevel3
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_FederalFundsPurchasedAndSecuritiesSoldUnderAgreementsToRepurchaseMember
(17)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationLiabilityTransfersOutOfLevel3
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_FederalFundsPurchasedAndSecuritiesSoldUnderAgreementsToRepurchaseMember
Purchases, liability 78us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySales
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_FederalFundsPurchasedAndSecuritiesSoldUnderAgreementsToRepurchaseMember
36us-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 220us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPurchases
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_FederalFundsPurchasedAndSecuritiesSoldUnderAgreementsToRepurchaseMember
40us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPurchases
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_FederalFundsPurchasedAndSecuritiesSoldUnderAgreementsToRepurchaseMember
Settlements, liability (217)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_FederalFundsPurchasedAndSecuritiesSoldUnderAgreementsToRepurchaseMember
(123)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_FederalFundsPurchasedAndSecuritiesSoldUnderAgreementsToRepurchaseMember
Balance at end of period, liability 1,043us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_FederalFundsPurchasedAndSecuritiesSoldUnderAgreementsToRepurchaseMember
902us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_FederalFundsPurchasedAndSecuritiesSoldUnderAgreementsToRepurchaseMember
Unrealized gains (losses) still held, liabilities (34)us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_FederalFundsPurchasedAndSecuritiesSoldUnderAgreementsToRepurchaseMember
50us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_FederalFundsPurchasedAndSecuritiesSoldUnderAgreementsToRepurchaseMember
Federal funds purchased and securities loaned or sold under agreements to repurchase | Principal transactions    
Fair value, liabilities measured on recurring basis, level 3 fair-value category reconciliation    
Net realized/unrealized gains (losses) included in earnings, liabilities (6)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_FederalFundsPurchasedAndSecuritiesSoldUnderAgreementsToRepurchaseMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_PrincipalOrProprietaryTransactionsMember
91us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_FederalFundsPurchasedAndSecuritiesSoldUnderAgreementsToRepurchaseMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_PrincipalOrProprietaryTransactionsMember
Federal funds purchased and securities loaned or sold under agreements to repurchase | Other    
Fair value, liabilities measured on recurring basis, level 3 fair-value category reconciliation    
Net realized/unrealized gains (losses) included in locations other than principal transactions, liabilities 0c_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarningsOrOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_FederalFundsPurchasedAndSecuritiesSoldUnderAgreementsToRepurchaseMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_OtherIncomeMember
0c_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarningsOrOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_FederalFundsPurchasedAndSecuritiesSoldUnderAgreementsToRepurchaseMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_OtherIncomeMember
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 590us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_TradingLiabilitiesMember
/ us-gaap_FinancialInstrumentAxis
= us-gaap_SecuritiesSoldNotYetPurchasedMember
365us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_TradingLiabilitiesMember
/ us-gaap_FinancialInstrumentAxis
= us-gaap_SecuritiesSoldNotYetPurchasedMember
Transfers into Level 3, liabilities 79us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationLiabilityTransfersIntoLevel3
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_TradingLiabilitiesMember
/ us-gaap_FinancialInstrumentAxis
= us-gaap_SecuritiesSoldNotYetPurchasedMember
89us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationLiabilityTransfersIntoLevel3
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_TradingLiabilitiesMember
/ us-gaap_FinancialInstrumentAxis
= us-gaap_SecuritiesSoldNotYetPurchasedMember
Transfers out of Level 3, liabilities (111)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationLiabilityTransfersOutOfLevel3
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_TradingLiabilitiesMember
/ us-gaap_FinancialInstrumentAxis
= us-gaap_SecuritiesSoldNotYetPurchasedMember
(52)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 534us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPurchases
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_TradingLiabilitiesMember
/ us-gaap_FinancialInstrumentAxis
= us-gaap_SecuritiesSoldNotYetPurchasedMember
612us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPurchases
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_TradingLiabilitiesMember
/ us-gaap_FinancialInstrumentAxis
= us-gaap_SecuritiesSoldNotYetPurchasedMember
Settlements, liability (749)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_TradingLiabilitiesMember
/ us-gaap_FinancialInstrumentAxis
= us-gaap_SecuritiesSoldNotYetPurchasedMember
(382)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_TradingLiabilitiesMember
/ us-gaap_FinancialInstrumentAxis
= us-gaap_SecuritiesSoldNotYetPurchasedMember
Balance at end 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
Unrealized gains (losses) still held, liabilities (58)us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_TradingLiabilitiesMember
/ us-gaap_FinancialInstrumentAxis
= us-gaap_SecuritiesSoldNotYetPurchasedMember
73us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_TradingLiabilitiesMember
/ us-gaap_FinancialInstrumentAxis
= us-gaap_SecuritiesSoldNotYetPurchasedMember
Trading account liabilities | Securities sold, not yet purchased | Principal transactions    
Fair value, liabilities measured on recurring basis, level 3 fair-value category reconciliation    
Net realized/unrealized gains (losses) included in earnings, liabilities (81)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_TradingLiabilitiesMember
/ us-gaap_FinancialInstrumentAxis
= us-gaap_SecuritiesSoldNotYetPurchasedMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_PrincipalOrProprietaryTransactionsMember
42us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_TradingLiabilitiesMember
/ us-gaap_FinancialInstrumentAxis
= us-gaap_SecuritiesSoldNotYetPurchasedMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_PrincipalOrProprietaryTransactionsMember
Trading account liabilities | Securities sold, not yet purchased | Other    
Fair value, liabilities measured on recurring basis, level 3 fair-value category reconciliation    
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
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_OtherIncomeMember
0c_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarningsOrOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_TradingLiabilitiesMember
/ us-gaap_FinancialInstrumentAxis
= us-gaap_SecuritiesSoldNotYetPurchasedMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_OtherIncomeMember
Short-term borrowings    
Fair value, liabilities measured on recurring basis, level 3 fair-value category reconciliation    
Balance at beginning of period, liability 29us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_ShortTermDebtMember
112us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_ShortTermDebtMember
Transfers into Level 3, liabilities 323us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationLiabilityTransfersIntoLevel3
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_ShortTermDebtMember
2us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationLiabilityTransfersIntoLevel3
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_ShortTermDebtMember
Transfers out of Level 3, liabilities (12)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationLiabilityTransfersOutOfLevel3
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_ShortTermDebtMember
(10)us-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 49us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_ShortTermDebtMember
316us-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 (76)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_ShortTermDebtMember
(338)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_ShortTermDebtMember
Balance at end of period, liability 344us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_ShortTermDebtMember
29us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_ShortTermDebtMember
Unrealized gains (losses) still held, liabilities (8)us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_ShortTermDebtMember
(5)us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_ShortTermDebtMember
Short-term borrowings | Principal transactions    
Fair value, liabilities measured on recurring basis, level 3 fair-value category reconciliation    
Net realized/unrealized gains (losses) included in earnings, liabilities (31)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_ShortTermDebtMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_PrincipalOrProprietaryTransactionsMember
53us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_ShortTermDebtMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_PrincipalOrProprietaryTransactionsMember
Short-term borrowings | Other    
Fair value, liabilities measured on recurring basis, level 3 fair-value category reconciliation    
Net realized/unrealized gains (losses) included in locations other than principal transactions, liabilities 0c_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarningsOrOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_ShortTermDebtMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_OtherIncomeMember
0c_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarningsOrOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_ShortTermDebtMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_OtherIncomeMember
Long-term debt    
Fair value, liabilities measured on recurring basis, level 3 fair-value category reconciliation    
Balance at beginning of period, liability 7,621us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_LongTermDebtMember
6,726us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_LongTermDebtMember
Transfers into Level 3, liabilities 2,701us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationLiabilityTransfersIntoLevel3
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_LongTermDebtMember
3,738us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationLiabilityTransfersIntoLevel3
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_LongTermDebtMember
Transfers out of Level 3, liabilities (4,206)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationLiabilityTransfersOutOfLevel3
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_LongTermDebtMember
(2,531)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 3,893us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_LongTermDebtMember
1,466us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_LongTermDebtMember
Sales, liability 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPurchases
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_LongTermDebtMember
(1)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPurchases
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_LongTermDebtMember
Settlements, liability (2,561)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_LongTermDebtMember
(1,332)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_LongTermDebtMember
Balance at end of period, liability 7,290us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_LongTermDebtMember
7,621us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_LongTermDebtMember
Unrealized gains (losses) still held, liabilities (446)us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_LongTermDebtMember
758us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_LongTermDebtMember
Long-term debt | Principal transactions    
Fair value, liabilities measured on recurring basis, level 3 fair-value category reconciliation    
Net realized/unrealized gains (losses) included in earnings, liabilities 109us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_LongTermDebtMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_PrincipalOrProprietaryTransactionsMember
292us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_LongTermDebtMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_PrincipalOrProprietaryTransactionsMember
Long-term debt | Other    
Fair value, liabilities measured on recurring basis, level 3 fair-value category reconciliation    
Net realized/unrealized gains (losses) included in locations other than principal transactions, liabilities 49c_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarningsOrOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_LongTermDebtMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_OtherIncomeMember
153c_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarningsOrOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_LongTermDebtMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_OtherIncomeMember
Long-term debt | Commodity contracts    
Fair value, liabilities measured on recurring basis, level 3 fair-value category reconciliation    
Transfers into Level 3, liabilities   1,300us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationLiabilityTransfersIntoLevel3
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
/ 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 10us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= c_OtherFinancialLiabilitiesIncludingNonTradingDerivativesMember
24us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= c_OtherFinancialLiabilitiesIncludingNonTradingDerivativesMember
Transfers into Level 3, liabilities 5us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationLiabilityTransfersIntoLevel3
/ us-gaap_FairValueByLiabilityClassAxis
= c_OtherFinancialLiabilitiesIncludingNonTradingDerivativesMember
5us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationLiabilityTransfersIntoLevel3
/ us-gaap_FairValueByLiabilityClassAxis
= c_OtherFinancialLiabilitiesIncludingNonTradingDerivativesMember
Transfers out of Level 3, liabilities (3)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationLiabilityTransfersOutOfLevel3
/ us-gaap_FairValueByLiabilityClassAxis
= c_OtherFinancialLiabilitiesIncludingNonTradingDerivativesMember
(2)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationLiabilityTransfersOutOfLevel3
/ us-gaap_FairValueByLiabilityClassAxis
= c_OtherFinancialLiabilitiesIncludingNonTradingDerivativesMember
Purchases, liability 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySales
/ us-gaap_FairValueByLiabilityClassAxis
= c_OtherFinancialLiabilitiesIncludingNonTradingDerivativesMember
(5)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySales
/ us-gaap_FairValueByLiabilityClassAxis
= c_OtherFinancialLiabilitiesIncludingNonTradingDerivativesMember
Issuance, liability 1us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues
/ us-gaap_FairValueByLiabilityClassAxis
= c_OtherFinancialLiabilitiesIncludingNonTradingDerivativesMember
104us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues
/ us-gaap_FairValueByLiabilityClassAxis
= c_OtherFinancialLiabilitiesIncludingNonTradingDerivativesMember
Sales, liability (3)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPurchases
/ us-gaap_FairValueByLiabilityClassAxis
= c_OtherFinancialLiabilitiesIncludingNonTradingDerivativesMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPurchases
/ us-gaap_FairValueByLiabilityClassAxis
= c_OtherFinancialLiabilitiesIncludingNonTradingDerivativesMember
Settlements, liability (8)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements
/ us-gaap_FairValueByLiabilityClassAxis
= c_OtherFinancialLiabilitiesIncludingNonTradingDerivativesMember
(331)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements
/ us-gaap_FairValueByLiabilityClassAxis
= c_OtherFinancialLiabilitiesIncludingNonTradingDerivativesMember
Balance at end of period, liability 7us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= c_OtherFinancialLiabilitiesIncludingNonTradingDerivativesMember
10us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= c_OtherFinancialLiabilitiesIncludingNonTradingDerivativesMember
Unrealized gains (losses) still held, liabilities (4)us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByLiabilityClassAxis
= c_OtherFinancialLiabilitiesIncludingNonTradingDerivativesMember
(9)us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByLiabilityClassAxis
= c_OtherFinancialLiabilitiesIncludingNonTradingDerivativesMember
Other financial liabilities | Principal transactions    
Fair value, liabilities measured on recurring basis, level 3 fair-value category reconciliation    
Net realized/unrealized gains (losses) included in earnings, liabilities 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings
/ us-gaap_FairValueByLiabilityClassAxis
= c_OtherFinancialLiabilitiesIncludingNonTradingDerivativesMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_PrincipalOrProprietaryTransactionsMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings
/ us-gaap_FairValueByLiabilityClassAxis
= c_OtherFinancialLiabilitiesIncludingNonTradingDerivativesMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_PrincipalOrProprietaryTransactionsMember
Other financial liabilities | Other    
Fair value, liabilities measured on recurring basis, level 3 fair-value category reconciliation    
Net realized/unrealized gains (losses) included in locations other than principal transactions, liabilities (5)c_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarningsOrOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByLiabilityClassAxis
= c_OtherFinancialLiabilitiesIncludingNonTradingDerivativesMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_OtherIncomeMember
(215)c_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarningsOrOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByLiabilityClassAxis
= c_OtherFinancialLiabilitiesIncludingNonTradingDerivativesMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_OtherIncomeMember
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,566us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_FederalFundsSoldAndSecuritiesBorrowedOrPurchasedUnderAgreementsToResellMember
5,043us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_FederalFundsSoldAndSecuritiesBorrowedOrPurchasedUnderAgreementsToResellMember
Transfers into Level 3 84us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_FederalFundsSoldAndSecuritiesBorrowedOrPurchasedUnderAgreementsToResellMember
627us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_FederalFundsSoldAndSecuritiesBorrowedOrPurchasedUnderAgreementsToResellMember
Transfers out of Level 3, assets (8)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_FederalFundsSoldAndSecuritiesBorrowedOrPurchasedUnderAgreementsToResellMember
(1,871)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_FederalFundsSoldAndSecuritiesBorrowedOrPurchasedUnderAgreementsToResellMember
Purchases, assets 75us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_FederalFundsSoldAndSecuritiesBorrowedOrPurchasedUnderAgreementsToResellMember
59us-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
71us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_FederalFundsSoldAndSecuritiesBorrowedOrPurchasedUnderAgreementsToResellMember
Settlements, assets (258)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_FederalFundsSoldAndSecuritiesBorrowedOrPurchasedUnderAgreementsToResellMember
(226)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_FederalFundsSoldAndSecuritiesBorrowedOrPurchasedUnderAgreementsToResellMember
Balance at end of period, asset 3,398us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_FederalFundsSoldAndSecuritiesBorrowedOrPurchasedUnderAgreementsToResellMember
3,566us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_FederalFundsSoldAndSecuritiesBorrowedOrPurchasedUnderAgreementsToResellMember
Unrealized gains (losses) still held, assets 133us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_FederalFundsSoldAndSecuritiesBorrowedOrPurchasedUnderAgreementsToResellMember
(124)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_FederalFundsSoldAndSecuritiesBorrowedOrPurchasedUnderAgreementsToResellMember
Federal funds sold and securities borrowed or purchased under agreements to resell | Principal transactions    
Fair value, assets measured on recurring basis, level 3 fair-value category reconciliation    
Net realized/unrealized gains (losses) included in principal transactions (61)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_FederalFundsSoldAndSecuritiesBorrowedOrPurchasedUnderAgreementsToResellMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_PrincipalOrProprietaryTransactionsMember
(137)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_FederalFundsSoldAndSecuritiesBorrowedOrPurchasedUnderAgreementsToResellMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_PrincipalOrProprietaryTransactionsMember
Federal funds sold and securities borrowed or purchased under agreements to resell | Other    
Fair value, assets measured on recurring basis, level 3 fair-value category reconciliation    
Net realized/unrealized gains (losses) included in locations other than principal transactions, assets 0c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_FederalFundsSoldAndSecuritiesBorrowedOrPurchasedUnderAgreementsToResellMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_OtherIncomeMember
0c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_FederalFundsSoldAndSecuritiesBorrowedOrPurchasedUnderAgreementsToResellMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_OtherIncomeMember
Trading non-derivative assets    
Fair value, assets measured on recurring basis, level 3 fair-value category reconciliation    
Balance at beginning of period, asset 15,260us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
13,823us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
Transfers into Level 3 5,165us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
4,175us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
Transfers out of Level 3, assets (5,535)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
(4,625)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
Purchases, assets 17,516us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
18,360us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
Issuance, assets 26us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
68us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
Sales, assets (18,292)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
(16,276)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
Settlements, assets (436)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
(1,864)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
Balance at end of period, asset 15,357us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
15,260us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
Unrealized gains (losses) still held, assets 374us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
(135)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
Trading non-derivative assets | Principal transactions    
Fair value, assets measured on recurring basis, level 3 fair-value category reconciliation    
Net realized/unrealized gains (losses) included in principal transactions 1,653us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_PrincipalOrProprietaryTransactionsMember
1,599us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_PrincipalOrProprietaryTransactionsMember
Trading non-derivative assets | Other    
Fair value, assets measured on recurring basis, level 3 fair-value category reconciliation    
Net realized/unrealized gains (losses) included in locations other than principal transactions, assets 0c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_OtherIncomeMember
0c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_OtherIncomeMember
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,094us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= c_MortgageBackedSecuritiesIssuedByUSGovernmentCorporationsAndAgenciesMember
1,325us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= c_MortgageBackedSecuritiesIssuedByUSGovernmentCorporationsAndAgenciesMember
Transfers into Level 3 854us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= c_MortgageBackedSecuritiesIssuedByUSGovernmentCorporationsAndAgenciesMember
1,386us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= c_MortgageBackedSecuritiesIssuedByUSGovernmentCorporationsAndAgenciesMember
Transfers out of Level 3, assets (966)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= c_MortgageBackedSecuritiesIssuedByUSGovernmentCorporationsAndAgenciesMember
(1,477)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= c_MortgageBackedSecuritiesIssuedByUSGovernmentCorporationsAndAgenciesMember
Purchases, assets 714us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= c_MortgageBackedSecuritiesIssuedByUSGovernmentCorporationsAndAgenciesMember
1,316us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= c_MortgageBackedSecuritiesIssuedByUSGovernmentCorporationsAndAgenciesMember
Issuance, assets 26us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= c_MortgageBackedSecuritiesIssuedByUSGovernmentCorporationsAndAgenciesMember
68us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= c_MortgageBackedSecuritiesIssuedByUSGovernmentCorporationsAndAgenciesMember
Sales, assets (695)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= c_MortgageBackedSecuritiesIssuedByUSGovernmentCorporationsAndAgenciesMember
(1,310)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= c_MortgageBackedSecuritiesIssuedByUSGovernmentCorporationsAndAgenciesMember
Settlements, assets (59)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= c_MortgageBackedSecuritiesIssuedByUSGovernmentCorporationsAndAgenciesMember
(355)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= c_MortgageBackedSecuritiesIssuedByUSGovernmentCorporationsAndAgenciesMember
Balance at end 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
Unrealized gains (losses) still held, assets 8us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= c_MortgageBackedSecuritiesIssuedByUSGovernmentCorporationsAndAgenciesMember
52us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= c_MortgageBackedSecuritiesIssuedByUSGovernmentCorporationsAndAgenciesMember
Trading non-derivative assets | U.S. government-sponsored agency guaranteed | Principal transactions    
Fair value, assets measured on recurring basis, level 3 fair-value category reconciliation    
Net realized/unrealized gains (losses) included in principal transactions 117us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_PrincipalOrProprietaryTransactionsMember
/ invest_InvestmentAxis
= c_MortgageBackedSecuritiesIssuedByUSGovernmentCorporationsAndAgenciesMember
141us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_PrincipalOrProprietaryTransactionsMember
/ invest_InvestmentAxis
= c_MortgageBackedSecuritiesIssuedByUSGovernmentCorporationsAndAgenciesMember
Trading non-derivative assets | U.S. government-sponsored agency guaranteed | Other    
Fair value, assets measured on recurring basis, level 3 fair-value category reconciliation    
Net realized/unrealized gains (losses) included in locations other than principal transactions, assets 0c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_OtherIncomeMember
/ invest_InvestmentAxis
= c_MortgageBackedSecuritiesIssuedByUSGovernmentCorporationsAndAgenciesMember
0c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_OtherIncomeMember
/ 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,854us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
1,805us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
Transfers into Level 3 442us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
513us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
Transfers out of Level 3, assets (514)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
(372)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
Purchases, assets 2,582us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
3,630us-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 (3,141)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
(3,189)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
(7)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
Balance at end 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
Unrealized gains (losses) still held, assets 132us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
10us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
Trading non-derivative assets | Mortgage-backed securities - Residential | Principal transactions    
Fair value, assets measured on recurring basis, level 3 fair-value category reconciliation    
Net realized/unrealized gains (losses) included in principal transactions 457us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_PrincipalOrProprietaryTransactionsMember
/ invest_InvestmentAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
474us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_PrincipalOrProprietaryTransactionsMember
/ invest_InvestmentAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
Trading non-derivative assets | Mortgage-backed securities - Residential | Other    
Fair value, assets measured on recurring basis, level 3 fair-value category reconciliation    
Net realized/unrealized gains (losses) included in locations other than principal transactions, assets 0c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_OtherIncomeMember
/ invest_InvestmentAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
0c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_OtherIncomeMember
/ 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 256us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
1,119us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
Transfers into Level 3 187us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
278us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
Transfers out of Level 3, assets (376)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
(304)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
Purchases, assets 758us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
244us-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 (402)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
(1,178)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
(17)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
Balance at end 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
Unrealized gains (losses) still held, assets (4)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
14us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
Trading non-derivative assets | Mortgage-backed securities - Commercial | Principal transactions    
Fair value, assets measured on recurring basis, level 3 fair-value category reconciliation    
Net realized/unrealized gains (losses) included in principal transactions 17us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_PrincipalOrProprietaryTransactionsMember
/ invest_InvestmentAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
114us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_PrincipalOrProprietaryTransactionsMember
/ invest_InvestmentAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
Trading non-derivative assets | Mortgage-backed securities - Commercial | Other    
Fair value, assets measured on recurring basis, level 3 fair-value category reconciliation    
Net realized/unrealized gains (losses) included in locations other than principal transactions, assets 0c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_OtherIncomeMember
/ invest_InvestmentAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
0c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_OtherIncomeMember
/ 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,204us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_MortgageBackedSecuritiesMember
4,249us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_MortgageBackedSecuritiesMember
Transfers into Level 3 1,483us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_MortgageBackedSecuritiesMember
2,177us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_MortgageBackedSecuritiesMember
Transfers out of Level 3, assets (1,856)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_MortgageBackedSecuritiesMember
(2,153)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_MortgageBackedSecuritiesMember
Purchases, assets 4,054us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_MortgageBackedSecuritiesMember
5,190us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_MortgageBackedSecuritiesMember
Issuance, assets 26us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_MortgageBackedSecuritiesMember
68us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_MortgageBackedSecuritiesMember
Sales, assets (4,238)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_MortgageBackedSecuritiesMember
(5,677)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_MortgageBackedSecuritiesMember
Settlements, assets (59)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_MortgageBackedSecuritiesMember
(379)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_MortgageBackedSecuritiesMember
Balance at end 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
Unrealized gains (losses) still held, assets 136us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_MortgageBackedSecuritiesMember
76us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_MortgageBackedSecuritiesMember
Trading non-derivative assets | Mortgage-backed securities | Principal transactions    
Fair value, assets measured on recurring basis, level 3 fair-value category reconciliation    
Net realized/unrealized gains (losses) included in principal transactions 591us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_PrincipalOrProprietaryTransactionsMember
/ invest_InvestmentAxis
= us-gaap_MortgageBackedSecuritiesMember
729us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_PrincipalOrProprietaryTransactionsMember
/ invest_InvestmentAxis
= us-gaap_MortgageBackedSecuritiesMember
Trading non-derivative assets | Mortgage-backed securities | Other    
Fair value, assets measured on recurring basis, level 3 fair-value category reconciliation    
Net realized/unrealized gains (losses) included in locations other than principal transactions, assets 0c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_OtherIncomeMember
/ invest_InvestmentAxis
= us-gaap_MortgageBackedSecuritiesMember
0c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_OtherIncomeMember
/ 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
Transfers into Level 3 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_USTreasuryAndGovernmentMember
54us-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 7us-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 (10)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_USTreasuryAndGovernmentMember
(53)us-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 | U.S. Treasury and federal agency securities | Principal transactions    
Fair value, assets measured on recurring basis, level 3 fair-value category reconciliation    
Net realized/unrealized gains (losses) included in principal transactions 3us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_PrincipalOrProprietaryTransactionsMember
/ invest_InvestmentAxis
= us-gaap_USTreasuryAndGovernmentMember
(1)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_PrincipalOrProprietaryTransactionsMember
/ invest_InvestmentAxis
= us-gaap_USTreasuryAndGovernmentMember
Trading non-derivative assets | U.S. Treasury and federal agency securities | Other    
Fair value, assets measured on recurring basis, level 3 fair-value category reconciliation    
Net realized/unrealized gains (losses) included in locations other than principal transactions, assets 0c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_OtherIncomeMember
/ 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 222us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
195us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
Transfers into Level 3 150us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
9us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
Transfers out of Level 3, assets (105)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
Purchases, assets 34us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
107us-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 (70)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
(126)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 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
Unrealized gains (losses) still held, assets 1us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
15us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
Trading non-derivative assets | State and municipal securities | Principal transactions    
Fair value, assets measured on recurring basis, level 3 fair-value category reconciliation    
Net realized/unrealized gains (losses) included in principal transactions 10us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_PrincipalOrProprietaryTransactionsMember
/ invest_InvestmentAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
37us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_PrincipalOrProprietaryTransactionsMember
/ invest_InvestmentAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
Trading non-derivative assets | State and municipal securities | Other    
Fair value, assets measured on recurring basis, level 3 fair-value category reconciliation    
Net realized/unrealized gains (losses) included in locations other than principal transactions, assets 0c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_OtherIncomeMember
/ invest_InvestmentAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
0c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_OtherIncomeMember
/ 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 416us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
311us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
Transfers into Level 3 130us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
156us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
Transfers out of Level 3, assets (253)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
(67)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
Purchases, assets 676us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
326us-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 (707)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
(289)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
Settlements, assets 0us-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 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
Unrealized gains (losses) still held, assets 5us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
5us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
Trading non-derivative assets | Foreign government | Principal transactions    
Fair value, assets measured on recurring basis, level 3 fair-value category reconciliation    
Net realized/unrealized gains (losses) included in principal transactions (56)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_PrincipalOrProprietaryTransactionsMember
/ invest_InvestmentAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
(21)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_PrincipalOrProprietaryTransactionsMember
/ invest_InvestmentAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
Trading non-derivative assets | Foreign government | Other    
Fair value, assets measured on recurring basis, level 3 fair-value category reconciliation    
Net realized/unrealized gains (losses) included in locations other than principal transactions, assets 0c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_OtherIncomeMember
/ invest_InvestmentAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
0c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_OtherIncomeMember
/ 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 1,835us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_CorporateDebtSecuritiesMember
2,030us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_CorporateDebtSecuritiesMember
Transfers into Level 3 465us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_CorporateDebtSecuritiesMember
410us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_CorporateDebtSecuritiesMember
Transfers out of Level 3, assets (502)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_CorporateDebtSecuritiesMember
(410)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_CorporateDebtSecuritiesMember
Purchases, assets 1,988us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_CorporateDebtSecuritiesMember
2,864us-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 (2,839)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_CorporateDebtSecuritiesMember
(2,116)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
(923)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_CorporateDebtSecuritiesMember
Balance at end 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
Unrealized gains (losses) still held, assets (139)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_CorporateDebtSecuritiesMember
(406)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_CorporateDebtSecuritiesMember
Trading non-derivative assets | Corporate | Principal transactions    
Fair value, assets measured on recurring basis, level 3 fair-value category reconciliation    
Net realized/unrealized gains (losses) included in principal transactions (127)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_PrincipalOrProprietaryTransactionsMember
/ invest_InvestmentAxis
= us-gaap_CorporateDebtSecuritiesMember
(20)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_PrincipalOrProprietaryTransactionsMember
/ invest_InvestmentAxis
= us-gaap_CorporateDebtSecuritiesMember
Trading non-derivative assets | Corporate | Other    
Fair value, assets measured on recurring basis, level 3 fair-value category reconciliation    
Net realized/unrealized gains (losses) included in locations other than principal transactions, assets 0c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_OtherIncomeMember
/ invest_InvestmentAxis
= us-gaap_CorporateDebtSecuritiesMember
0c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_OtherIncomeMember
/ 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 1,057us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_EquitySecuritiesMember
264us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_EquitySecuritiesMember
Transfers into Level 3 142us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_EquitySecuritiesMember
228us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_EquitySecuritiesMember
Transfers out of Level 3, assets (209)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_EquitySecuritiesMember
(210)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_EquitySecuritiesMember
Purchases, assets 1,437us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_EquitySecuritiesMember
829us-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 (295)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_EquitySecuritiesMember
(183)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,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
Unrealized gains (losses) still held, assets 337us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_EquitySecuritiesMember
59us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_EquitySecuritiesMember
Trading non-derivative assets | Equity securities | Principal transactions    
Fair value, assets measured on recurring basis, level 3 fair-value category reconciliation    
Net realized/unrealized gains (losses) included in principal transactions 87us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_PrincipalOrProprietaryTransactionsMember
/ invest_InvestmentAxis
= us-gaap_EquitySecuritiesMember
129us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_PrincipalOrProprietaryTransactionsMember
/ invest_InvestmentAxis
= us-gaap_EquitySecuritiesMember
Trading non-derivative assets | Equity securities | Other    
Fair value, assets measured on recurring basis, level 3 fair-value category reconciliation    
Net realized/unrealized gains (losses) included in locations other than principal transactions, assets 0c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_OtherIncomeMember
/ invest_InvestmentAxis
= us-gaap_EquitySecuritiesMember
0c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_OtherIncomeMember
/ 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 4,342us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_AssetBackedSecuritiesMember
4,453us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_AssetBackedSecuritiesMember
Transfers into Level 3 158us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_AssetBackedSecuritiesMember
181us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_AssetBackedSecuritiesMember
Transfers out of Level 3, assets (332)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_AssetBackedSecuritiesMember
(193)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_AssetBackedSecuritiesMember
Purchases, assets 3,893us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_AssetBackedSecuritiesMember
5,165us-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 (5,643)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_AssetBackedSecuritiesMember
(5,579)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
(229)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_AssetBackedSecuritiesMember
Balance at end 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
Unrealized gains (losses) still held, assets 3us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_AssetBackedSecuritiesMember
123us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_AssetBackedSecuritiesMember
Trading non-derivative assets | Asset-backed securities | Principal transactions    
Fair value, assets measured on recurring basis, level 3 fair-value category reconciliation    
Net realized/unrealized gains (losses) included in principal transactions 876us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_PrincipalOrProprietaryTransactionsMember
/ invest_InvestmentAxis
= us-gaap_AssetBackedSecuritiesMember
544us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_PrincipalOrProprietaryTransactionsMember
/ invest_InvestmentAxis
= us-gaap_AssetBackedSecuritiesMember
Trading non-derivative assets | Asset-backed securities | Other    
Fair value, assets measured on recurring basis, level 3 fair-value category reconciliation    
Net realized/unrealized gains (losses) included in locations other than principal transactions, assets 0c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_OtherIncomeMember
/ invest_InvestmentAxis
= us-gaap_AssetBackedSecuritiesMember
0c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_OtherIncomeMember
/ 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 3,184us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_OtherDebtSecuritiesMember
2,321us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_OtherDebtSecuritiesMember
Transfers into Level 3 2,637us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_OtherDebtSecuritiesMember
960us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_OtherDebtSecuritiesMember
Transfers out of Level 3, assets (2,278)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_OtherDebtSecuritiesMember
(1,592)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_OtherDebtSecuritiesMember
Purchases, assets 5,427us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_OtherDebtSecuritiesMember
3,879us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_OtherDebtSecuritiesMember
Issuance, assets 0us-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 (4,490)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_OtherDebtSecuritiesMember
(2,253)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_OtherDebtSecuritiesMember
Settlements, assets (377)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_OtherDebtSecuritiesMember
(333)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_OtherDebtSecuritiesMember
Balance at end 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
Unrealized gains (losses) still held, assets 31us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_OtherDebtSecuritiesMember
(7)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ invest_InvestmentAxis
= us-gaap_OtherDebtSecuritiesMember
Trading non-derivative assets | Other debt securities | Principal transactions    
Fair value, assets measured on recurring basis, level 3 fair-value category reconciliation    
Net realized/unrealized gains (losses) included in principal transactions 269us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_PrincipalOrProprietaryTransactionsMember
/ invest_InvestmentAxis
= us-gaap_OtherDebtSecuritiesMember
202us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_PrincipalOrProprietaryTransactionsMember
/ invest_InvestmentAxis
= us-gaap_OtherDebtSecuritiesMember
Trading non-derivative assets | Other debt securities | Other    
Fair value, assets measured on recurring basis, level 3 fair-value category reconciliation    
Net realized/unrealized gains (losses) included in locations other than principal transactions, assets 0c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_OtherIncomeMember
/ invest_InvestmentAxis
= us-gaap_OtherDebtSecuritiesMember
0c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_OtherIncomeMember
/ 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 9,741us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
11,907us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
Transfers into Level 3 1,304us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
3,857us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
Transfers out of Level 3, assets (1,110)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
(6,493)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
Purchases, assets 3,474us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
4,847us-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 (2,857)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
(1,858)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
Settlements, assets (3,441)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
(2,949)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
Balance at end of period, asset 7,338us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
9,741us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
Unrealized gains (losses) still held, assets 5us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
203us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
Investments | Principal transactions    
Fair value, assets measured on recurring basis, level 3 fair-value category reconciliation    
Net realized/unrealized gains (losses) included in principal transactions 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_PrincipalOrProprietaryTransactionsMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_PrincipalOrProprietaryTransactionsMember
Investments | Other    
Fair value, assets measured on recurring basis, level 3 fair-value category reconciliation    
Net realized/unrealized gains (losses) included in locations other than principal transactions, assets 227c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_OtherIncomeMember
430c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_OtherIncomeMember
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 187us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= c_MortgageBackedSecuritiesIssuedByUSGovernmentCorporationsAndAgenciesMember
1,458us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= c_MortgageBackedSecuritiesIssuedByUSGovernmentCorporationsAndAgenciesMember
Transfers into Level 3 60us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= c_MortgageBackedSecuritiesIssuedByUSGovernmentCorporationsAndAgenciesMember
2,058us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= c_MortgageBackedSecuritiesIssuedByUSGovernmentCorporationsAndAgenciesMember
Transfers out of Level 3, assets (203)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= c_MortgageBackedSecuritiesIssuedByUSGovernmentCorporationsAndAgenciesMember
(3,820)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= c_MortgageBackedSecuritiesIssuedByUSGovernmentCorporationsAndAgenciesMember
Purchases, assets 17us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= c_MortgageBackedSecuritiesIssuedByUSGovernmentCorporationsAndAgenciesMember
593us-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 (73)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= c_MortgageBackedSecuritiesIssuedByUSGovernmentCorporationsAndAgenciesMember
(38)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= c_MortgageBackedSecuritiesIssuedByUSGovernmentCorporationsAndAgenciesMember
Settlements, assets (2)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= c_MortgageBackedSecuritiesIssuedByUSGovernmentCorporationsAndAgenciesMember
(57)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= c_MortgageBackedSecuritiesIssuedByUSGovernmentCorporationsAndAgenciesMember
Balance at end 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
Unrealized gains (losses) still held, assets (8)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= c_MortgageBackedSecuritiesIssuedByUSGovernmentCorporationsAndAgenciesMember
11us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= c_MortgageBackedSecuritiesIssuedByUSGovernmentCorporationsAndAgenciesMember
Investments | U.S. government-sponsored agency guaranteed | Principal transactions    
Fair value, assets measured on recurring basis, level 3 fair-value category reconciliation    
Net realized/unrealized gains (losses) included in principal transactions 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_PrincipalOrProprietaryTransactionsMember
/ invest_InvestmentAxis
= c_MortgageBackedSecuritiesIssuedByUSGovernmentCorporationsAndAgenciesMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_PrincipalOrProprietaryTransactionsMember
/ invest_InvestmentAxis
= c_MortgageBackedSecuritiesIssuedByUSGovernmentCorporationsAndAgenciesMember
Investments | U.S. government-sponsored agency guaranteed | Other    
Fair value, assets measured on recurring basis, level 3 fair-value category reconciliation    
Net realized/unrealized gains (losses) included in locations other than principal transactions, assets 52c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_OtherIncomeMember
/ invest_InvestmentAxis
= c_MortgageBackedSecuritiesIssuedByUSGovernmentCorporationsAndAgenciesMember
(7)c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_OtherIncomeMember
/ 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 102us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
205us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
Transfers into Level 3 31us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
60us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
Transfers out of Level 3, assets (2)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
(265)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
Purchases, assets 17us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
212us-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 (173)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
(140)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 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
Unrealized gains (losses) still held, assets 0us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
7us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
Investments | Mortgage-backed securities - Residential | Principal transactions    
Fair value, assets measured on recurring basis, level 3 fair-value category reconciliation    
Net realized/unrealized gains (losses) included in principal transactions 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_PrincipalOrProprietaryTransactionsMember
/ invest_InvestmentAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_PrincipalOrProprietaryTransactionsMember
/ invest_InvestmentAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
Investments | Mortgage-backed securities - Residential | Other    
Fair value, assets measured on recurring basis, level 3 fair-value category reconciliation    
Net realized/unrealized gains (losses) included in locations other than principal transactions, assets 33c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_OtherIncomeMember
/ invest_InvestmentAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
30c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_OtherIncomeMember
/ 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 0us-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
Transfers into Level 3 4us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
4us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
Transfers out of Level 3, assets (7)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
(21)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
Purchases, assets 10us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
17us-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 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
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 - Commercial | Principal transactions    
Fair value, assets measured on recurring basis, level 3 fair-value category reconciliation    
Net realized/unrealized gains (losses) included in principal transactions 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_PrincipalOrProprietaryTransactionsMember
/ invest_InvestmentAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_PrincipalOrProprietaryTransactionsMember
/ invest_InvestmentAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
Investments | Mortgage-backed securities - Commercial | Other    
Fair value, assets measured on recurring basis, level 3 fair-value category reconciliation    
Net realized/unrealized gains (losses) included in locations other than principal transactions, assets (6)c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_OtherIncomeMember
/ invest_InvestmentAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
0c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_OtherIncomeMember
/ 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 289us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_MortgageBackedSecuritiesMember
1,663us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_MortgageBackedSecuritiesMember
Transfers into Level 3 95us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_MortgageBackedSecuritiesMember
2,122us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_MortgageBackedSecuritiesMember
Transfers out of Level 3, assets (212)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_MortgageBackedSecuritiesMember
(4,106)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_MortgageBackedSecuritiesMember
Purchases, assets 44us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_MortgageBackedSecuritiesMember
822us-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 (246)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_MortgageBackedSecuritiesMember
(178)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_MortgageBackedSecuritiesMember
Settlements, assets (2)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_MortgageBackedSecuritiesMember
(57)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_MortgageBackedSecuritiesMember
Balance at end 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
Unrealized gains (losses) still held, assets (8)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_MortgageBackedSecuritiesMember
18us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_MortgageBackedSecuritiesMember
Investments | Mortgage-backed securities | Principal transactions    
Fair value, assets measured on recurring basis, level 3 fair-value category reconciliation    
Net realized/unrealized gains (losses) included in principal transactions 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_PrincipalOrProprietaryTransactionsMember
/ invest_InvestmentAxis
= us-gaap_MortgageBackedSecuritiesMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_PrincipalOrProprietaryTransactionsMember
/ invest_InvestmentAxis
= us-gaap_MortgageBackedSecuritiesMember
Investments | Mortgage-backed securities | Other    
Fair value, assets measured on recurring basis, level 3 fair-value category reconciliation    
Net realized/unrealized gains (losses) included in locations other than principal transactions, assets 79c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_OtherIncomeMember
/ invest_InvestmentAxis
= us-gaap_MortgageBackedSecuritiesMember
23c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_OtherIncomeMember
/ 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 8us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_USTreasuryAndGovernmentMember
12us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ 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 (2)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_USTreasuryAndGovernmentMember
(4)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 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
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 | U.S. Treasury and federal agency securities | Principal transactions    
Fair value, assets measured on recurring basis, level 3 fair-value category reconciliation    
Net realized/unrealized gains (losses) included in principal transactions 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_PrincipalOrProprietaryTransactionsMember
/ invest_InvestmentAxis
= us-gaap_USTreasuryAndGovernmentMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_PrincipalOrProprietaryTransactionsMember
/ invest_InvestmentAxis
= us-gaap_USTreasuryAndGovernmentMember
Investments | U.S. Treasury and federal agency securities | Other    
Fair value, assets measured on recurring basis, level 3 fair-value category reconciliation    
Net realized/unrealized gains (losses) included in locations other than principal transactions, assets 0c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_OtherIncomeMember
/ invest_InvestmentAxis
= us-gaap_USTreasuryAndGovernmentMember
0c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_OtherIncomeMember
/ 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 1,643us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
849us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
Transfers into Level 3 811us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
12us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
Transfers out of Level 3, assets (584)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
(122)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
Purchases, assets 923us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
1,236us-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 (549)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
(217)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
(125)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
Balance at end 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
Unrealized gains (losses) still held, assets 49us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
(75)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
Investments | State and municipal securities | Principal transactions    
Fair value, assets measured on recurring basis, level 3 fair-value category reconciliation    
Net realized/unrealized gains (losses) included in principal transactions 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_PrincipalOrProprietaryTransactionsMember
/ invest_InvestmentAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_PrincipalOrProprietaryTransactionsMember
/ invest_InvestmentAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
Investments | State and municipal securities | Other    
Fair value, assets measured on recurring basis, level 3 fair-value category reconciliation    
Net realized/unrealized gains (losses) included in locations other than principal transactions, assets (64)c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_OtherIncomeMember
/ invest_InvestmentAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
10c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_OtherIncomeMember
/ 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 344us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
383us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
Transfers into Level 3 286us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
178us-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
(256)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
Purchases, assets 851us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
506us-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 (490)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
(391)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
Settlements, assets (181)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
(78)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
Balance at end 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
Unrealized gains (losses) still held, assets (17)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
(28)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
Investments | Foreign government | Principal transactions    
Fair value, assets measured on recurring basis, level 3 fair-value category reconciliation    
Net realized/unrealized gains (losses) included in principal transactions 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_PrincipalOrProprietaryTransactionsMember
/ invest_InvestmentAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_PrincipalOrProprietaryTransactionsMember
/ invest_InvestmentAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
Investments | Foreign government | Other    
Fair value, assets measured on recurring basis, level 3 fair-value category reconciliation    
Net realized/unrealized gains (losses) included in locations other than principal transactions, assets (27)c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_OtherIncomeMember
/ invest_InvestmentAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
2c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_OtherIncomeMember
/ 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 285us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_CorporateDebtSecuritiesMember
385us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_CorporateDebtSecuritiesMember
Transfers into Level 3 26us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_CorporateDebtSecuritiesMember
334us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_CorporateDebtSecuritiesMember
Transfers out of Level 3, assets (143)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_CorporateDebtSecuritiesMember
(119)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_CorporateDebtSecuritiesMember
Purchases, assets 728us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_CorporateDebtSecuritiesMember
104us-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 (218)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_CorporateDebtSecuritiesMember
(303)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_CorporateDebtSecuritiesMember
Settlements, assets 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_CorporateDebtSecuritiesMember
(89)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_CorporateDebtSecuritiesMember
Balance at end 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
Unrealized gains (losses) still held, assets (4)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_CorporateDebtSecuritiesMember
0us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_CorporateDebtSecuritiesMember
Investments | Corporate | Principal transactions    
Fair value, assets measured on recurring basis, level 3 fair-value category reconciliation    
Net realized/unrealized gains (losses) included in principal transactions 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_PrincipalOrProprietaryTransactionsMember
/ invest_InvestmentAxis
= us-gaap_CorporateDebtSecuritiesMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_PrincipalOrProprietaryTransactionsMember
/ invest_InvestmentAxis
= us-gaap_CorporateDebtSecuritiesMember
Investments | Corporate | Other    
Fair value, assets measured on recurring basis, level 3 fair-value category reconciliation    
Net realized/unrealized gains (losses) included in locations other than principal transactions, assets (6)c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_OtherIncomeMember
/ invest_InvestmentAxis
= us-gaap_CorporateDebtSecuritiesMember
(27)c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_OtherIncomeMember
/ 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 815us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_EquitySecuritiesMember
773us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_EquitySecuritiesMember
Transfers into Level 3 19us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_EquitySecuritiesMember
19us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_EquitySecuritiesMember
Transfers out of Level 3, assets (19)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_EquitySecuritiesMember
(1)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_EquitySecuritiesMember
Purchases, assets 10us-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 (255)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_EquitySecuritiesMember
(33)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 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
Unrealized gains (losses) still held, assets (78)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_EquitySecuritiesMember
47us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_EquitySecuritiesMember
Investments | Equity securities | Principal transactions    
Fair value, assets measured on recurring basis, level 3 fair-value category reconciliation    
Net realized/unrealized gains (losses) included in principal transactions 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_PrincipalOrProprietaryTransactionsMember
/ invest_InvestmentAxis
= us-gaap_EquitySecuritiesMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_PrincipalOrProprietaryTransactionsMember
/ invest_InvestmentAxis
= us-gaap_EquitySecuritiesMember
Investments | Equity securities | Other    
Fair value, assets measured on recurring basis, level 3 fair-value category reconciliation    
Net realized/unrealized gains (losses) included in locations other than principal transactions, assets 111c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_OtherIncomeMember
/ invest_InvestmentAxis
= us-gaap_EquitySecuritiesMember
56c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_OtherIncomeMember
/ 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 1,960us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_AssetBackedSecuritiesMember
2,220us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ 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
1,192us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_AssetBackedSecuritiesMember
Transfers out of Level 3, assets (47)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_AssetBackedSecuritiesMember
(1,684)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_AssetBackedSecuritiesMember
Purchases, assets 95us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_AssetBackedSecuritiesMember
1,475us-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 (195)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_AssetBackedSecuritiesMember
(337)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_AssetBackedSecuritiesMember
Settlements, assets (1,305)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_AssetBackedSecuritiesMember
(1,023)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_AssetBackedSecuritiesMember
Balance at end 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
Unrealized gains (losses) still held, assets (18)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_AssetBackedSecuritiesMember
0us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_AssetBackedSecuritiesMember
Investments | Asset-backed securities | Principal transactions    
Fair value, assets measured on recurring basis, level 3 fair-value category reconciliation    
Net realized/unrealized gains (losses) included in principal transactions 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_PrincipalOrProprietaryTransactionsMember
/ invest_InvestmentAxis
= us-gaap_AssetBackedSecuritiesMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_PrincipalOrProprietaryTransactionsMember
/ invest_InvestmentAxis
= us-gaap_AssetBackedSecuritiesMember
Investments | Asset-backed securities | Other    
Fair value, assets measured on recurring basis, level 3 fair-value category reconciliation    
Net realized/unrealized gains (losses) included in locations other than principal transactions, assets 41c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_OtherIncomeMember
/ invest_InvestmentAxis
= us-gaap_AssetBackedSecuritiesMember
117c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_OtherIncomeMember
/ 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 50us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_OtherDebtSecuritiesMember
258us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ 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
(205)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_OtherDebtSecuritiesMember
Purchases, assets 116us-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 (115)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_OtherDebtSecuritiesMember
(53)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= us-gaap_OtherDebtSecuritiesMember
Settlements, assets (50)us-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
50us-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 | Other debt securities | Principal transactions    
Fair value, assets measured on recurring basis, level 3 fair-value category reconciliation    
Net realized/unrealized gains (losses) included in principal transactions 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_PrincipalOrProprietaryTransactionsMember
/ invest_InvestmentAxis
= us-gaap_OtherDebtSecuritiesMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_PrincipalOrProprietaryTransactionsMember
/ invest_InvestmentAxis
= us-gaap_OtherDebtSecuritiesMember
Investments | Other debt securities | Other    
Fair value, assets measured on recurring basis, level 3 fair-value category reconciliation    
Net realized/unrealized gains (losses) included in locations other than principal transactions, assets (1)c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_OtherIncomeMember
/ invest_InvestmentAxis
= us-gaap_OtherDebtSecuritiesMember
0c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_OtherIncomeMember
/ 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 4,347us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= c_NonMarketableEquitySecuritiesMember
5,364us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= c_NonMarketableEquitySecuritiesMember
Transfers into Level 3 67us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= c_NonMarketableEquitySecuritiesMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= c_NonMarketableEquitySecuritiesMember
Transfers out of Level 3, assets 0us-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 707us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= c_NonMarketableEquitySecuritiesMember
653us-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 (787)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= c_NonMarketableEquitySecuritiesMember
(342)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= c_NonMarketableEquitySecuritiesMember
Settlements, assets (1,903)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= c_NonMarketableEquitySecuritiesMember
(1,577)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= c_NonMarketableEquitySecuritiesMember
Balance at end 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
Unrealized gains (losses) still held, assets 81us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= c_NonMarketableEquitySecuritiesMember
241us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ invest_InvestmentAxis
= c_NonMarketableEquitySecuritiesMember
Investments | Non-marketable equity securities | Principal transactions    
Fair value, assets measured on recurring basis, level 3 fair-value category reconciliation    
Net realized/unrealized gains (losses) included in principal transactions 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_PrincipalOrProprietaryTransactionsMember
/ invest_InvestmentAxis
= c_NonMarketableEquitySecuritiesMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_PrincipalOrProprietaryTransactionsMember
/ invest_InvestmentAxis
= c_NonMarketableEquitySecuritiesMember
Investments | Non-marketable equity securities | Other    
Fair value, assets measured on recurring basis, level 3 fair-value category reconciliation    
Net realized/unrealized gains (losses) included in locations other than principal transactions, assets 94c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_OtherIncomeMember
/ invest_InvestmentAxis
= c_NonMarketableEquitySecuritiesMember
249c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= c_InvestmentsExcludingTradingSecuritiesMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_OtherIncomeMember
/ invest_InvestmentAxis
= c_NonMarketableEquitySecuritiesMember
Loans    
Fair value, assets measured on recurring basis, level 3 fair-value category reconciliation    
Balance at beginning of period, asset 4,143us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_LoansReceivableMember
4,931us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_LoansReceivableMember
Transfers into Level 3 92us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_LoansReceivableMember
353us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_LoansReceivableMember
Transfers out of Level 3, assets 6us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_LoansReceivableMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_LoansReceivableMember
Purchases, assets 951us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_LoansReceivableMember
179us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_LoansReceivableMember
Issuance, assets 197us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_LoansReceivableMember
652us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_LoansReceivableMember
Sales, assets (895)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_LoansReceivableMember
(192)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_LoansReceivableMember
Settlements, assets (1,153)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_LoansReceivableMember
(1,756)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_LoansReceivableMember
Balance at end of period, asset 3,108us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_LoansReceivableMember
4,143us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_LoansReceivableMember
Unrealized gains (losses) still held, assets 37us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_LoansReceivableMember
(122)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_LoansReceivableMember
Loans | Principal transactions    
Fair value, assets measured on recurring basis, level 3 fair-value category reconciliation    
Net realized/unrealized gains (losses) included in principal transactions 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_LoansReceivableMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_PrincipalOrProprietaryTransactionsMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_LoansReceivableMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_PrincipalOrProprietaryTransactionsMember
Loans | Other    
Fair value, assets measured on recurring basis, level 3 fair-value category reconciliation    
Net realized/unrealized gains (losses) included in locations other than principal transactions, assets (233)c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_LoansReceivableMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_OtherIncomeMember
(24)c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_LoansReceivableMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_OtherIncomeMember
Mortgage servicing rights    
Fair value, assets measured on recurring basis, level 3 fair-value category reconciliation    
Balance at beginning of period, asset 2,718us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ServicingContractsMember
1,942us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ 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 217us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ServicingContractsMember
634us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ServicingContractsMember
Sales, assets (317)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ServicingContractsMember
(2)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ServicingContractsMember
Settlements, assets (383)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ServicingContractsMember
(411)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ServicingContractsMember
Balance at end of period, asset 1,845us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ServicingContractsMember
2,718us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ServicingContractsMember
Unrealized gains (losses) still held, assets (390)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ServicingContractsMember
553us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ServicingContractsMember
Mortgage servicing rights | Principal transactions    
Fair value, assets measured on recurring basis, level 3 fair-value category reconciliation    
Net realized/unrealized gains (losses) included in principal transactions 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ServicingContractsMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_PrincipalOrProprietaryTransactionsMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ServicingContractsMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_PrincipalOrProprietaryTransactionsMember
Mortgage servicing rights | Other    
Fair value, assets measured on recurring basis, level 3 fair-value category reconciliation    
Net realized/unrealized gains (losses) included in locations other than principal transactions, assets (390)c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ServicingContractsMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_OtherIncomeMember
555c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ServicingContractsMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_OtherIncomeMember
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 181us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_OtherFinancialAssetsIncludingNonTradingDerivativesMember
2,452us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_OtherFinancialAssetsIncludingNonTradingDerivativesMember
Transfers into Level 3 (83)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_OtherFinancialAssetsIncludingNonTradingDerivativesMember
1us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3
/ us-gaap_FairValueByAssetClassAxis
= c_OtherFinancialAssetsIncludingNonTradingDerivativesMember
Transfers out of Level 3, assets 0us-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
216us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= c_OtherFinancialAssetsIncludingNonTradingDerivativesMember
Issuance, assets 164us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues
/ us-gaap_FairValueByAssetClassAxis
= c_OtherFinancialAssetsIncludingNonTradingDerivativesMember
474us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues
/ us-gaap_FairValueByAssetClassAxis
= c_OtherFinancialAssetsIncludingNonTradingDerivativesMember
Sales, assets (10)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= c_OtherFinancialAssetsIncludingNonTradingDerivativesMember
(2,046)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= c_OtherFinancialAssetsIncludingNonTradingDerivativesMember
Settlements, assets (277)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= c_OtherFinancialAssetsIncludingNonTradingDerivativesMember
(979)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= c_OtherFinancialAssetsIncludingNonTradingDerivativesMember
Balance at end of period, asset 78us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_OtherFinancialAssetsIncludingNonTradingDerivativesMember
181us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= c_OtherFinancialAssetsIncludingNonTradingDerivativesMember
Unrealized gains (losses) still held, assets 14us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= c_OtherFinancialAssetsIncludingNonTradingDerivativesMember
(5)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= c_OtherFinancialAssetsIncludingNonTradingDerivativesMember
Other financial assets measured on a recurring basis | Principal transactions    
Fair value, assets measured on recurring basis, level 3 fair-value category reconciliation    
Net realized/unrealized gains (losses) included in principal transactions 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= c_OtherFinancialAssetsIncludingNonTradingDerivativesMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_PrincipalOrProprietaryTransactionsMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= c_OtherFinancialAssetsIncludingNonTradingDerivativesMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_PrincipalOrProprietaryTransactionsMember
Other financial assets measured on a recurring basis | Other    
Fair value, assets measured on recurring basis, level 3 fair-value category reconciliation    
Net realized/unrealized gains (losses) included in locations other than principal transactions, assets $ 100c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= c_OtherFinancialAssetsIncludingNonTradingDerivativesMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_OtherIncomeMember
$ 63c_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedinEarningsorOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= c_OtherFinancialAssetsIncludingNonTradingDerivativesMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_OtherIncomeMember