XML 125 R160.htm IDEA: XBRL DOCUMENT v2.4.1.9
DERIVATIVES ACTIVITIES - Derivative Mark-to-Market (MTM) Receivables/Payables (Details) (USD $)
Dec. 31, 2014
Dec. 31, 2013
Derivative Mark-to-Market (MTM) Receivables/Payables    
Netting of cash collateral received $ (47,625,000,000)us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset $ (34,893,000,000)us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset
Netting of cash collateral paid (47,769,000,000)us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset (39,094,000,000)us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset
Cash collateral paid 0us-gaap_DerivativeCollateralRightToReclaimCash  
Non-cash collateral paid 0us-gaap_DerivativeCollateralRightToReclaimSecurities  
Over-the-counter    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Cash collateral received, gross   138,000,000c_DerivativeCollateralObligationToReturnCashGross
/ us-gaap_TransactionTypeAxis
= us-gaap_OverTheCounterMember
Trading accounts assets    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative receivables 886,237,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
795,239,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
Cash collateral paid, net of amount used to offset derivative liabilities 6,523,000,000c_DerivativeCollateralRightToReclaimCashNet
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
6,073,000,000c_DerivativeCollateralRightToReclaimCashNet
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
Less: Netting agreements to assets (777,178,000,000)us-gaap_DerivativeAssetFairValueGrossLiability
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
(713,598,000,000)us-gaap_DerivativeAssetFairValueGrossLiability
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
Netting of cash collateral received (47,625,000,000)us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
(34,893,000,000)us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
Total trading account derivatives, assets 67,957,000,000us-gaap_DerivativeAssets
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
52,821,000,000us-gaap_DerivativeAssets
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
Cash collateral received (867,000,000)us-gaap_DerivativeCollateralObligationToReturnCash
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
(365,000,000)us-gaap_DerivativeCollateralObligationToReturnCash
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
Non-cash collateral received (10,043,000,000)us-gaap_DerivativeCollateralObligationToReturnSecurities
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
(7,478,000,000)us-gaap_DerivativeCollateralObligationToReturnSecurities
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
Total Net receivables 57,047,000,000us-gaap_DerivativeAssetFairValueOffsetAgainstCollateralNetOfNotSubjectToMasterNettingArrangementPolicyElection
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
44,978,000,000us-gaap_DerivativeAssetFairValueOffsetAgainstCollateralNetOfNotSubjectToMasterNettingArrangementPolicyElection
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
Cash collateral paid, gross 54,292,000,000c_DerivativeCollateralRightToReclaimCashGross
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
45,167,000,000c_DerivativeCollateralRightToReclaimCashGross
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
Does not meet applicable offsetting guidance, assets 11,000,000,000us-gaap_DerivativeAssetNotSubjectToMasterNettingArrangement
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
16,000,000,000us-gaap_DerivativeAssetNotSubjectToMasterNettingArrangement
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
Trading accounts assets | Over-the-counter    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Less: Netting agreements to assets   (392,000,000,000)us-gaap_DerivativeAssetFairValueGrossLiability
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
/ us-gaap_TransactionTypeAxis
= us-gaap_OverTheCounterMember
Less: Netting agreements to liabilities   (392,000,000,000)us-gaap_DerivativeLiabilityFairValueGrossAsset
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
/ us-gaap_TransactionTypeAxis
= us-gaap_OverTheCounterMember
Trading accounts assets | Cleared    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Less: Netting agreements to assets   (317,000,000,000)us-gaap_DerivativeAssetFairValueGrossLiability
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
/ us-gaap_TransactionTypeAxis
= us-gaap_ExchangeClearedMember
Less: Netting agreements to liabilities   (317,000,000,000)us-gaap_DerivativeLiabilityFairValueGrossAsset
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
/ us-gaap_TransactionTypeAxis
= us-gaap_ExchangeClearedMember
Trading accounts assets | Exchange traded    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Less: Netting agreements to assets   (5,000,000,000)us-gaap_DerivativeAssetFairValueGrossLiability
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
/ us-gaap_TransactionTypeAxis
= us-gaap_ExchangeTradedMember
Less: Netting agreements to liabilities   (5,000,000,000)us-gaap_DerivativeLiabilityFairValueGrossAsset
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
/ us-gaap_TransactionTypeAxis
= us-gaap_ExchangeTradedMember
Trading accounts liabilities    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative payables 883,193,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
791,119,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
Cash collateral received, net of amount used to offset derivative assets 9,846,000,000c_DerivativeCollateralObligationToReturnCashNet
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
8,827,000,000c_DerivativeCollateralObligationToReturnCashNet
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
Less: Netting agreements to liabilities (777,178,000,000)us-gaap_DerivativeLiabilityFairValueGrossAsset
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
(713,598,000,000)us-gaap_DerivativeLiabilityFairValueGrossAsset
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
Netting of cash collateral paid (47,769,000,000)us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
(39,094,000,000)us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
Total derivative liabilities 68,092,000,000us-gaap_DerivativeLiabilities
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
47,254,000,000us-gaap_DerivativeLiabilities
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
Cash collateral paid (11,000,000)us-gaap_DerivativeCollateralRightToReclaimCash
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
(5,000,000)us-gaap_DerivativeCollateralRightToReclaimCash
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
Non-cash collateral paid (6,264,000,000)us-gaap_DerivativeCollateralRightToReclaimSecurities
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
(3,345,000,000)us-gaap_DerivativeCollateralRightToReclaimSecurities
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
Total Net payables 61,817,000,000us-gaap_DerivativeLiabilityFairValueOffsetAgainstCollateralNetOfNotSubjectToMasterNettingArrangementPolicyElection
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
43,904,000,000us-gaap_DerivativeLiabilityFairValueOffsetAgainstCollateralNetOfNotSubjectToMasterNettingArrangementPolicyElection
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
Cash collateral received, gross 57,471,000,000c_DerivativeCollateralObligationToReturnCashGross
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
43,720,000,000c_DerivativeCollateralObligationToReturnCashGross
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
Does not meet applicable offsetting guidance, liabilities 10,000,000,000us-gaap_DerivativeLiabilityNotSubjectToMasterNettingArrangement
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
16,000,000,000us-gaap_DerivativeLiabilityNotSubjectToMasterNettingArrangement
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
Trading accounts liabilities | Over-the-counter    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Less: Netting agreements to assets (509,000,000,000)us-gaap_DerivativeAssetFairValueGrossLiability
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
/ us-gaap_TransactionTypeAxis
= us-gaap_OverTheCounterMember
 
