XML 137 R120.htm IDEA: XBRL DOCUMENT v2.4.1.9
DERIVATIVES ACTIVITIES - Derivative Mark-to-Market (MTM) Receivables/Payables (Details) (USD $)
Mar. 31, 2015
Dec. 31, 2014
Derivative Mark-to-Market (MTM) Receivables/Payables    
Netting of cash collateral received $ (53,848,000,000)us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset $ (47,625,000,000)us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset
Netting of cash collateral paid (51,292,000,000)us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset (47,769,000,000)us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset
Over-the-counter    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Cash collateral received, gross 2,206,000,000c_DerivativeCollateralObligationToReturnCashGross
/ us-gaap_TransactionTypeAxis
= us-gaap_OverTheCounterMember
138,000,000c_DerivativeCollateralObligationToReturnCashGross
/ us-gaap_TransactionTypeAxis
= us-gaap_OverTheCounterMember
Trading accounts assets    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative receivables 897,772,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
886,237,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
Cash collateral paid, net of amount used to offset derivative liabilities 7,270,000,000c_DerivativeCollateralRightToReclaimCashNet
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
6,523,000,000c_DerivativeCollateralRightToReclaimCashNet
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
Less: Netting agreements to assets (779,613,000,000)us-gaap_DerivativeAssetFairValueGrossLiability
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
(777,178,000,000)us-gaap_DerivativeAssetFairValueGrossLiability
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
Netting of cash collateral received (53,848,000,000)us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
(47,625,000,000)us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
Total trading account derivatives, assets 71,581,000,000us-gaap_DerivativeAssets
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
67,957,000,000us-gaap_DerivativeAssets
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
Cash collateral received (411,000,000)us-gaap_DerivativeCollateralObligationToReturnCash
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
(867,000,000)us-gaap_DerivativeCollateralObligationToReturnCash
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
Non-cash collateral received (10,091,000,000)us-gaap_DerivativeCollateralObligationToReturnSecurities
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
(10,043,000,000)us-gaap_DerivativeCollateralObligationToReturnSecurities
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
Total Net receivables 61,079,000,000us-gaap_DerivativeAssetFairValueOffsetAgainstCollateralNetOfNotSubjectToMasterNettingArrangementPolicyElection
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
57,047,000,000us-gaap_DerivativeAssetFairValueOffsetAgainstCollateralNetOfNotSubjectToMasterNettingArrangementPolicyElection
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
Cash collateral paid, gross 58,562,000,000c_DerivativeCollateralRightToReclaimCashGross
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
54,292,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
11,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 (521,000,000,000)us-gaap_DerivativeAssetFairValueGrossLiability
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
/ us-gaap_TransactionTypeAxis
= us-gaap_OverTheCounterMember
(510,000,000,000)us-gaap_DerivativeAssetFairValueGrossLiability
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
/ us-gaap_TransactionTypeAxis
= us-gaap_OverTheCounterMember
Less: Netting agreements to liabilities   (510,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 (252,000,000,000)us-gaap_DerivativeAssetFairValueGrossLiability
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
/ us-gaap_TransactionTypeAxis
= us-gaap_ExchangeClearedMember
(264,000,000,000)us-gaap_DerivativeAssetFairValueGrossLiability
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
/ us-gaap_TransactionTypeAxis
= us-gaap_ExchangeClearedMember
Less: Netting agreements to liabilities   (264,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 (7,000,000,000)us-gaap_DerivativeAssetFairValueGrossLiability
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
/ us-gaap_TransactionTypeAxis
= us-gaap_ExchangeTradedMember
(3,000,000,000)us-gaap_DerivativeAssetFairValueGrossLiability
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
/ us-gaap_TransactionTypeAxis
= us-gaap_ExchangeTradedMember
Less: Netting agreements to liabilities   (3,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 897,702,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
883,193,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
Cash collateral received, net of amount used to offset derivative assets 10,398,000,000c_DerivativeCollateralObligationToReturnCashNet
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
9,846,000,000c_DerivativeCollateralObligationToReturnCashNet
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
Less: Netting agreements to liabilities (779,613,000,000)us-gaap_DerivativeLiabilityFairValueGrossAsset
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
(777,178,000,000)us-gaap_DerivativeLiabilityFairValueGrossAsset
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
Netting of cash collateral paid (51,292,000,000)us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
(47,769,000,000)us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
Total derivative liabilities 77,195,000,000us-gaap_DerivativeLiabilities
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
68,092,000,000us-gaap_DerivativeLiabilities
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
Cash collateral paid (7,000,000)us-gaap_DerivativeCollateralRightToReclaimCash
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
(11,000,000)us-gaap_DerivativeCollateralRightToReclaimCash
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
Non-cash collateral paid (8,156,000,000)us-gaap_DerivativeCollateralRightToReclaimSecurities
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
(6,264,000,000)us-gaap_DerivativeCollateralRightToReclaimSecurities
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
Total Net payables 69,032,000,000us-gaap_DerivativeLiabilityFairValueOffsetAgainstCollateralNetOfNotSubjectToMasterNettingArrangementPolicyElection
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
61,817,000,000us-gaap_DerivativeLiabilityFairValueOffsetAgainstCollateralNetOfNotSubjectToMasterNettingArrangementPolicyElection
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
Cash collateral received, gross 64,246,000,000c_DerivativeCollateralObligationToReturnCashGross
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
57,471,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
10,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 liabilities (521,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
Trading accounts liabilities | Cleared    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Less: Netting agreements to liabilities (252,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
Trading accounts liabilities | Exchange traded    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Less: Netting agreements to liabilities (7,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,496,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherAssetsMember
4,326,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherAssetsMember
Cash collateral paid, net of amount used to offset derivative liabilities 29,000,000c_DerivativeCollateralRightToReclaimCashNet
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherAssetsMember
123,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 (2,150,000,000)us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherAssetsMember
(1,791,000,000)us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherAssetsMember
Total trading account derivatives, assets 2,375,000,000us-gaap_DerivativeAssets
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherAssetsMember
2,658,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 (580,000,000)us-gaap_DerivativeCollateralObligationToReturnSecurities
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherAssetsMember
(1,293,000,000)us-gaap_DerivativeCollateralObligationToReturnSecurities
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherAssetsMember
Total Net receivables 1,795,000,000us-gaap_DerivativeAssetFairValueOffsetAgainstCollateralNetOfNotSubjectToMasterNettingArrangementPolicyElection
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherAssetsMember
1,365,000,000us-gaap_DerivativeAssetFairValueOffsetAgainstCollateralNetOfNotSubjectToMasterNettingArrangementPolicyElection
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherAssetsMember
Other liabilities    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative payables 1,968,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherLiabilitiesMember
1,784,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherLiabilitiesMember
Cash collateral received, net of amount used to offset derivative assets 56,000,000c_DerivativeCollateralObligationToReturnCashNet
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherLiabilitiesMember
7,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 (2,150,000,000)us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherLiabilitiesMember
(15,000,000)us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherLiabilitiesMember
Netting of cash collateral paid 0us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherLiabilitiesMember
(15,000,000)us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherLiabilitiesMember
Total derivative liabilities 2,024,000,000us-gaap_DerivativeLiabilities
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherLiabilitiesMember
1,776,000,000us-gaap_DerivativeLiabilities
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherLiabilitiesMember
Cash collateral paid 0us-gaap_DerivativeCollateralRightToReclaimCash
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherLiabilitiesMember
0us-gaap_DerivativeCollateralRightToReclaimCash
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherLiabilitiesMember
Non-cash collateral paid 0us-gaap_DerivativeCollateralRightToReclaimSecurities
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherLiabilitiesMember
0us-gaap_DerivativeCollateralRightToReclaimSecurities
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherLiabilitiesMember
Total Net payables 2,024,000,000us-gaap_DerivativeLiabilityFairValueOffsetAgainstCollateralNetOfNotSubjectToMasterNettingArrangementPolicyElection
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherLiabilitiesMember
1,776,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
Derivative instruments designated as ASC 815 (SFAS 133) hedges | Trading accounts assets    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative receivables 10,995,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
9,693,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 2,296,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
1,815,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,745,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherAssetsMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
3,795,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,132,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherLiabilitiesMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
1,027,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 6,858,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
5,808,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 2,000,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
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
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,858,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
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
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,352,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
1,072,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 1,282,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
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
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 70,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
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
Derivative instruments designated as ASC 815 (SFAS 133) hedges | Interest rate contracts | Other assets    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative receivables 2,917,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
3,117,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 2,917,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,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
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
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
Derivative instruments designated as ASC 815 (SFAS 133) hedges | Interest rate contracts | Other liabilities    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative payables 396,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
439,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 377,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
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
Derivative instruments designated as ASC 815 (SFAS 133) hedges | Interest rate contracts | Other liabilities | Cleared    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative payables 19,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
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
Derivative instruments designated as ASC 815 (SFAS 133) hedges | Foreign exchange contracts | Trading accounts assets    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative receivables 4,137,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
3,885,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 4,137,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
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
Derivative instruments designated as ASC 815 (SFAS 133) hedges | Foreign exchange contracts | Trading accounts liabilities    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative payables 944,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
743,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 944,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
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
Derivative instruments designated as ASC 815 (SFAS 133) hedges | Foreign exchange contracts | Other assets    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative receivables 828,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
678,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 828,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
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
Derivative instruments designated as ASC 815 (SFAS 133) hedges | Foreign exchange contracts | Other liabilities    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative payables 736,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
588,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 736,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
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
Derivative instruments not designated as ASC 815 (SFAS 133) hedges | Trading accounts assets    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative receivables 886,777,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
876,544,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 895,406,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
881,378,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 751,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherAssetsMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
531,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 836,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherLiabilitiesMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
757,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 633,124,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
632,645,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 387,254,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
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
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 245,831,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
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
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 39,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
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
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,221,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
621,210,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 371,214,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
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
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 249,950,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
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
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 57,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
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
Derivative instruments not designated as ASC 815 (SFAS 133) hedges | Interest rate contracts | Other assets    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative receivables 376,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
253,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 117,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
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
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 259,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
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
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 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
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
Derivative instruments not designated as ASC 815 (SFAS 133) hedges | Interest rate contracts | Other liabilities    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative payables 264,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
185,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
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
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 264,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
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
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 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
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
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 172,132,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
152,109,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 171,685,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
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
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 390,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
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
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 57,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
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
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 179,150,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
158,083,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 178,722,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
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
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 353,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
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
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 75,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
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
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
0us-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
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
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 35,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
17,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 35,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
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
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,275,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
24,752,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 19,303,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
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
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 27,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
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,945,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
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
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,630,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
32,469,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,156,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,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
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 22,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
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,452,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
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
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
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
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 19,023,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= c_CommodityOptionAndOtherContractOptionsMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
23,520,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 15,912,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
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
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,111,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
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
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 24,019,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= c_CommodityOptionAndOtherContractOptionsMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
26,186,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 21,265,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
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
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 2,754,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
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
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 38,223,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
43,518,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 32,954,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
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
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 5,269,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
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
Derivative instruments not designated as ASC 815 (SFAS 133) hedges | Credit derivatives | Trading accounts liabilities    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative payables 38,386,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= c_TradingAccountsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
43,430,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 33,362,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
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
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 5,024,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
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
Derivative instruments not designated as ASC 815 (SFAS 133) hedges | Credit derivatives | Other assets    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative receivables 375,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
278,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 357,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
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
Derivative instruments not designated as ASC 815 (SFAS 133) hedges | Credit derivatives | Other assets | Cleared    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative receivables 18,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
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
Derivative instruments not designated as ASC 815 (SFAS 133) hedges | Credit derivatives | Other liabilities    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative payables 537,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
555,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 367,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
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
Derivative instruments not designated as ASC 815 (SFAS 133) hedges | Credit derivatives | Other liabilities | Cleared    
Derivative Mark-to-Market (MTM) Receivables/Payables    
Derivative payables 170,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
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
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 12,844,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
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
Derivative payables   25,972,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 26,200,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,379,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
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
Derivative payables   17,458,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 $ 12,186,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