XML 69 R168.htm IDEA: XBRL DOCUMENT v2.4.1.9
FAIR VALUE MEASUREMENT - Items Measured at Fair Value on a Recurring Basis (Details) (USD $)
12 Months Ended
Dec. 31, 2014
Dec. 31, 2013
Assets, Fair Value Disclosure [Abstract]    
Federal funds sold and securities borrowed or purchased under agreements to resell, selected portfolios of securities purchased under agreements to resell, Netting $ (56,339,000,000)us-gaap_SecuritiesPurchasedUnderAgreementsToResellLiability $ (43,245,000,000)us-gaap_SecuritiesPurchasedUnderAgreementsToResellLiability
Trading account assets 296,786,000,000us-gaap_TradingSecurities 285,928,000,000us-gaap_TradingSecurities
Netting of cash collateral received (47,625,000,000)us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset (34,893,000,000)us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset
Investments 333,443,000,000c_InvestmentsExcludingTradingSecurities 308,980,000,000c_InvestmentsExcludingTradingSecurities
Loans 5,901,000,000us-gaap_LoansReceivableFairValueDisclosure 5,029,000,000us-gaap_LoansReceivableFairValueDisclosure
Mortgage servicing rights (MSRs) 1,845,000,000us-gaap_ServicingAssetAtFairValueAmount 2,718,000,000us-gaap_ServicingAssetAtFairValueAmount
Liabilities, Fair Value Disclosure [Abstract]    
Federal funds purchased and securities loaned or sold under agreements to repurchase, selected portfolios of securities sold under agreements to repurchase, Netting (56,339,000,000)us-gaap_SecuritiesSoldUnderAgreementsToRepurchaseAsset (43,245,000,000)us-gaap_SecuritiesSoldUnderAgreementsToRepurchaseAsset
Netting of cash collateral paid (47,769,000,000)us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset (39,094,000,000)us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset
Assets transferred from Level 1 to Level 2 4,100,000,000c_FairValueAssetsLevel1toLevel2TransfersAmountinPeriod 2,500,000,000c_FairValueAssetsLevel1toLevel2TransfersAmountinPeriod
Assets transferred from Level 2 to Level 1 4,200,000,000c_FairValueAssetsLevel2toLevel1TransfersAmountinPeriod 49,300,000,000c_FairValueAssetsLevel2toLevel1TransfersAmountinPeriod
Liabilities transferred from Level 1 to Level 2 1,400,000,000c_FairValueLiabilitiesLevel1toLevel2TransfersAmountinPeriod  
Mortgage-backed securities - U.S. agency-sponsored    
Assets, Fair Value Disclosure [Abstract]    
Trading account assets 27,053,000,000us-gaap_TradingSecurities
/ invest_InvestmentAxis
= c_MortgageBackedSecuritiesIssuedByUSGovernmentCorporationsAndAgenciesMember
23,955,000,000us-gaap_TradingSecurities
/ invest_InvestmentAxis
= c_MortgageBackedSecuritiesIssuedByUSGovernmentCorporationsAndAgenciesMember
Mortgage-backed securities - Commercial    
Assets, Fair Value Disclosure [Abstract]    
Trading account assets 4,343,000,000us-gaap_TradingSecurities
/ invest_InvestmentAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
2,574,000,000us-gaap_TradingSecurities
/ invest_InvestmentAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
Mortgage-backed securities    
Assets, Fair Value Disclosure [Abstract]    
Trading account assets 36,234,000,000us-gaap_TradingSecurities
/ invest_InvestmentAxis
= us-gaap_MortgageBackedSecuritiesMember
30,606,000,000us-gaap_TradingSecurities
/ invest_InvestmentAxis
= us-gaap_MortgageBackedSecuritiesMember
U.S. Treasury and federal agency securities    
Assets, Fair Value Disclosure [Abstract]    
Trading account assets 20,474,000,000us-gaap_TradingSecurities
/ invest_InvestmentAxis
= us-gaap_USTreasuryAndGovernmentMember
14,837,000,000us-gaap_TradingSecurities
/ invest_InvestmentAxis
= us-gaap_USTreasuryAndGovernmentMember
State and municipal securities    
Assets, Fair Value Disclosure [Abstract]    
Trading account assets 3,402,000,000us-gaap_TradingSecurities
/ invest_InvestmentAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
3,207,000,000us-gaap_TradingSecurities
/ invest_InvestmentAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
Foreign government    
Assets, Fair Value Disclosure [Abstract]    
Trading account assets 64,937,000,000us-gaap_TradingSecurities
/ invest_InvestmentAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
74,856,000,000us-gaap_TradingSecurities
/ invest_InvestmentAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
Corporate    
Assets, Fair Value Disclosure [Abstract]    
Trading account assets 27,797,000,000us-gaap_TradingSecurities
/ invest_InvestmentAxis
= us-gaap_CorporateDebtSecuritiesMember
30,534,000,000us-gaap_TradingSecurities
/ invest_InvestmentAxis
= us-gaap_CorporateDebtSecuritiesMember
Equity securities    
Assets, Fair Value Disclosure [Abstract]    
Trading account assets 57,846,000,000us-gaap_TradingSecurities
/ invest_InvestmentAxis
= us-gaap_EquitySecuritiesMember
61,776,000,000us-gaap_TradingSecurities
/ invest_InvestmentAxis
= us-gaap_EquitySecuritiesMember
Asset-backed securities    
Assets, Fair Value Disclosure [Abstract]    
Trading account assets 4,546,000,000us-gaap_TradingSecurities
/ invest_InvestmentAxis
= us-gaap_AssetBackedSecuritiesMember
5,616,000,000us-gaap_TradingSecurities
/ invest_InvestmentAxis
= us-gaap_AssetBackedSecuritiesMember
Other debt securities    
Assets, Fair Value Disclosure [Abstract]    
Trading account assets 13,593,000,000us-gaap_TradingSecurities
/ invest_InvestmentAxis
= us-gaap_OtherDebtSecuritiesMember
11,675,000,000us-gaap_TradingSecurities
/ invest_InvestmentAxis
= us-gaap_OtherDebtSecuritiesMember
Recurring    
Assets, Fair Value Disclosure [Abstract]    
Federal funds sold and securities borrowed or purchased under agreements to resell 191,320,000,000c_FederalFundsSoldAndSecuritiesBorrowedOrPurchasedUnderAgreementsToResellGross
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
176,414,000,000c_FederalFundsSoldAndSecuritiesBorrowedOrPurchasedUnderAgreementsToResellGross
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Federal funds sold and securities borrowed or purchased under agreements to resell, selected portfolios of securities purchased under agreements to resell, Netting (47,129,000,000)us-gaap_SecuritiesPurchasedUnderAgreementsToResellLiability
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
(32,331,000,000)us-gaap_SecuritiesPurchasedUnderAgreementsToResellLiability
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Federal funds sold and securities borrowed or purchased under agreements to resell, selected portfolios of securities purchased under agreements to resell 144,191,000,000us-gaap_FederalFundsSoldAndSecuritiesBorrowedOrPurchasedUnderAgreementsToResellFairValueDisclosure
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
144,083,000,000us-gaap_FederalFundsSoldAndSecuritiesBorrowedOrPurchasedUnderAgreementsToResellFairValueDisclosure
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Investments 302,901,000,000c_InvestmentsExcludingTradingSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
291,216,000,000c_InvestmentsExcludingTradingSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Loans 5,901,000,000us-gaap_LoansReceivableFairValueDisclosure
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
5,029,000,000us-gaap_LoansReceivableFairValueDisclosure
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Mortgage servicing rights (MSRs) 1,845,000,000us-gaap_ServicingAssetAtFairValueAmount
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
2,718,000,000us-gaap_ServicingAssetAtFairValueAmount
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Assets before netting 1,633,109,000,000c_AssetsBeforeEffectsOfMasterNettingArrangements
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
1,519,870,000,000c_AssetsBeforeEffectsOfMasterNettingArrangements
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Total assets, Netting (873,723,000,000)c_AssetsDerivativeAssetFairValueGrossLiabilityObligationToReturnCashOffsetAndSecuritiesPurchasedUnderAgreementsToResellLiability
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
(783,773,000,000)c_AssetsDerivativeAssetFairValueGrossLiabilityObligationToReturnCashOffsetAndSecuritiesPurchasedUnderAgreementsToResellLiability
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Total assets 759,386,000,000us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
736,097,000,000us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Liabilities, Fair Value Disclosure [Abstract]    
Interest-bearing deposits 1,684,000,000us-gaap_InterestBearingDepositLiabilities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
1,677,000,000us-gaap_InterestBearingDepositLiabilities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Federal funds purchased and securities loaned or sold under agreements to repurchase, selected portfolios of securities sold under agreements to repurchase, Gross 83,854,000,000c_FederalFundsPurchasedAndSecuritiesLoanedOrSoldUnderAgreementsToRepurchaseGross
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
86,478,000,000c_FederalFundsPurchasedAndSecuritiesLoanedOrSoldUnderAgreementsToRepurchaseGross
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Federal funds purchased and securities loaned or sold under agreements to repurchase, selected portfolios of securities sold under agreements to repurchase, Netting (47,129,000,000)us-gaap_SecuritiesSoldUnderAgreementsToRepurchaseAsset
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
(32,331,000,000)us-gaap_SecuritiesSoldUnderAgreementsToRepurchaseAsset
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Federal funds purchased and securities loaned or sold under agreements to repurchase, selected portfolios of securities sold under agreements to repurchase 36,725,000,000us-gaap_FederalFundsPurchasedAndSecuritiesLoanedOrSoldUnderAgreementsToRepurchaseFairValueDisclosure
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
54,147,000,000us-gaap_FederalFundsPurchasedAndSecuritiesLoanedOrSoldUnderAgreementsToRepurchaseFairValueDisclosure
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Securities sold, not yet purchased 70,944,000,000us-gaap_FinancialInstrumentsSoldNotYetPurchasedAtFairValue
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
61,508,000,000us-gaap_FinancialInstrumentsSoldNotYetPurchasedAtFairValue
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Short-term borrowings 1,496,000,000us-gaap_ShorttermDebtFairValue
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
3,692,000,000us-gaap_ShorttermDebtFairValue
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Long-term debt, at fair value 26,180,000,000us-gaap_LongTermDebtFairValue
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
26,877,000,000us-gaap_LongTermDebtFairValue
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Total liabilities, Gross 1,078,988,000,000c_LiabilitiesBeforeEffectsOfMasterNettingArrangements
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
982,189,000,000c_LiabilitiesBeforeEffectsOfMasterNettingArrangements
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Total liabilities, Netting (872,091,000,000)c_LiabilitiesDerivativeLiabilityFairValueGrossAssetRightToReclaimCashOffsetAndSecuritiesSoldUnderAgreementsToRepurchaseAsset
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
(785,023,000,000)c_LiabilitiesDerivativeLiabilityFairValueGrossAssetRightToReclaimCashOffsetAndSecuritiesSoldUnderAgreementsToRepurchaseAsset
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Total liabilities 206,897,000,000us-gaap_LiabilitiesFairValueDisclosure
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
197,166,000,000us-gaap_LiabilitiesFairValueDisclosure
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring | Trading derivatives liabilities    
Liabilities, Fair Value Disclosure [Abstract]    
Trading derivatives, liability 883,193,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_TradingLiabilitiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
791,119,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_TradingLiabilitiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Cash collateral received 9,846,000,000c_DerivativeCollateralObligationToReturnCashNet
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_TradingLiabilitiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
8,827,000,000c_DerivativeCollateralObligationToReturnCashNet
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_TradingLiabilitiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Total trading derivatives and cash collateral, liability 893,039,000,000c_DerivativeFairValueOfDerivativeLiabilityAndDerivativeCollateralRightToReclaimCashNet
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_TradingLiabilitiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
799,946,000,000c_DerivativeFairValueOfDerivativeLiabilityAndDerivativeCollateralRightToReclaimCashNet
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_TradingLiabilitiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Netting agreements (777,178,000,000)us-gaap_DerivativeLiabilityFairValueGrossAsset
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_TradingLiabilitiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
(713,598,000,000)us-gaap_DerivativeLiabilityFairValueGrossAsset
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_TradingLiabilitiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Netting of cash collateral paid (47,769,000,000)us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_TradingLiabilitiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
(39,094,000,000)us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_TradingLiabilitiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Netting, Liabilities, total of netting agreements and cash collateral received (824,947,000,000)us-gaap_DerivativeLiabilityFairValueGrossAssetAndRightToReclaimCashOffset
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_TradingLiabilitiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
(752,692,000,000)us-gaap_DerivativeLiabilityFairValueGrossAssetAndRightToReclaimCashOffset
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_TradingLiabilitiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Total derivative liabilities 68,092,000,000us-gaap_DerivativeLiabilities
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_TradingLiabilitiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
47,254,000,000us-gaap_DerivativeLiabilities
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_TradingLiabilitiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Cash collateral received, gross 57,471,000,000c_DerivativeCollateralObligationToReturnCashGross
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_TradingLiabilitiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
43,720,000,000c_DerivativeCollateralObligationToReturnCashGross
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_TradingLiabilitiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring | Trading derivatives liabilities | Interest rate contracts    
Liabilities, Fair Value Disclosure [Abstract]    
Trading derivatives, liability 622,282,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_TradingLiabilitiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
617,226,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_TradingLiabilitiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring | Trading derivatives liabilities | Foreign exchange contracts    
Liabilities, Fair Value Disclosure [Abstract]    
Trading derivatives, liability 158,826,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_TradingLiabilitiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
88,637,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_TradingLiabilitiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring | Trading derivatives liabilities | Equity contracts    
Liabilities, Fair Value Disclosure [Abstract]    
Trading derivatives, liability 32,469,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_TradingLiabilitiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
34,292,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_TradingLiabilitiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring | Trading derivatives liabilities | Commodity contracts    
Liabilities, Fair Value Disclosure [Abstract]    
Trading derivatives, liability 26,186,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_TradingLiabilitiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
10,170,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_TradingLiabilitiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring | Trading derivatives liabilities | Credit derivatives    
Liabilities, Fair Value Disclosure [Abstract]    
Trading derivatives, liability 43,430,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_TradingLiabilitiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
40,794,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_TradingLiabilitiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring | Non-trading derivatives and other financial liabilities    
Assets, Fair Value Disclosure [Abstract]    
Netting of cash collateral received   (2,951,000,000)us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset
/ us-gaap_FairValueByLiabilityClassAxis
= c_OtherFinancialLiabilitiesIncludingNonTradingDerivativesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Cash collateral paid, gross 138,000,000c_DerivativeCollateralRightToReclaimCashGross
/ us-gaap_FairValueByLiabilityClassAxis
= c_OtherFinancialLiabilitiesIncludingNonTradingDerivativesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
 