Less: Netting agreements to liabilities (510,000,000,000)us-gaap_DerivativeLiabilityFairValueGrossAsset
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
/ us-gaap_TransactionTypeAxis
= us-gaap_OverTheCounterMember
 
Netting of cash collateral paid (46,000,000,000)us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
/ us-gaap_TransactionTypeAxis
= us-gaap_OverTheCounterMember
(33,000,000,000)us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
/ us-gaap_TransactionTypeAxis
= us-gaap_OverTheCounterMember
Trading accounts liabilities | Cleared    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Less: Netting agreements to assets (263,000,000,000)us-gaap_DerivativeAssetFairValueGrossLiability
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
/ us-gaap_TransactionTypeAxis
= us-gaap_ExchangeClearedMember
 
Less: Netting agreements to liabilities (264,000,000,000)us-gaap_DerivativeLiabilityFairValueGrossAsset
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
/ us-gaap_TransactionTypeAxis
= us-gaap_ExchangeClearedMember
 
Netting of cash collateral paid (2,000,000,000)us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
/ us-gaap_TransactionTypeAxis
= us-gaap_ExchangeClearedMember
(6,000,000,000)us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
/ us-gaap_TransactionTypeAxis
= us-gaap_ExchangeClearedMember
Trading accounts liabilities | Exchange traded    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Less: Netting agreements to assets (5,000,000,000)us-gaap_DerivativeAssetFairValueGrossLiability
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
/ us-gaap_TransactionTypeAxis
= us-gaap_ExchangeTradedMember
 
Less: Netting agreements to liabilities (3,000,000,000)us-gaap_DerivativeLiabilityFairValueGrossAsset
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
/ us-gaap_TransactionTypeAxis
= us-gaap_ExchangeTradedMember
 
Other assets    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative receivables 4,326,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherAssetsMember
4,290,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherAssetsMember
Cash collateral paid, net of amount used to offset derivative liabilities 123,000,000c_DerivativeCollateralRightToReclaimCashNet
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherAssetsMember
82,000,000c_DerivativeCollateralRightToReclaimCashNet
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherAssetsMember
Less: Netting agreements to assets 0us-gaap_DerivativeAssetFairValueGrossLiability
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherAssetsMember
0us-gaap_DerivativeAssetFairValueGrossLiability
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherAssetsMember
Netting of cash collateral received (1,791,000,000)us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherAssetsMember
(2,951,000,000)us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherAssetsMember
Total trading account derivatives, assets 2,658,000,000us-gaap_DerivativeAssets
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherAssetsMember
1,421,000,000us-gaap_DerivativeAssets
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherAssetsMember
Cash collateral received 0us-gaap_DerivativeCollateralObligationToReturnCash
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherAssetsMember
0us-gaap_DerivativeCollateralObligationToReturnCash
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherAssetsMember
Non-cash collateral received (1,293,000,000)us-gaap_DerivativeCollateralObligationToReturnSecurities
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherAssetsMember
(341,000,000)us-gaap_DerivativeCollateralObligationToReturnSecurities
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherAssetsMember
Total Net receivables 1,365,000,000us-gaap_DerivativeAssetFairValueOffsetAgainstCollateralNetOfNotSubjectToMasterNettingArrangementPolicyElection
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherAssetsMember
1,080,000,000us-gaap_DerivativeAssetFairValueOffsetAgainstCollateralNetOfNotSubjectToMasterNettingArrangementPolicyElection
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherAssetsMember
Other liabilities    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative payables 1,784,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherLiabilitiesMember
1,729,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherLiabilitiesMember
Cash collateral received, net of amount used to offset derivative assets 7,000,000c_DerivativeCollateralObligationToReturnCashNet
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherLiabilitiesMember
282,000,000c_DerivativeCollateralObligationToReturnCashNet
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherLiabilitiesMember
Less: Netting agreements to liabilities 0us-gaap_DerivativeLiabilityFairValueGrossAsset
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherLiabilitiesMember
0us-gaap_DerivativeLiabilityFairValueGrossAsset
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherLiabilitiesMember
Netting of cash collateral received (15,000,000)us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherLiabilitiesMember
 
Netting of cash collateral paid (15,000,000)us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherLiabilitiesMember
0us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherLiabilitiesMember
Total derivative liabilities 1,776,000,000us-gaap_DerivativeLiabilities
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherLiabilitiesMember
2,011,000,000us-gaap_DerivativeLiabilities
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherLiabilitiesMember
Cash collateral paid   0us-gaap_DerivativeCollateralRightToReclaimCash
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherLiabilitiesMember
Non-cash collateral paid   0us-gaap_DerivativeCollateralRightToReclaimSecurities
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherLiabilitiesMember
Total Net payables 1,776,000,000us-gaap_DerivativeLiabilityFairValueOffsetAgainstCollateralNetOfNotSubjectToMasterNettingArrangementPolicyElection
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherLiabilitiesMember
2,011,000,000us-gaap_DerivativeLiabilityFairValueOffsetAgainstCollateralNetOfNotSubjectToMasterNettingArrangementPolicyElection
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherLiabilitiesMember
Cash collateral received, gross 1,798,000,000c_DerivativeCollateralObligationToReturnCashGross
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherLiabilitiesMember
3,233,000,000c_DerivativeCollateralObligationToReturnCashGross
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherLiabilitiesMember
Derivative instruments designated as ASC 815 (SFAS 133) hedges | Trading accounts assets    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative receivables 9,693,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
5,001,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
Derivative instruments designated as ASC 815 (SFAS 133) hedges | Trading accounts liabilities    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative payables 1,815,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
2,135,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
Derivative instruments designated as ASC 815 (SFAS 133) hedges | Other assets    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative receivables 3,795,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherAssetsMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
4,076,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherAssetsMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
Derivative instruments designated as ASC 815 (SFAS 133) hedges | Other liabilities    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative payables 1,027,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherLiabilitiesMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
1,149,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherLiabilitiesMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
Derivative instruments designated as ASC 815 (SFAS 133) hedges | Interest rate contracts | Trading accounts assets    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative receivables 5,808,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
3,461,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
Derivative instruments designated as ASC 815 (SFAS 133) hedges | Interest rate contracts | Trading accounts assets | Over-the-counter    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative receivables 1,508,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
/ us-gaap_TransactionTypeAxis
= us-gaap_OverTheCounterMember
956,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
/ us-gaap_TransactionTypeAxis
= us-gaap_OverTheCounterMember
Derivative instruments designated as ASC 815 (SFAS 133) hedges | Interest rate contracts | Trading accounts assets | Cleared    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative receivables 4,300,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
/ us-gaap_TransactionTypeAxis
= us-gaap_ExchangeClearedMember
2,505,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
/ us-gaap_TransactionTypeAxis
= us-gaap_ExchangeClearedMember
Derivative instruments designated as ASC 815 (SFAS 133) hedges | Interest rate contracts | Trading accounts liabilities    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative payables 1,072,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
891,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
Derivative instruments designated as ASC 815 (SFAS 133) hedges | Interest rate contracts | Trading accounts liabilities | Over-the-counter    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative payables 204,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
/ us-gaap_TransactionTypeAxis
= us-gaap_OverTheCounterMember
306,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
/ us-gaap_TransactionTypeAxis
= us-gaap_OverTheCounterMember
Derivative instruments designated as ASC 815 (SFAS 133) hedges | Interest rate contracts | Trading accounts liabilities | Cleared    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative payables 868,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
/ us-gaap_TransactionTypeAxis
= us-gaap_ExchangeClearedMember
585,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
/ us-gaap_TransactionTypeAxis
= us-gaap_ExchangeClearedMember
Derivative instruments designated as ASC 815 (SFAS 133) hedges | Interest rate contracts | Other assets    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative receivables 3,117,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
3,087,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
Derivative instruments designated as ASC 815 (SFAS 133) hedges | Interest rate contracts | Other assets | Over-the-counter    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative receivables 3,117,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
/ us-gaap_TransactionTypeAxis
= us-gaap_OverTheCounterMember
3,082,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
/ us-gaap_TransactionTypeAxis
= us-gaap_OverTheCounterMember
Derivative instruments designated as ASC 815 (SFAS 133) hedges | Interest rate contracts | Other assets | Cleared    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative receivables 0us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
/ us-gaap_TransactionTypeAxis
= us-gaap_ExchangeClearedMember
5,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
/ us-gaap_TransactionTypeAxis
= us-gaap_ExchangeClearedMember
Derivative instruments designated as ASC 815 (SFAS 133) hedges | Interest rate contracts | Other liabilities    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative payables 439,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
854,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
Derivative instruments designated as ASC 815 (SFAS 133) hedges | Interest rate contracts | Other liabilities | Over-the-counter    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative payables 414,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
/ us-gaap_TransactionTypeAxis
= us-gaap_OverTheCounterMember
854,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
/ us-gaap_TransactionTypeAxis
= us-gaap_OverTheCounterMember
Derivative instruments designated as ASC 815 (SFAS 133) hedges | Interest rate contracts | Other liabilities | Cleared    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative payables 25,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
/ us-gaap_TransactionTypeAxis
= us-gaap_ExchangeClearedMember
0us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
/ us-gaap_TransactionTypeAxis
= us-gaap_ExchangeClearedMember
Derivative instruments designated as ASC 815 (SFAS 133) hedges | Foreign exchange contracts | Trading accounts assets    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative receivables 3,885,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
1,540,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
Derivative instruments designated as ASC 815 (SFAS 133) hedges | Foreign exchange contracts | Trading accounts assets | Over-the-counter    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative receivables 3,885,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
/ us-gaap_TransactionTypeAxis
= us-gaap_OverTheCounterMember
1,540,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
/ us-gaap_TransactionTypeAxis
= us-gaap_OverTheCounterMember
Derivative instruments designated as ASC 815 (SFAS 133) hedges | Foreign exchange contracts | Trading accounts liabilities    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative payables 743,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
1,244,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
Derivative instruments designated as ASC 815 (SFAS 133) hedges | Foreign exchange contracts | Trading accounts liabilities | Over-the-counter    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative payables 743,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
/ us-gaap_TransactionTypeAxis
= us-gaap_OverTheCounterMember
1,244,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
/ us-gaap_TransactionTypeAxis
= us-gaap_OverTheCounterMember
Derivative instruments designated as ASC 815 (SFAS 133) hedges | Foreign exchange contracts | Other assets    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative receivables 678,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
989,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
Derivative instruments designated as ASC 815 (SFAS 133) hedges | Foreign exchange contracts | Other assets | Over-the-counter    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative receivables 678,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
/ us-gaap_TransactionTypeAxis
= us-gaap_OverTheCounterMember
989,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
/ us-gaap_TransactionTypeAxis
= us-gaap_OverTheCounterMember
Derivative instruments designated as ASC 815 (SFAS 133) hedges | Foreign exchange contracts | Other liabilities    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative payables 588,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
293,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
Derivative instruments designated as ASC 815 (SFAS 133) hedges | Foreign exchange contracts | Other liabilities | Over-the-counter    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative payables 588,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
/ us-gaap_TransactionTypeAxis
= us-gaap_OverTheCounterMember
293,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
/ us-gaap_TransactionTypeAxis
= us-gaap_OverTheCounterMember
Derivative instruments designated as ASC 815 (SFAS 133) hedges | Credit derivatives | Trading accounts assets    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative receivables   0us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
Derivative instruments designated as ASC 815 (SFAS 133) hedges | Credit derivatives | Trading accounts assets | Over-the-counter    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative receivables   0us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
/ us-gaap_TransactionTypeAxis
= us-gaap_OverTheCounterMember
Derivative instruments designated as ASC 815 (SFAS 133) hedges | Credit derivatives | Trading accounts liabilities    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative payables   0us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
Derivative instruments designated as ASC 815 (SFAS 133) hedges | Credit derivatives | Trading accounts liabilities | Over-the-counter    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative payables   0us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
/ us-gaap_TransactionTypeAxis
= us-gaap_OverTheCounterMember
Derivative instruments designated as ASC 815 (SFAS 133) hedges | Credit derivatives | Other assets    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative receivables   0us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
Derivative instruments designated as ASC 815 (SFAS 133) hedges | Credit derivatives | Other assets | Over-the-counter    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative receivables   0us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
/ us-gaap_TransactionTypeAxis
= us-gaap_OverTheCounterMember
Derivative instruments designated as ASC 815 (SFAS 133) hedges | Credit derivatives | Other liabilities    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative payables   2,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
Derivative instruments designated as ASC 815 (SFAS 133) hedges | Credit derivatives | Other liabilities | Over-the-counter    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative payables   2,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
/ us-gaap_TransactionTypeAxis
= us-gaap_OverTheCounterMember
Derivative instruments not designated as ASC 815 (SFAS 133) hedges | Trading accounts assets    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative receivables 876,544,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
790,238,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
Derivative instruments not designated as ASC 815 (SFAS 133) hedges | Trading accounts liabilities    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative payables 881,378,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
788,984,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
Derivative instruments not designated as ASC 815 (SFAS 133) hedges | Other assets    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative receivables 531,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherAssetsMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
214,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherAssetsMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
Derivative instruments not designated as ASC 815 (SFAS 133) hedges | Other liabilities    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative payables 757,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherLiabilitiesMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
580,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherLiabilitiesMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
Derivative instruments not designated as ASC 815 (SFAS 133) hedges | Interest rate contracts | Trading accounts assets    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative receivables 632,645,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
624,919,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
Derivative instruments not designated as ASC 815 (SFAS 133) hedges | Interest rate contracts | Trading accounts assets | Over-the-counter    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative receivables 376,778,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_TransactionTypeAxis
= us-gaap_OverTheCounterMember
313,772,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_TransactionTypeAxis
= us-gaap_OverTheCounterMember
Derivative instruments not designated as ASC 815 (SFAS 133) hedges | Interest rate contracts | Trading accounts assets | Cleared    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative receivables 255,847,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_TransactionTypeAxis
= us-gaap_ExchangeClearedMember
311,114,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_TransactionTypeAxis
= us-gaap_ExchangeClearedMember
Derivative instruments not designated as ASC 815 (SFAS 133) hedges | Interest rate contracts | Trading accounts assets | Exchange traded    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative receivables 20,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_TransactionTypeAxis
= us-gaap_ExchangeTradedMember
33,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_TransactionTypeAxis
= us-gaap_ExchangeTradedMember
Derivative instruments not designated as ASC 815 (SFAS 133) hedges | Interest rate contracts | Trading accounts liabilities    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative payables 621,210,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
616,335,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
Derivative instruments not designated as ASC 815 (SFAS 133) hedges | Interest rate contracts | Trading accounts liabilities | Over-the-counter    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative payables 359,689,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_TransactionTypeAxis
= us-gaap_OverTheCounterMember
297,115,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_TransactionTypeAxis
= us-gaap_OverTheCounterMember
Derivative instruments not designated as ASC 815 (SFAS 133) hedges | Interest rate contracts | Trading accounts liabilities | Cleared    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative payables 261,499,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_TransactionTypeAxis
= us-gaap_ExchangeClearedMember
319,190,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_TransactionTypeAxis
= us-gaap_ExchangeClearedMember
Derivative instruments not designated as ASC 815 (SFAS 133) hedges | Interest rate contracts | Trading accounts liabilities | Exchange traded    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative payables 22,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_TransactionTypeAxis
= us-gaap_ExchangeTradedMember
30,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_TransactionTypeAxis
= us-gaap_ExchangeTradedMember
Derivative instruments not designated as ASC 815 (SFAS 133) hedges | Interest rate contracts | Other assets    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative receivables 253,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
64,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
Derivative instruments not designated as ASC 815 (SFAS 133) hedges | Interest rate contracts | Other assets | Over-the-counter    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative receivables 106,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_TransactionTypeAxis
= us-gaap_OverTheCounterMember
37,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_TransactionTypeAxis
= us-gaap_OverTheCounterMember
Derivative instruments not designated as ASC 815 (SFAS 133) hedges | Interest rate contracts | Other assets | Cleared    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative receivables 6,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_TransactionTypeAxis
= us-gaap_ExchangeClearedMember
27,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_TransactionTypeAxis
= us-gaap_ExchangeClearedMember
Derivative instruments not designated as ASC 815 (SFAS 133) hedges | Interest rate contracts | Other assets | Exchange traded    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative receivables 141,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_TransactionTypeAxis
= us-gaap_ExchangeTradedMember
0us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_TransactionTypeAxis
= us-gaap_ExchangeTradedMember
Derivative instruments not designated as ASC 815 (SFAS 133) hedges | Interest rate contracts | Other liabilities    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative payables 185,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
14,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
Derivative instruments not designated as ASC 815 (SFAS 133) hedges | Interest rate contracts | Other liabilities | Over-the-counter    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative payables 0us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_TransactionTypeAxis
= us-gaap_OverTheCounterMember
9,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_TransactionTypeAxis
= us-gaap_OverTheCounterMember
Derivative instruments not designated as ASC 815 (SFAS 133) hedges | Interest rate contracts | Other liabilities | Cleared    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative payables 21,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_TransactionTypeAxis
= us-gaap_ExchangeClearedMember
5,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_TransactionTypeAxis
= us-gaap_ExchangeClearedMember
Derivative instruments not designated as ASC 815 (SFAS 133) hedges | Interest rate contracts | Other liabilities | Exchange traded    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative payables 164,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_TransactionTypeAxis
= us-gaap_ExchangeTradedMember
0us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_TransactionTypeAxis
= us-gaap_ExchangeTradedMember
Derivative instruments not designated as ASC 815 (SFAS 133) hedges | Foreign exchange contracts | Trading accounts assets    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative receivables 152,109,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
91,014,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
Derivative instruments not designated as ASC 815 (SFAS 133) hedges | Foreign exchange contracts | Trading accounts assets | Over-the-counter    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative receivables 151,736,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_TransactionTypeAxis
= us-gaap_OverTheCounterMember
89,847,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_TransactionTypeAxis
= us-gaap_OverTheCounterMember
Derivative instruments not designated as ASC 815 (SFAS 133) hedges | Foreign exchange contracts | Trading accounts assets | Cleared    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative receivables 366,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_TransactionTypeAxis
= us-gaap_ExchangeClearedMember
1,119,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_TransactionTypeAxis
= us-gaap_ExchangeClearedMember
Derivative instruments not designated as ASC 815 (SFAS 133) hedges | Foreign exchange contracts | Trading accounts assets | Exchange traded    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative receivables 7,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_TransactionTypeAxis
= us-gaap_ExchangeTradedMember
48,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_TransactionTypeAxis
= us-gaap_ExchangeTradedMember
Derivative instruments not designated as ASC 815 (SFAS 133) hedges | Foreign exchange contracts | Trading accounts liabilities    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative payables 158,083,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
87,393,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
Derivative instruments not designated as ASC 815 (SFAS 133) hedges | Foreign exchange contracts | Trading accounts liabilities | Over-the-counter    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative payables 157,650,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_TransactionTypeAxis
= us-gaap_OverTheCounterMember
86,147,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_TransactionTypeAxis
= us-gaap_OverTheCounterMember
Derivative instruments not designated as ASC 815 (SFAS 133) hedges | Foreign exchange contracts | Trading accounts liabilities | Cleared    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative payables 387,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_TransactionTypeAxis
= us-gaap_ExchangeClearedMember
1,191,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_TransactionTypeAxis
= us-gaap_ExchangeClearedMember
Derivative instruments not designated as ASC 815 (SFAS 133) hedges | Foreign exchange contracts | Trading accounts liabilities | Exchange traded    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative payables 46,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_TransactionTypeAxis
= us-gaap_ExchangeTradedMember
55,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_TransactionTypeAxis
= us-gaap_ExchangeTradedMember
Derivative instruments not designated as ASC 815 (SFAS 133) hedges | Foreign exchange contracts | Other assets    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative receivables 0us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
79,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
Derivative instruments not designated as ASC 815 (SFAS 133) hedges | Foreign exchange contracts | Other assets | Over-the-counter    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative receivables 0us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_TransactionTypeAxis
= us-gaap_OverTheCounterMember
79,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_TransactionTypeAxis
= us-gaap_OverTheCounterMember
Derivative instruments not designated as ASC 815 (SFAS 133) hedges | Foreign exchange contracts | Other assets | Cleared    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative receivables 0us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_TransactionTypeAxis
= us-gaap_ExchangeClearedMember
0us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_TransactionTypeAxis
= us-gaap_ExchangeClearedMember
Derivative instruments not designated as ASC 815 (SFAS 133) hedges | Foreign exchange contracts | Other assets | Exchange traded    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative receivables 0us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_TransactionTypeAxis
= us-gaap_ExchangeTradedMember
0us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_TransactionTypeAxis
= us-gaap_ExchangeTradedMember
Derivative instruments not designated as ASC 815 (SFAS 133) hedges | Foreign exchange contracts | Other liabilities    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative payables 17,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
3,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
Derivative instruments not designated as ASC 815 (SFAS 133) hedges | Foreign exchange contracts | Other liabilities | Over-the-counter    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative payables 17,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_TransactionTypeAxis
= us-gaap_OverTheCounterMember
3,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_TransactionTypeAxis
= us-gaap_OverTheCounterMember
Derivative instruments not designated as ASC 815 (SFAS 133) hedges | Foreign exchange contracts | Other liabilities | Cleared    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative payables 0us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_TransactionTypeAxis
= us-gaap_ExchangeClearedMember
0us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_TransactionTypeAxis
= us-gaap_ExchangeClearedMember
Derivative instruments not designated as ASC 815 (SFAS 133) hedges | Foreign exchange contracts | Other liabilities | Exchange traded    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative payables 0us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_TransactionTypeAxis
= us-gaap_ExchangeTradedMember
0us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_TransactionTypeAxis
= us-gaap_ExchangeTradedMember
Derivative instruments not designated as ASC 815 (SFAS 133) hedges | Equity contracts | Trading accounts assets    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative receivables 24,752,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
24,877,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
Derivative instruments not designated as ASC 815 (SFAS 133) hedges | Equity contracts | Trading accounts assets | Over-the-counter    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative receivables 20,425,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_TransactionTypeAxis
= us-gaap_OverTheCounterMember
19,080,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_TransactionTypeAxis
= us-gaap_OverTheCounterMember
Derivative instruments not designated as ASC 815 (SFAS 133) hedges | Equity contracts | Trading accounts assets | Cleared    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative receivables 16,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_TransactionTypeAxis
= us-gaap_ExchangeClearedMember
 
Derivative instruments not designated as ASC 815 (SFAS 133) hedges | Equity contracts | Trading accounts assets | Exchange traded    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative receivables 4,311,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_TransactionTypeAxis
= us-gaap_ExchangeTradedMember
5,797,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_TransactionTypeAxis
= us-gaap_ExchangeTradedMember
Derivative instruments not designated as ASC 815 (SFAS 133) hedges | Equity contracts | Trading accounts liabilities    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative payables 32,469,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
34,292,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
Derivative instruments not designated as ASC 815 (SFAS 133) hedges | Equity contracts | Trading accounts liabilities | Over-the-counter    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative payables 28,333,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_TransactionTypeAxis
= us-gaap_OverTheCounterMember
28,458,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_TransactionTypeAxis
= us-gaap_OverTheCounterMember
Derivative instruments not designated as ASC 815 (SFAS 133) hedges | Equity contracts | Trading accounts liabilities | Cleared    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative payables 35,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_TransactionTypeAxis
= us-gaap_ExchangeClearedMember
 
Derivative instruments not designated as ASC 815 (SFAS 133) hedges | Equity contracts | Trading accounts liabilities | Exchange traded    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative payables 4,101,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_TransactionTypeAxis
= us-gaap_ExchangeTradedMember
5,834,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_TransactionTypeAxis
= us-gaap_ExchangeTradedMember
Derivative instruments not designated as ASC 815 (SFAS 133) hedges | Equity contracts | Other assets    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative receivables 0us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
0us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
Derivative instruments not designated as ASC 815 (SFAS 133) hedges | Equity contracts | Other assets | Over-the-counter    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative receivables 0us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_TransactionTypeAxis
= us-gaap_OverTheCounterMember
0us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_TransactionTypeAxis
= us-gaap_OverTheCounterMember
Derivative instruments not designated as ASC 815 (SFAS 133) hedges | Equity contracts | Other assets | Cleared    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative receivables 0us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_TransactionTypeAxis
= us-gaap_ExchangeClearedMember
 
Derivative instruments not designated as ASC 815 (SFAS 133) hedges | Equity contracts | Other assets | Exchange traded    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative receivables 0us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_TransactionTypeAxis
= us-gaap_ExchangeTradedMember
0us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_TransactionTypeAxis
= us-gaap_ExchangeTradedMember
Derivative instruments not designated as ASC 815 (SFAS 133) hedges | Equity contracts | Other liabilities    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative payables 0us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
0us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
Derivative instruments not designated as ASC 815 (SFAS 133) hedges | Equity contracts | Other liabilities | Over-the-counter    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative payables 0us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_TransactionTypeAxis
= us-gaap_OverTheCounterMember
0us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_TransactionTypeAxis
= us-gaap_OverTheCounterMember
Derivative instruments not designated as ASC 815 (SFAS 133) hedges | Equity contracts | Other liabilities | Cleared    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative payables 0us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_TransactionTypeAxis
= us-gaap_ExchangeClearedMember
 
Derivative instruments not designated as ASC 815 (SFAS 133) hedges | Equity contracts | Other liabilities | Exchange traded    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative payables 0us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_TransactionTypeAxis
= us-gaap_ExchangeTradedMember
0us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_TransactionTypeAxis
= us-gaap_ExchangeTradedMember
Derivative instruments not designated as ASC 815 (SFAS 133) hedges | Commodity and other contract options | Trading accounts assets    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative receivables 23,520,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= c_CommodityOptionAndOtherContractOptionsMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
9,082,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= c_CommodityOptionAndOtherContractOptionsMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
Derivative instruments not designated as ASC 815 (SFAS 133) hedges | Commodity and other contract options | Trading accounts assets | Over-the-counter    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative receivables 19,943,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= c_CommodityOptionAndOtherContractOptionsMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_TransactionTypeAxis
= us-gaap_OverTheCounterMember
7,921,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= c_CommodityOptionAndOtherContractOptionsMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_TransactionTypeAxis
= us-gaap_OverTheCounterMember
Derivative instruments not designated as ASC 815 (SFAS 133) hedges | Commodity and other contract options | Trading accounts assets | Exchange traded    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative receivables 3,577,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= c_CommodityOptionAndOtherContractOptionsMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_TransactionTypeAxis
= us-gaap_ExchangeTradedMember
1,161,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= c_CommodityOptionAndOtherContractOptionsMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_TransactionTypeAxis
= us-gaap_ExchangeTradedMember
Derivative instruments not designated as ASC 815 (SFAS 133) hedges | Commodity and other contract options | Trading accounts liabilities    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative payables 26,186,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= c_CommodityOptionAndOtherContractOptionsMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
10,170,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= c_CommodityOptionAndOtherContractOptionsMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
Derivative instruments not designated as ASC 815 (SFAS 133) hedges | Commodity and other contract options | Trading accounts liabilities | Over-the-counter    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative payables 23,103,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= c_CommodityOptionAndOtherContractOptionsMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_TransactionTypeAxis
= us-gaap_OverTheCounterMember
9,059,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= c_CommodityOptionAndOtherContractOptionsMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_TransactionTypeAxis
= us-gaap_OverTheCounterMember
Derivative instruments not designated as ASC 815 (SFAS 133) hedges | Commodity and other contract options | Trading accounts liabilities | Exchange traded    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative payables 3,083,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= c_CommodityOptionAndOtherContractOptionsMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_TransactionTypeAxis
= us-gaap_ExchangeTradedMember
1,111,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= c_CommodityOptionAndOtherContractOptionsMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_TransactionTypeAxis
= us-gaap_ExchangeTradedMember
Derivative instruments not designated as ASC 815 (SFAS 133) hedges | Commodity and other contract options | Other assets    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative receivables 0us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= c_CommodityOptionAndOtherContractOptionsMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
0us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= c_CommodityOptionAndOtherContractOptionsMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
Derivative instruments not designated as ASC 815 (SFAS 133) hedges | Commodity and other contract options | Other assets | Over-the-counter    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative receivables 0us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= c_CommodityOptionAndOtherContractOptionsMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_TransactionTypeAxis
= us-gaap_OverTheCounterMember
0us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= c_CommodityOptionAndOtherContractOptionsMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_TransactionTypeAxis
= us-gaap_OverTheCounterMember
Derivative instruments not designated as ASC 815 (SFAS 133) hedges | Commodity and other contract options | Other assets | Exchange traded    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative receivables 0us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= c_CommodityOptionAndOtherContractOptionsMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_TransactionTypeAxis
= us-gaap_ExchangeTradedMember
0us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= c_CommodityOptionAndOtherContractOptionsMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_TransactionTypeAxis
= us-gaap_ExchangeTradedMember
Derivative instruments not designated as ASC 815 (SFAS 133) hedges | Commodity and other contract options | Other liabilities    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative payables 0us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= c_CommodityOptionAndOtherContractOptionsMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
0us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= c_CommodityOptionAndOtherContractOptionsMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
Derivative instruments not designated as ASC 815 (SFAS 133) hedges | Commodity and other contract options | Other liabilities | Over-the-counter    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative payables 0us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= c_CommodityOptionAndOtherContractOptionsMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_TransactionTypeAxis
= us-gaap_OverTheCounterMember
0us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= c_CommodityOptionAndOtherContractOptionsMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_TransactionTypeAxis
= us-gaap_OverTheCounterMember
Derivative instruments not designated as ASC 815 (SFAS 133) hedges | Commodity and other contract options | Other liabilities | Exchange traded    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative payables 0us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= c_CommodityOptionAndOtherContractOptionsMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_TransactionTypeAxis
= us-gaap_ExchangeTradedMember
0us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= c_CommodityOptionAndOtherContractOptionsMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_TransactionTypeAxis
= us-gaap_ExchangeTradedMember
Derivative instruments not designated as ASC 815 (SFAS 133) hedges | Credit derivatives | Trading accounts assets    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative receivables 43,518,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
40,346,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
Derivative instruments not designated as ASC 815 (SFAS 133) hedges | Credit derivatives | Trading accounts assets | Over-the-counter    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative receivables 39,412,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_TransactionTypeAxis
= us-gaap_OverTheCounterMember
38,496,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_TransactionTypeAxis
= us-gaap_OverTheCounterMember
Derivative instruments not designated as ASC 815 (SFAS 133) hedges | Credit derivatives | Trading accounts assets | Cleared    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative receivables 4,106,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_TransactionTypeAxis
= us-gaap_ExchangeClearedMember
1,850,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_TransactionTypeAxis
= us-gaap_ExchangeClearedMember
Derivative instruments not designated as ASC 815 (SFAS 133) hedges | Credit derivatives | Trading accounts liabilities    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative payables 43,430,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
40,794,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
Derivative instruments not designated as ASC 815 (SFAS 133) hedges | Credit derivatives | Trading accounts liabilities | Over-the-counter    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative payables 39,439,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_TransactionTypeAxis
= us-gaap_OverTheCounterMember
38,247,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_TransactionTypeAxis
= us-gaap_OverTheCounterMember
Derivative instruments not designated as ASC 815 (SFAS 133) hedges | Credit derivatives | Trading accounts liabilities | Cleared    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative payables 3,991,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_TransactionTypeAxis
= us-gaap_ExchangeClearedMember
2,547,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_TransactionTypeAxis
= us-gaap_ExchangeClearedMember
Derivative instruments not designated as ASC 815 (SFAS 133) hedges | Credit derivatives | Other assets    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative receivables 278,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
71,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
Derivative instruments not designated as ASC 815 (SFAS 133) hedges | Credit derivatives | Other assets | Over-the-counter    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative receivables 265,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_TransactionTypeAxis
= us-gaap_OverTheCounterMember
71,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_TransactionTypeAxis
= us-gaap_OverTheCounterMember
Derivative instruments not designated as ASC 815 (SFAS 133) hedges | Credit derivatives | Other assets | Cleared    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative receivables 13,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_TransactionTypeAxis
= us-gaap_ExchangeClearedMember
0us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_TransactionTypeAxis
= us-gaap_ExchangeClearedMember
Derivative instruments not designated as ASC 815 (SFAS 133) hedges | Credit derivatives | Other liabilities    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative payables 555,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
563,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
Derivative instruments not designated as ASC 815 (SFAS 133) hedges | Credit derivatives | Other liabilities | Over-the-counter    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative payables 384,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_TransactionTypeAxis
= us-gaap_OverTheCounterMember
563,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_TransactionTypeAxis
= us-gaap_OverTheCounterMember
Derivative instruments not designated as ASC 815 (SFAS 133) hedges | Credit derivatives | Other liabilities | Cleared    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative payables 171,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_TransactionTypeAxis
= us-gaap_ExchangeClearedMember
0us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_TransactionTypeAxis
= us-gaap_ExchangeClearedMember
Derivative instruments not designated as ASC 815 (SFAS 133) hedges | Credit derivatives | Purchased | Trading accounts assets    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative receivables 18,430,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_PositionAxis
= us-gaap_LongMember
13,673,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_PositionAxis
= us-gaap_LongMember
Derivative payables   28,158,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_PositionAxis
= us-gaap_LongMember
Derivative instruments not designated as ASC 815 (SFAS 133) hedges | Credit derivatives | Purchased | Trading accounts liabilities    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative payables 25,972,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_PositionAxis
= us-gaap_LongMember
 
Derivative instruments not designated as ASC 815 (SFAS 133) hedges | Credit derivatives | Sold | Trading accounts assets    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative receivables 25,088,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_PositionAxis
= us-gaap_ShortMember
26,673,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_PositionAxis
= us-gaap_ShortMember
Derivative payables   12,636,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_PositionAxis
= us-gaap_ShortMember
Derivative instruments not designated as ASC 815 (SFAS 133) hedges | Credit derivatives | Sold | Trading accounts liabilities    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative payables $ 17,458,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_PositionAxis
= us-gaap_ShortMember