Liabilities, Fair Value Disclosure [Abstract]    
Cash collateral received 7,000,000c_DerivativeCollateralObligationToReturnCashNet
/ us-gaap_FairValueByLiabilityClassAxis
= c_OtherFinancialLiabilitiesIncludingNonTradingDerivativesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
282,000,000c_DerivativeCollateralObligationToReturnCashNet
/ us-gaap_FairValueByLiabilityClassAxis
= c_OtherFinancialLiabilitiesIncludingNonTradingDerivativesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Netting of cash collateral paid (15,000,000)us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset
/ us-gaap_FairValueByLiabilityClassAxis
= c_OtherFinancialLiabilitiesIncludingNonTradingDerivativesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
 
Netting, Liabilities, total of netting agreements and cash collateral received (15,000,000)us-gaap_DerivativeLiabilityFairValueGrossAssetAndRightToReclaimCashOffset
/ us-gaap_FairValueByLiabilityClassAxis
= c_OtherFinancialLiabilitiesIncludingNonTradingDerivativesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
 
Other liabilities, gross 1,784,000,000c_OtherLiabilitiesBeforeEffectsOfMasterNettingArrangements
/ us-gaap_FairValueByLiabilityClassAxis
= c_OtherFinancialLiabilitiesIncludingNonTradingDerivativesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
1,729,000,000c_OtherLiabilitiesBeforeEffectsOfMasterNettingArrangements
/ us-gaap_FairValueByLiabilityClassAxis
= c_OtherFinancialLiabilitiesIncludingNonTradingDerivativesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Non-trading derivatives and other financial liabilities measured on a recurring basis, gross 1,791,000,000us-gaap_OtherLiabilitiesFairValueDisclosure
/ us-gaap_FairValueByLiabilityClassAxis
= c_OtherFinancialLiabilitiesIncludingNonTradingDerivativesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
2,011,000,000us-gaap_OtherLiabilitiesFairValueDisclosure
/ us-gaap_FairValueByLiabilityClassAxis
= c_OtherFinancialLiabilitiesIncludingNonTradingDerivativesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Total other assets and cash collateral, gross 1,776,000,000c_OtherLiabilitiesBeforeEffectsOfMasterNettingArrangementsAndDerivativeCollateralObligationToReturnCashNet
/ us-gaap_FairValueByLiabilityClassAxis
= c_OtherFinancialLiabilitiesIncludingNonTradingDerivativesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
2,011,000,000c_OtherLiabilitiesBeforeEffectsOfMasterNettingArrangementsAndDerivativeCollateralObligationToReturnCashNet
/ us-gaap_FairValueByLiabilityClassAxis
= c_OtherFinancialLiabilitiesIncludingNonTradingDerivativesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Cash collateral received, gross 1,798,000,000c_DerivativeCollateralObligationToReturnCashGross
/ us-gaap_FairValueByLiabilityClassAxis
= c_OtherFinancialLiabilitiesIncludingNonTradingDerivativesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
3,233,000,000c_DerivativeCollateralObligationToReturnCashGross
/ us-gaap_FairValueByLiabilityClassAxis
= c_OtherFinancialLiabilitiesIncludingNonTradingDerivativesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring | Mortgage-backed securities - U.S. agency-sponsored    
Assets, Fair Value Disclosure [Abstract]    
Trading account assets 27,053,000,000us-gaap_TradingSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= c_MortgageBackedSecuritiesIssuedByUSGovernmentCorporationsAndAgenciesMember
23,955,000,000us-gaap_TradingSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= c_MortgageBackedSecuritiesIssuedByUSGovernmentCorporationsAndAgenciesMember
Investments 36,091,000,000c_InvestmentsExcludingTradingSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= c_MortgageBackedSecuritiesIssuedByUSGovernmentCorporationsAndAgenciesMember
41,997,000,000c_InvestmentsExcludingTradingSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= c_MortgageBackedSecuritiesIssuedByUSGovernmentCorporationsAndAgenciesMember
Recurring | Mortgage-backed securities - Residential    
Assets, Fair Value Disclosure [Abstract]    
Trading account assets 4,838,000,000us-gaap_TradingSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
4,077,000,000us-gaap_TradingSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
Investments 8,363,000,000c_InvestmentsExcludingTradingSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
10,205,000,000c_InvestmentsExcludingTradingSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
Recurring | Mortgage-backed securities - Commercial    
Assets, Fair Value Disclosure [Abstract]    
Trading account assets 4,343,000,000us-gaap_TradingSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
2,574,000,000us-gaap_TradingSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
Investments 554,000,000c_InvestmentsExcludingTradingSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
453,000,000c_InvestmentsExcludingTradingSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
Recurring | Mortgage-backed securities    
Assets, Fair Value Disclosure [Abstract]    
Trading account assets 36,234,000,000us-gaap_TradingSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_MortgageBackedSecuritiesMember
30,606,000,000us-gaap_TradingSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_MortgageBackedSecuritiesMember
Investments 45,008,000,000c_InvestmentsExcludingTradingSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_MortgageBackedSecuritiesMember
52,655,000,000c_InvestmentsExcludingTradingSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_MortgageBackedSecuritiesMember
Recurring | U.S. Treasury and federal agency securities    
Assets, Fair Value Disclosure [Abstract]    
Trading account assets 20,474,000,000us-gaap_TradingSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_USTreasuryAndGovernmentMember
14,837,000,000us-gaap_TradingSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_USTreasuryAndGovernmentMember
Investments 123,690,000,000c_InvestmentsExcludingTradingSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_USTreasuryAndGovernmentMember
87,596,000,000c_InvestmentsExcludingTradingSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_USTreasuryAndGovernmentMember
Recurring | State and municipal securities    
Assets, Fair Value Disclosure [Abstract]    
Trading account assets 3,402,000,000us-gaap_TradingSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
3,207,000,000us-gaap_TradingSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
Investments 12,699,000,000c_InvestmentsExcludingTradingSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
18,940,000,000c_InvestmentsExcludingTradingSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
Recurring | Foreign government    
Assets, Fair Value Disclosure [Abstract]    
Trading account assets 64,937,000,000us-gaap_TradingSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
74,856,000,000us-gaap_TradingSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
Investments 90,697,000,000c_InvestmentsExcludingTradingSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
96,471,000,000c_InvestmentsExcludingTradingSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
Recurring | Corporate    
Assets, Fair Value Disclosure [Abstract]    
Trading account assets 27,797,000,000us-gaap_TradingSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_CorporateDebtSecuritiesMember
30,534,000,000us-gaap_TradingSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_CorporateDebtSecuritiesMember
Investments 12,157,000,000c_InvestmentsExcludingTradingSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_CorporateDebtSecuritiesMember
11,130,000,000c_InvestmentsExcludingTradingSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_CorporateDebtSecuritiesMember
Recurring | Equity securities    
Assets, Fair Value Disclosure [Abstract]    
Trading account assets 57,846,000,000us-gaap_TradingSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_EquitySecuritiesMember
61,776,000,000us-gaap_TradingSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_EquitySecuritiesMember
Investments 2,725,000,000c_InvestmentsExcludingTradingSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_EquitySecuritiesMember
3,734,000,000c_InvestmentsExcludingTradingSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_EquitySecuritiesMember
Recurring | Asset-backed securities    
Assets, Fair Value Disclosure [Abstract]    
Trading account assets 4,546,000,000us-gaap_TradingSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_AssetBackedSecuritiesMember
5,616,000,000us-gaap_TradingSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_AssetBackedSecuritiesMember
Investments 12,506,000,000c_InvestmentsExcludingTradingSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_AssetBackedSecuritiesMember
15,274,000,000c_InvestmentsExcludingTradingSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_AssetBackedSecuritiesMember
Recurring | Other debt securities    
Assets, Fair Value Disclosure [Abstract]    
Trading account assets 13,593,000,000us-gaap_TradingSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_OtherDebtSecuritiesMember
11,675,000,000us-gaap_TradingSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_OtherDebtSecuritiesMember
Investments 661,000,000c_InvestmentsExcludingTradingSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_OtherDebtSecuritiesMember
711,000,000c_InvestmentsExcludingTradingSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_OtherDebtSecuritiesMember
Recurring | Non-marketable equity securities    
Assets, Fair Value Disclosure [Abstract]    
Investments 2,758,000,000c_InvestmentsExcludingTradingSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= c_NonMarketableEquitySecuritiesMember
4,705,000,000c_InvestmentsExcludingTradingSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= c_NonMarketableEquitySecuritiesMember
Recurring | Trading account assets    
Assets, Fair Value Disclosure [Abstract]    
Trading derivatives, asset, Gross 886,237,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
795,239,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Gross cash collateral paid 6,523,000,000c_DerivativeCollateralRightToReclaimCashNet
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
6,073,000,000c_DerivativeCollateralRightToReclaimCashNet
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Trading derivative, asset, gross net cash collateral paid 892,760,000,000c_DerivativeFairValueOfDerivativeAssetAndDerivativeCollateralRightToReclaimCashNet
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
801,312,000,000c_DerivativeFairValueOfDerivativeAssetAndDerivativeCollateralRightToReclaimCashNet
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Less: Netting agreements to assets (777,178,000,000)us-gaap_DerivativeAssetFairValueGrossLiability
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
(713,598,000,000)us-gaap_DerivativeAssetFairValueGrossLiability
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Netting of cash collateral received (47,625,000,000)us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
(34,893,000,000)us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Netting, Assets, total of netting agreements and cash collateral received (824,803,000,000)us-gaap_DerivativeAssetFairValueGrossLiabilityAndObligationToReturnCashOffset
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
(748,491,000,000)us-gaap_DerivativeAssetFairValueGrossLiabilityAndObligationToReturnCashOffset
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Trading derivatives 67,957,000,000us-gaap_DerivativeAssets
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
52,821,000,000us-gaap_DerivativeAssets
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Cash collateral paid, gross 54,292,000,000c_DerivativeCollateralRightToReclaimCashGross
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
45,167,000,000c_DerivativeCollateralRightToReclaimCashGross
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring | Trading account assets | Interest rate contracts    
Assets, Fair Value Disclosure [Abstract]    
Trading derivatives, asset, Gross 638,453,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
628,380,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring | Trading account assets | Foreign exchange contracts    
Assets, Fair Value Disclosure [Abstract]    
Trading derivatives, asset, Gross 155,994,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
92,554,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring | Trading account assets | Equity contracts    
Assets, Fair Value Disclosure [Abstract]    
Trading derivatives, asset, Gross 24,752,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
24,877,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring | Trading account assets | Commodity contracts    
Assets, Fair Value Disclosure [Abstract]    
Trading derivatives, asset, Gross 23,520,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
9,082,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring | Trading account assets | Credit derivatives    
Assets, Fair Value Disclosure [Abstract]    
Trading derivatives, asset, Gross 43,518,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
40,346,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring | Non-trading derivatives and other financial assets    
Assets, Fair Value Disclosure [Abstract]    
Netting of cash collateral received (1,791,000,000)us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset
/ us-gaap_FairValueByAssetClassAxis
= c_OtherFinancialAssetsIncludingNonTradingDerivativesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
(2,951,000,000)us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset
/ us-gaap_FairValueByAssetClassAxis
= c_OtherFinancialAssetsIncludingNonTradingDerivativesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Netting, Assets, total of netting agreements and cash collateral received (1,791,000,000)us-gaap_DerivativeAssetFairValueGrossLiabilityAndObligationToReturnCashOffset
/ us-gaap_FairValueByAssetClassAxis
= c_OtherFinancialAssetsIncludingNonTradingDerivativesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
(2,951,000,000)us-gaap_DerivativeAssetFairValueGrossLiabilityAndObligationToReturnCashOffset
/ us-gaap_FairValueByAssetClassAxis
= c_OtherFinancialAssetsIncludingNonTradingDerivativesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Other assets, gross 9,430,000,000c_OtherAssetsBeforeEffectsOfMasterNettingArrangements
/ us-gaap_FairValueByAssetClassAxis
= c_OtherFinancialAssetsIncludingNonTradingDerivativesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
9,992,000,000c_OtherAssetsBeforeEffectsOfMasterNettingArrangements
/ us-gaap_FairValueByAssetClassAxis
= c_OtherFinancialAssetsIncludingNonTradingDerivativesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Cash collateral paid, gross 123,000,000c_DerivativeCollateralRightToReclaimCashGross
/ us-gaap_FairValueByAssetClassAxis
= c_OtherFinancialAssetsIncludingNonTradingDerivativesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
82,000,000c_DerivativeCollateralRightToReclaimCashGross
/ us-gaap_FairValueByAssetClassAxis
= c_OtherFinancialAssetsIncludingNonTradingDerivativesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Total other assets and cash collateral, gross 9,553,000,000c_OtherAssetsBeforeEffectsOfMasterNettingArrangementsAndDerivativeCollateralRightToReclaimCashNet
/ us-gaap_FairValueByAssetClassAxis
= c_OtherFinancialAssetsIncludingNonTradingDerivativesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
10,074,000,000c_OtherAssetsBeforeEffectsOfMasterNettingArrangementsAndDerivativeCollateralRightToReclaimCashNet
/ us-gaap_FairValueByAssetClassAxis
= c_OtherFinancialAssetsIncludingNonTradingDerivativesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Other assets 7,762,000,000us-gaap_OtherAssetsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= c_OtherFinancialAssetsIncludingNonTradingDerivativesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
7,123,000,000us-gaap_OtherAssetsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= c_OtherFinancialAssetsIncludingNonTradingDerivativesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring | Trading securities (excluding trading account derivatives)    
Assets, Fair Value Disclosure [Abstract]    
Trading account assets 228,829,000,000us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
233,107,000,000us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring | Level 1    
Assets, Fair Value Disclosure [Abstract]    
Federal funds sold and securities borrowed or purchased under agreements to resell 0c_FederalFundsSoldAndSecuritiesBorrowedOrPurchasedUnderAgreementsToResellGross
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
0c_FederalFundsSoldAndSecuritiesBorrowedOrPurchasedUnderAgreementsToResellGross
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Investments 151,499,000,000c_InvestmentsExcludingTradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
106,905,000,000c_InvestmentsExcludingTradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Loans 0us-gaap_LoansReceivableFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
0us-gaap_LoansReceivableFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Mortgage servicing rights (MSRs) 0us-gaap_ServicingAssetAtFairValueAmount
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
0us-gaap_ServicingAssetAtFairValueAmount
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Assets before netting 261,637,000,000c_AssetsBeforeEffectsOfMasterNettingArrangements
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
233,316,000,000c_AssetsBeforeEffectsOfMasterNettingArrangements
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Total as a percentage of gross assets 16.10%c_PercentageOfAssetsToGrossAssets
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
15.40%c_PercentageOfAssetsToGrossAssets
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Liabilities, Fair Value Disclosure [Abstract]    
Interest-bearing deposits 0us-gaap_InterestBearingDepositLiabilities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
0us-gaap_InterestBearingDepositLiabilities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Federal funds purchased and securities loaned or sold under agreements to repurchase, selected portfolios of securities sold under agreements to repurchase, Gross 0c_FederalFundsPurchasedAndSecuritiesLoanedOrSoldUnderAgreementsToRepurchaseGross
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
0c_FederalFundsPurchasedAndSecuritiesLoanedOrSoldUnderAgreementsToRepurchaseGross
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Securities sold, not yet purchased 59,463,000,000us-gaap_FinancialInstrumentsSoldNotYetPurchasedAtFairValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
51,035,000,000us-gaap_FinancialInstrumentsSoldNotYetPurchasedAtFairValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Short-term borrowings 0us-gaap_ShorttermDebtFairValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
0us-gaap_ShorttermDebtFairValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Long-term debt, at fair value 0us-gaap_LongTermDebtFairValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
0us-gaap_LongTermDebtFairValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Total liabilities, Gross 63,164,000,000c_LiabilitiesBeforeEffectsOfMasterNettingArrangements
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
57,222,000,000c_LiabilitiesBeforeEffectsOfMasterNettingArrangements
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Total as a percentage of gross liabilities 5.90%c_PercentageOfLiabilitiesToGrossLiabilities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
5.90%c_PercentageOfLiabilitiesToGrossLiabilities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring | Level 1 | Trading derivatives liabilities    
Liabilities, Fair Value Disclosure [Abstract]    
Trading derivatives, liability 3,701,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_TradingLiabilitiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
6,187,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_TradingLiabilitiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring | Level 1 | Trading derivatives liabilities | Interest rate contracts    
Liabilities, Fair Value Disclosure [Abstract]    
Trading derivatives, liability 77,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_TradingLiabilitiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
12,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_TradingLiabilitiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring | Level 1 | Trading derivatives liabilities | Foreign exchange contracts    
Liabilities, Fair Value Disclosure [Abstract]    
Trading derivatives, liability 0us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_TradingLiabilitiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
29,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_TradingLiabilitiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring | Level 1 | Trading derivatives liabilities | Equity contracts    
Liabilities, Fair Value Disclosure [Abstract]    
Trading derivatives, liability 2,955,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_TradingLiabilitiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
5,783,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_TradingLiabilitiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring | Level 1 | Trading derivatives liabilities | Commodity contracts    
Liabilities, Fair Value Disclosure [Abstract]    
Trading derivatives, liability 669,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_TradingLiabilitiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
363,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_TradingLiabilitiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring | Level 1 | Trading derivatives liabilities | Credit derivatives    
Liabilities, Fair Value Disclosure [Abstract]    
Trading derivatives, liability 0us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_TradingLiabilitiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
0us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_TradingLiabilitiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring | Level 1 | Non-trading derivatives and other financial liabilities    
Liabilities, Fair Value Disclosure [Abstract]    
Other liabilities, gross 0c_OtherLiabilitiesBeforeEffectsOfMasterNettingArrangements
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByLiabilityClassAxis
= c_OtherFinancialLiabilitiesIncludingNonTradingDerivativesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
0c_OtherLiabilitiesBeforeEffectsOfMasterNettingArrangements
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByLiabilityClassAxis
= c_OtherFinancialLiabilitiesIncludingNonTradingDerivativesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring | Level 1 | Mortgage-backed securities - U.S. agency-sponsored    
Assets, Fair Value Disclosure [Abstract]    
Trading account assets 0us-gaap_TradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= c_MortgageBackedSecuritiesIssuedByUSGovernmentCorporationsAndAgenciesMember
0us-gaap_TradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= c_MortgageBackedSecuritiesIssuedByUSGovernmentCorporationsAndAgenciesMember
Investments 0c_InvestmentsExcludingTradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= c_MortgageBackedSecuritiesIssuedByUSGovernmentCorporationsAndAgenciesMember
0c_InvestmentsExcludingTradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= c_MortgageBackedSecuritiesIssuedByUSGovernmentCorporationsAndAgenciesMember
Recurring | Level 1 | Mortgage-backed securities - Residential    
Assets, Fair Value Disclosure [Abstract]    
Trading account assets 0us-gaap_TradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
0us-gaap_TradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
Investments 0c_InvestmentsExcludingTradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
0c_InvestmentsExcludingTradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
Recurring | Level 1 | Mortgage-backed securities - Commercial    
Assets, Fair Value Disclosure [Abstract]    
Trading account assets 0us-gaap_TradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
0us-gaap_TradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
Investments 0c_InvestmentsExcludingTradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
0c_InvestmentsExcludingTradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
Other assets, gross   0c_OtherAssetsBeforeEffectsOfMasterNettingArrangements
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
Recurring | Level 1 | Mortgage-backed securities    
Assets, Fair Value Disclosure [Abstract]    
Trading account assets 0us-gaap_TradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_MortgageBackedSecuritiesMember
0us-gaap_TradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_MortgageBackedSecuritiesMember
Investments 0c_InvestmentsExcludingTradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_MortgageBackedSecuritiesMember
0c_InvestmentsExcludingTradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_MortgageBackedSecuritiesMember
Recurring | Level 1 | U.S. Treasury and federal agency securities    
Assets, Fair Value Disclosure [Abstract]    
Trading account assets 15,991,000,000us-gaap_TradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_USTreasuryAndGovernmentMember
12,080,000,000us-gaap_TradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_USTreasuryAndGovernmentMember
Investments 110,710,000,000c_InvestmentsExcludingTradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_USTreasuryAndGovernmentMember
69,139,000,000c_InvestmentsExcludingTradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_USTreasuryAndGovernmentMember
Recurring | Level 1 | State and municipal securities    
Assets, Fair Value Disclosure [Abstract]    
Trading account assets 0us-gaap_TradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
0us-gaap_TradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
Investments 0c_InvestmentsExcludingTradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
0c_InvestmentsExcludingTradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
Recurring | Level 1 | Foreign government    
Assets, Fair Value Disclosure [Abstract]    
Trading account assets 37,995,000,000us-gaap_TradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
49,220,000,000us-gaap_TradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
Investments 37,280,000,000c_InvestmentsExcludingTradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
35,179,000,000c_InvestmentsExcludingTradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
Recurring | Level 1 | Corporate    
Assets, Fair Value Disclosure [Abstract]    
Trading account assets 1,337,000,000us-gaap_TradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_CorporateDebtSecuritiesMember
0us-gaap_TradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_CorporateDebtSecuritiesMember
Investments 1,739,000,000c_InvestmentsExcludingTradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_CorporateDebtSecuritiesMember
4,000,000c_InvestmentsExcludingTradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_CorporateDebtSecuritiesMember
Recurring | Level 1 | Equity securities    
Assets, Fair Value Disclosure [Abstract]    
Trading account assets 51,346,000,000us-gaap_TradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_EquitySecuritiesMember
58,761,000,000us-gaap_TradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_EquitySecuritiesMember
Investments 1,770,000,000c_InvestmentsExcludingTradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_EquitySecuritiesMember
2,583,000,000c_InvestmentsExcludingTradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_EquitySecuritiesMember
Recurring | Level 1 | Asset-backed securities    
Assets, Fair Value Disclosure [Abstract]    
Trading account assets 0us-gaap_TradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_AssetBackedSecuritiesMember
0us-gaap_TradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_AssetBackedSecuritiesMember
Investments 0c_InvestmentsExcludingTradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_AssetBackedSecuritiesMember
0c_InvestmentsExcludingTradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_AssetBackedSecuritiesMember
Recurring | Level 1 | Other debt securities    
Assets, Fair Value Disclosure [Abstract]    
Trading account assets 0us-gaap_TradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_OtherDebtSecuritiesMember
0us-gaap_TradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_OtherDebtSecuritiesMember
Investments 0c_InvestmentsExcludingTradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_OtherDebtSecuritiesMember
0c_InvestmentsExcludingTradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_OtherDebtSecuritiesMember
Recurring | Level 1 | Non-marketable equity securities    
Assets, Fair Value Disclosure [Abstract]    
Investments 0c_InvestmentsExcludingTradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= c_NonMarketableEquitySecuritiesMember
0c_InvestmentsExcludingTradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= c_NonMarketableEquitySecuritiesMember
Recurring | Level 1 | Trading account assets    
Assets, Fair Value Disclosure [Abstract]    
Trading derivatives, asset, Gross 3,469,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
6,350,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring | Level 1 | Trading account assets | Interest rate contracts    
Assets, Fair Value Disclosure [Abstract]    
Trading derivatives, asset, Gross 74,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
11,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring | Level 1 | Trading account assets | Foreign exchange contracts    
Assets, Fair Value Disclosure [Abstract]    
Trading derivatives, asset, Gross 0us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
40,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring | Level 1 | Trading account assets | Equity contracts    
Assets, Fair Value Disclosure [Abstract]    
Trading derivatives, asset, Gross 2,748,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
5,793,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring | Level 1 | Trading account assets | Commodity contracts    
Assets, Fair Value Disclosure [Abstract]    
Trading derivatives, asset, Gross 647,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
506,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring | Level 1 | Trading account assets | Credit derivatives    
Assets, Fair Value Disclosure [Abstract]    
Trading derivatives, asset, Gross 0us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
0us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring | Level 1 | Non-trading derivatives and other financial assets    
Assets, Fair Value Disclosure [Abstract]    
Other assets, gross 0c_OtherAssetsBeforeEffectsOfMasterNettingArrangements
/ us-gaap_FairValueByAssetClassAxis
= c_OtherFinancialAssetsIncludingNonTradingDerivativesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
0c_OtherAssetsBeforeEffectsOfMasterNettingArrangements
/ us-gaap_FairValueByAssetClassAxis
= c_OtherFinancialAssetsIncludingNonTradingDerivativesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring | Level 1 | Trading securities (excluding trading account derivatives)    
Assets, Fair Value Disclosure [Abstract]    
Trading account assets 106,669,000,000us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
120,061,000,000us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring | Level 2    
Assets, Fair Value Disclosure [Abstract]    
Federal funds sold and securities borrowed or purchased under agreements to resell 187,922,000,000c_FederalFundsSoldAndSecuritiesBorrowedOrPurchasedUnderAgreementsToResellGross
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
172,848,000,000c_FederalFundsSoldAndSecuritiesBorrowedOrPurchasedUnderAgreementsToResellGross
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Investments 144,064,000,000c_InvestmentsExcludingTradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
174,570,000,000c_InvestmentsExcludingTradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Loans 2,793,000,000us-gaap_LoansReceivableFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
886,000,000us-gaap_LoansReceivableFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Mortgage servicing rights (MSRs) 0us-gaap_ServicingAssetAtFairValueAmount
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
0us-gaap_ServicingAssetAtFairValueAmount
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Assets before netting 1,322,433,000,000c_AssetsBeforeEffectsOfMasterNettingArrangements
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
1,234,714,000,000c_AssetsBeforeEffectsOfMasterNettingArrangements
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Total as a percentage of gross assets 81.30%c_PercentageOfAssetsToGrossAssets
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
81.60%c_PercentageOfAssetsToGrossAssets
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Liabilities, Fair Value Disclosure [Abstract]    
Interest-bearing deposits 1,198,000,000us-gaap_InterestBearingDepositLiabilities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
787,000,000us-gaap_InterestBearingDepositLiabilities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Federal funds purchased and securities loaned or sold under agreements to repurchase, selected portfolios of securities sold under agreements to repurchase, Gross 82,811,000,000c_FederalFundsPurchasedAndSecuritiesLoanedOrSoldUnderAgreementsToRepurchaseGross
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
85,576,000,000c_FederalFundsPurchasedAndSecuritiesLoanedOrSoldUnderAgreementsToRepurchaseGross
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Securities sold, not yet purchased 11,057,000,000us-gaap_FinancialInstrumentsSoldNotYetPurchasedAtFairValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
9,883,000,000us-gaap_FinancialInstrumentsSoldNotYetPurchasedAtFairValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Short-term borrowings 1,152,000,000us-gaap_ShorttermDebtFairValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
3,663,000,000us-gaap_ShorttermDebtFairValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Long-term debt, at fair value 18,890,000,000us-gaap_LongTermDebtFairValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
19,256,000,000us-gaap_LongTermDebtFairValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Total liabilities, Gross 982,447,000,000c_LiabilitiesBeforeEffectsOfMasterNettingArrangements
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
894,749,000,000c_LiabilitiesBeforeEffectsOfMasterNettingArrangements
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Total as a percentage of gross liabilities 91.90%c_PercentageOfLiabilitiesToGrossLiabilities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
92.00%c_PercentageOfLiabilitiesToGrossLiabilities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring | Level 2 | Trading derivatives liabilities    
Liabilities, Fair Value Disclosure [Abstract]    
Trading derivatives, liability 865,562,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_TradingLiabilitiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
773,865,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_TradingLiabilitiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring | Level 2 | Trading derivatives liabilities | Interest rate contracts    
Liabilities, Fair Value Disclosure [Abstract]    
Trading derivatives, liability 617,933,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_TradingLiabilitiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
614,586,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_TradingLiabilitiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring | Level 2 | Trading derivatives liabilities | Foreign exchange contracts    
Liabilities, Fair Value Disclosure [Abstract]    
Trading derivatives, liability 158,354,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_TradingLiabilitiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
87,978,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_TradingLiabilitiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring | Level 2 | Trading derivatives liabilities | Equity contracts    
Liabilities, Fair Value Disclosure [Abstract]    
Trading derivatives, liability 26,616,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_TradingLiabilitiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
26,178,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_TradingLiabilitiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring | Level 2 | Trading derivatives liabilities | Commodity contracts    
Liabilities, Fair Value Disclosure [Abstract]    
Trading derivatives, liability 22,872,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_TradingLiabilitiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
7,613,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_TradingLiabilitiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring | Level 2 | Trading derivatives liabilities | Credit derivatives    
Liabilities, Fair Value Disclosure [Abstract]    
Trading derivatives, liability 39,787,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_TradingLiabilitiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
37,510,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_TradingLiabilitiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring | Level 2 | Non-trading derivatives and other financial liabilities    
Liabilities, Fair Value Disclosure [Abstract]    
Other liabilities, gross 1,777,000,000c_OtherLiabilitiesBeforeEffectsOfMasterNettingArrangements
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByLiabilityClassAxis
= c_OtherFinancialLiabilitiesIncludingNonTradingDerivativesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
1,719,000,000c_OtherLiabilitiesBeforeEffectsOfMasterNettingArrangements
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByLiabilityClassAxis
= c_OtherFinancialLiabilitiesIncludingNonTradingDerivativesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring | Level 2 | Mortgage-backed securities - U.S. agency-sponsored    
Assets, Fair Value Disclosure [Abstract]    
Trading account assets 25,968,000,000us-gaap_TradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= c_MortgageBackedSecuritiesIssuedByUSGovernmentCorporationsAndAgenciesMember
22,861,000,000us-gaap_TradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= c_MortgageBackedSecuritiesIssuedByUSGovernmentCorporationsAndAgenciesMember
Investments 36,053,000,000c_InvestmentsExcludingTradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= c_MortgageBackedSecuritiesIssuedByUSGovernmentCorporationsAndAgenciesMember
41,810,000,000c_InvestmentsExcludingTradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= c_MortgageBackedSecuritiesIssuedByUSGovernmentCorporationsAndAgenciesMember
Recurring | Level 2 | Mortgage-backed securities - Residential    
Assets, Fair Value Disclosure [Abstract]    
Trading account assets 2,158,000,000us-gaap_TradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
1,223,000,000us-gaap_TradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
Investments 8,355,000,000c_InvestmentsExcludingTradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
10,103,000,000c_InvestmentsExcludingTradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
Recurring | Level 2 | Mortgage-backed securities - Commercial    
Assets, Fair Value Disclosure [Abstract]    
Trading account assets 3,903,000,000us-gaap_TradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
2,318,000,000us-gaap_TradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
Investments 553,000,000c_InvestmentsExcludingTradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
453,000,000c_InvestmentsExcludingTradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
Recurring | Level 2 | Mortgage-backed securities    
Assets, Fair Value Disclosure [Abstract]    
Trading account assets 32,029,000,000us-gaap_TradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_MortgageBackedSecuritiesMember
26,402,000,000us-gaap_TradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_MortgageBackedSecuritiesMember
Investments 44,961,000,000c_InvestmentsExcludingTradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_MortgageBackedSecuritiesMember
52,366,000,000c_InvestmentsExcludingTradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_MortgageBackedSecuritiesMember
Recurring | Level 2 | U.S. Treasury and federal agency securities    
Assets, Fair Value Disclosure [Abstract]    
Trading account assets 4,483,000,000us-gaap_TradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_USTreasuryAndGovernmentMember
2,757,000,000us-gaap_TradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_USTreasuryAndGovernmentMember
Investments 12,974,000,000c_InvestmentsExcludingTradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_USTreasuryAndGovernmentMember
18,449,000,000c_InvestmentsExcludingTradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_USTreasuryAndGovernmentMember
Recurring | Level 2 | State and municipal securities    
Assets, Fair Value Disclosure [Abstract]    
Trading account assets 3,161,000,000us-gaap_TradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
2,985,000,000us-gaap_TradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
Investments 10,519,000,000c_InvestmentsExcludingTradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
17,297,000,000c_InvestmentsExcludingTradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
Recurring | Level 2 | Foreign government    
Assets, Fair Value Disclosure [Abstract]    
Trading account assets 26,736,000,000us-gaap_TradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
25,220,000,000us-gaap_TradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
Investments 52,739,000,000c_InvestmentsExcludingTradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
60,948,000,000c_InvestmentsExcludingTradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
Recurring | Level 2 | Corporate    
Assets, Fair Value Disclosure [Abstract]    
Trading account assets 25,640,000,000us-gaap_TradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_CorporateDebtSecuritiesMember
28,699,000,000us-gaap_TradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_CorporateDebtSecuritiesMember
Investments 9,746,000,000c_InvestmentsExcludingTradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_CorporateDebtSecuritiesMember
10,841,000,000c_InvestmentsExcludingTradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_CorporateDebtSecuritiesMember
Recurring | Level 2 | Equity securities    
Assets, Fair Value Disclosure [Abstract]    
Trading account assets 4,281,000,000us-gaap_TradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_EquitySecuritiesMember
1,958,000,000us-gaap_TradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_EquitySecuritiesMember
Investments 274,000,000c_InvestmentsExcludingTradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_EquitySecuritiesMember
336,000,000c_InvestmentsExcludingTradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_EquitySecuritiesMember
Recurring | Level 2 | Asset-backed securities    
Assets, Fair Value Disclosure [Abstract]    
Trading account assets 1,252,000,000us-gaap_TradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_AssetBackedSecuritiesMember
1,274,000,000us-gaap_TradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_AssetBackedSecuritiesMember
Investments 11,957,000,000c_InvestmentsExcludingTradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_AssetBackedSecuritiesMember
13,314,000,000c_InvestmentsExcludingTradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_AssetBackedSecuritiesMember
Recurring | Level 2 | Other debt securities    
Assets, Fair Value Disclosure [Abstract]    
Trading account assets 9,221,000,000us-gaap_TradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_OtherDebtSecuritiesMember
8,491,000,000us-gaap_TradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_OtherDebtSecuritiesMember
Investments 661,000,000c_InvestmentsExcludingTradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_OtherDebtSecuritiesMember
661,000,000c_InvestmentsExcludingTradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_OtherDebtSecuritiesMember
Recurring | Level 2 | Non-marketable equity securities    
Assets, Fair Value Disclosure [Abstract]    
Investments 233,000,000c_InvestmentsExcludingTradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= c_NonMarketableEquitySecuritiesMember
358,000,000c_InvestmentsExcludingTradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= c_NonMarketableEquitySecuritiesMember
Recurring | Level 2 | Trading account assets    
Assets, Fair Value Disclosure [Abstract]    
Trading derivatives, asset, Gross 871,499,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
778,813,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring | Level 2 | Trading account assets | Interest rate contracts    
Assets, Fair Value Disclosure [Abstract]    
Trading derivatives, asset, Gross 634,318,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
624,902,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring | Level 2 | Trading account assets | Foreign exchange contracts    
Assets, Fair Value Disclosure [Abstract]    
Trading derivatives, asset, Gross 154,744,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
91,189,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring | Level 2 | Trading account assets | Equity contracts    
Assets, Fair Value Disclosure [Abstract]    
Trading derivatives, asset, Gross 19,969,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
17,611,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring | Level 2 | Trading account assets | Commodity contracts    
Assets, Fair Value Disclosure [Abstract]    
Trading derivatives, asset, Gross 21,850,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
7,775,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring | Level 2 | Trading account assets | Credit derivatives    
Assets, Fair Value Disclosure [Abstract]    
Trading derivatives, asset, Gross 40,618,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
37,336,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring | Level 2 | Non-trading derivatives and other financial assets    
Assets, Fair Value Disclosure [Abstract]    
Other assets, gross 9,352,000,000c_OtherAssetsBeforeEffectsOfMasterNettingArrangements
/ us-gaap_FairValueByAssetClassAxis
= c_OtherFinancialAssetsIncludingNonTradingDerivativesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
9,811,000,000c_OtherAssetsBeforeEffectsOfMasterNettingArrangements
/ us-gaap_FairValueByAssetClassAxis
= c_OtherFinancialAssetsIncludingNonTradingDerivativesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring | Level 2 | Trading securities (excluding trading account derivatives)    
Assets, Fair Value Disclosure [Abstract]    
Trading account assets 106,803,000,000us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
97,786,000,000us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring | Level 3    
Assets, Fair Value Disclosure [Abstract]    
Federal funds sold and securities borrowed or purchased under agreements to resell 3,398,000,000c_FederalFundsSoldAndSecuritiesBorrowedOrPurchasedUnderAgreementsToResellGross
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
3,566,000,000c_FederalFundsSoldAndSecuritiesBorrowedOrPurchasedUnderAgreementsToResellGross
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Investments 7,338,000,000c_InvestmentsExcludingTradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
9,741,000,000c_InvestmentsExcludingTradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Loans 3,108,000,000us-gaap_LoansReceivableFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
4,143,000,000us-gaap_LoansReceivableFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Mortgage servicing rights (MSRs) 1,845,000,000us-gaap_ServicingAssetAtFairValueAmount
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
2,718,000,000us-gaap_ServicingAssetAtFairValueAmount
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Assets before netting 42,393,000,000c_AssetsBeforeEffectsOfMasterNettingArrangements
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
45,685,000,000c_AssetsBeforeEffectsOfMasterNettingArrangements
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Total as a percentage of gross assets 2.60%c_PercentageOfAssetsToGrossAssets
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
3.00%c_PercentageOfAssetsToGrossAssets
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Liabilities, Fair Value Disclosure [Abstract]    
Interest-bearing deposits 486,000,000us-gaap_InterestBearingDepositLiabilities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
890,000,000us-gaap_InterestBearingDepositLiabilities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Federal funds purchased and securities loaned or sold under agreements to repurchase, selected portfolios of securities sold under agreements to repurchase, Gross 1,043,000,000c_FederalFundsPurchasedAndSecuritiesLoanedOrSoldUnderAgreementsToRepurchaseGross
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
902,000,000c_FederalFundsPurchasedAndSecuritiesLoanedOrSoldUnderAgreementsToRepurchaseGross
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Securities sold, not yet purchased 424,000,000us-gaap_FinancialInstrumentsSoldNotYetPurchasedAtFairValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
590,000,000us-gaap_FinancialInstrumentsSoldNotYetPurchasedAtFairValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Short-term borrowings 344,000,000us-gaap_ShorttermDebtFairValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
29,000,000us-gaap_ShorttermDebtFairValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Long-term debt, at fair value 7,290,000,000us-gaap_LongTermDebtFairValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
7,621,000,000us-gaap_LongTermDebtFairValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Total liabilities, Gross 23,524,000,000c_LiabilitiesBeforeEffectsOfMasterNettingArrangements
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
21,109,000,000c_LiabilitiesBeforeEffectsOfMasterNettingArrangements
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Total as a percentage of gross liabilities 2.20%c_PercentageOfLiabilitiesToGrossLiabilities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
2.20%c_PercentageOfLiabilitiesToGrossLiabilities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring | Level 3 | Trading derivatives liabilities    
Liabilities, Fair Value Disclosure [Abstract]    
Trading derivatives, liability 13,930,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_TradingLiabilitiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
11,067,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_TradingLiabilitiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring | Level 3 | Trading derivatives liabilities | Interest rate contracts    
Liabilities, Fair Value Disclosure [Abstract]    
Trading derivatives, liability 4,272,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_TradingLiabilitiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
2,628,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_TradingLiabilitiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring | Level 3 | Trading derivatives liabilities | Foreign exchange contracts    
Liabilities, Fair Value Disclosure [Abstract]    
Trading derivatives, liability 472,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_TradingLiabilitiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
630,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_TradingLiabilitiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring | Level 3 | Trading derivatives liabilities | Equity contracts    
Liabilities, Fair Value Disclosure [Abstract]    
Trading derivatives, liability 2,898,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_TradingLiabilitiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
2,331,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_TradingLiabilitiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring | Level 3 | Trading derivatives liabilities | Commodity contracts    
Liabilities, Fair Value Disclosure [Abstract]    
Trading derivatives, liability 2,645,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_TradingLiabilitiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
2,194,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_TradingLiabilitiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring | Level 3 | Trading derivatives liabilities | Credit derivatives    
Liabilities, Fair Value Disclosure [Abstract]    
Trading derivatives, liability 3,643,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_TradingLiabilitiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
3,284,000,000us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_TradingLiabilitiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring | Level 3 | Non-trading derivatives and other financial liabilities    
Liabilities, Fair Value Disclosure [Abstract]    
Other liabilities, gross 7,000,000c_OtherLiabilitiesBeforeEffectsOfMasterNettingArrangements
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByLiabilityClassAxis
= c_OtherFinancialLiabilitiesIncludingNonTradingDerivativesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
10,000,000c_OtherLiabilitiesBeforeEffectsOfMasterNettingArrangements
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByLiabilityClassAxis
= c_OtherFinancialLiabilitiesIncludingNonTradingDerivativesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring | Level 3 | Mortgage-backed securities - U.S. agency-sponsored    
Assets, Fair Value Disclosure [Abstract]    
Trading account assets 1,085,000,000us-gaap_TradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= c_MortgageBackedSecuritiesIssuedByUSGovernmentCorporationsAndAgenciesMember
1,094,000,000us-gaap_TradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= c_MortgageBackedSecuritiesIssuedByUSGovernmentCorporationsAndAgenciesMember
Investments 38,000,000c_InvestmentsExcludingTradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= c_MortgageBackedSecuritiesIssuedByUSGovernmentCorporationsAndAgenciesMember
187,000,000c_InvestmentsExcludingTradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= c_MortgageBackedSecuritiesIssuedByUSGovernmentCorporationsAndAgenciesMember
Recurring | Level 3 | Mortgage-backed securities - Residential    
Assets, Fair Value Disclosure [Abstract]    
Trading account assets 2,680,000,000us-gaap_TradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
2,854,000,000us-gaap_TradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
Investments 8,000,000c_InvestmentsExcludingTradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
102,000,000c_InvestmentsExcludingTradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
Recurring | Level 3 | Mortgage-backed securities - Commercial    
Assets, Fair Value Disclosure [Abstract]    
Trading account assets 440,000,000us-gaap_TradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
256,000,000us-gaap_TradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
Investments 1,000,000c_InvestmentsExcludingTradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
0c_InvestmentsExcludingTradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
Recurring | Level 3 | Mortgage-backed securities    
Assets, Fair Value Disclosure [Abstract]    
Trading account assets 4,205,000,000us-gaap_TradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_MortgageBackedSecuritiesMember
4,204,000,000us-gaap_TradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_MortgageBackedSecuritiesMember
Investments 47,000,000c_InvestmentsExcludingTradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_MortgageBackedSecuritiesMember
289,000,000c_InvestmentsExcludingTradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_MortgageBackedSecuritiesMember
Recurring | Level 3 | U.S. Treasury and federal agency securities    
Assets, Fair Value Disclosure [Abstract]    
Trading account assets 0us-gaap_TradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_USTreasuryAndGovernmentMember
0us-gaap_TradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_USTreasuryAndGovernmentMember
Investments 6,000,000c_InvestmentsExcludingTradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_USTreasuryAndGovernmentMember
8,000,000c_InvestmentsExcludingTradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_USTreasuryAndGovernmentMember
Recurring | Level 3 | State and municipal securities    
Assets, Fair Value Disclosure [Abstract]    
Trading account assets 241,000,000us-gaap_TradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
222,000,000us-gaap_TradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
Investments 2,180,000,000c_InvestmentsExcludingTradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
1,643,000,000c_InvestmentsExcludingTradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
Recurring | Level 3 | Foreign government    
Assets, Fair Value Disclosure [Abstract]    
Trading account assets 206,000,000us-gaap_TradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
416,000,000us-gaap_TradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
Investments 678,000,000c_InvestmentsExcludingTradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
344,000,000c_InvestmentsExcludingTradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
Recurring | Level 3 | Corporate    
Assets, Fair Value Disclosure [Abstract]    
Trading account assets 820,000,000us-gaap_TradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_CorporateDebtSecuritiesMember
1,835,000,000us-gaap_TradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_CorporateDebtSecuritiesMember
Investments 672,000,000c_InvestmentsExcludingTradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_CorporateDebtSecuritiesMember
285,000,000c_InvestmentsExcludingTradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_CorporateDebtSecuritiesMember
Recurring | Level 3 | Equity securities    
Assets, Fair Value Disclosure [Abstract]    
Trading account assets 2,219,000,000us-gaap_TradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_EquitySecuritiesMember
1,057,000,000us-gaap_TradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_EquitySecuritiesMember
Investments 681,000,000c_InvestmentsExcludingTradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_EquitySecuritiesMember
815,000,000c_InvestmentsExcludingTradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_EquitySecuritiesMember
Recurring | Level 3 | Asset-backed securities    
Assets, Fair Value Disclosure [Abstract]    
Trading account assets 3,294,000,000us-gaap_TradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_AssetBackedSecuritiesMember
4,342,000,000us-gaap_TradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_AssetBackedSecuritiesMember
Investments 549,000,000c_InvestmentsExcludingTradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_AssetBackedSecuritiesMember
1,960,000,000c_InvestmentsExcludingTradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_AssetBackedSecuritiesMember
Recurring | Level 3 | Other debt securities    
Assets, Fair Value Disclosure [Abstract]    
Trading account assets 4,372,000,000us-gaap_TradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_OtherDebtSecuritiesMember
3,184,000,000us-gaap_TradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_OtherDebtSecuritiesMember
Investments 0c_InvestmentsExcludingTradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_OtherDebtSecuritiesMember
50,000,000c_InvestmentsExcludingTradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= us-gaap_OtherDebtSecuritiesMember
Recurring | Level 3 | Non-marketable equity securities    
Assets, Fair Value Disclosure [Abstract]    
Investments 2,525,000,000c_InvestmentsExcludingTradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= c_NonMarketableEquitySecuritiesMember
4,347,000,000c_InvestmentsExcludingTradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ invest_InvestmentAxis
= c_NonMarketableEquitySecuritiesMember
Recurring | Level 3 | Trading account assets    
Assets, Fair Value Disclosure [Abstract]    
Trading derivatives, asset, Gross 11,269,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
10,076,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring | Level 3 | Trading account assets | Interest rate contracts    
Assets, Fair Value Disclosure [Abstract]    
Trading derivatives, asset, Gross 4,061,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
3,467,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring | Level 3 | Trading account assets | Foreign exchange contracts    
Assets, Fair Value Disclosure [Abstract]    
Trading derivatives, asset, Gross 1,250,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
1,325,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring | Level 3 | Trading account assets | Equity contracts    
Assets, Fair Value Disclosure [Abstract]    
Trading derivatives, asset, Gross 2,035,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
1,473,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring | Level 3 | Trading account assets | Commodity contracts    
Assets, Fair Value Disclosure [Abstract]    
Trading derivatives, asset, Gross 1,023,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
801,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring | Level 3 | Trading account assets | Credit derivatives    
Assets, Fair Value Disclosure [Abstract]    
Trading derivatives, asset, Gross 2,900,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
3,010,000,000us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring | Level 3 | Non-trading derivatives and other financial assets    
Assets, Fair Value Disclosure [Abstract]    
Other assets, gross 78,000,000c_OtherAssetsBeforeEffectsOfMasterNettingArrangements
/ us-gaap_FairValueByAssetClassAxis
= c_OtherFinancialAssetsIncludingNonTradingDerivativesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
181,000,000c_OtherAssetsBeforeEffectsOfMasterNettingArrangements
/ us-gaap_FairValueByAssetClassAxis
= c_OtherFinancialAssetsIncludingNonTradingDerivativesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring | Level 3 | Trading securities (excluding trading account derivatives)    
Assets, Fair Value Disclosure [Abstract]    
Trading account assets $ 15,357,000,000us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
$ 15,260,000,000us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= c_TradingAssetsExcludingDerivativeAssetsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember