Quarterly report pursuant to Section 13 or 15(d)

Derivatives - Derivatives Designated as Accounting Hedges - Fair Value Hedges (Details)

v2.4.1.9
Derivatives - Derivatives Designated as Accounting Hedges - Fair Value Hedges (Details) (USD $)
In Millions, unless otherwise specified
3 Months Ended
Mar. 31, 2015
Mar. 31, 2014
Effect of Fair Value Hedges on Results of Operations [Abstract]    
Derivative $ (494)us-gaap_GainLossOnFairValueHedgesRecognizedInEarnings $ 488us-gaap_GainLossOnFairValueHedgesRecognizedInEarnings
Hedged Item 244us-gaap_ChangeInUnrealizedGainLossOnHedgedItemInFairValueHedge1 (702)us-gaap_ChangeInUnrealizedGainLossOnHedgedItemInFairValueHedge1
Hedge Ineffectiveness (250)us-gaap_GainLossOnFairValueHedgeIneffectivenessNet (214)us-gaap_GainLossOnFairValueHedgeIneffectivenessNet
Interest rate risk on long-term debt | Interest expense    
Effect of Fair Value Hedges on Results of Operations [Abstract]    
Derivative 1,096us-gaap_GainLossOnFairValueHedgesRecognizedInEarnings
/ us-gaap_DerivativeInstrumentRiskAxis
= bac_InterestRateRiskOnLongTernDebtMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_InterestExpenseMember
366us-gaap_GainLossOnFairValueHedgesRecognizedInEarnings
/ us-gaap_DerivativeInstrumentRiskAxis
= bac_InterestRateRiskOnLongTernDebtMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_InterestExpenseMember
Hedged Item (1,292)us-gaap_ChangeInUnrealizedGainLossOnHedgedItemInFairValueHedge1
/ us-gaap_DerivativeInstrumentRiskAxis
= bac_InterestRateRiskOnLongTernDebtMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_InterestExpenseMember
(560)us-gaap_ChangeInUnrealizedGainLossOnHedgedItemInFairValueHedge1
/ us-gaap_DerivativeInstrumentRiskAxis
= bac_InterestRateRiskOnLongTernDebtMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_InterestExpenseMember
Hedge Ineffectiveness (196)us-gaap_GainLossOnFairValueHedgeIneffectivenessNet
/ us-gaap_DerivativeInstrumentRiskAxis
= bac_InterestRateRiskOnLongTernDebtMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_InterestExpenseMember
(194)us-gaap_GainLossOnFairValueHedgeIneffectivenessNet
/ us-gaap_DerivativeInstrumentRiskAxis
= bac_InterestRateRiskOnLongTernDebtMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_InterestExpenseMember
Interest rate and foreign currency risk on long-term debt | Interest expense    
Effect of Fair Value Hedges on Results of Operations [Abstract]    
Derivative (1,644)us-gaap_GainLossOnFairValueHedgesRecognizedInEarnings
/ us-gaap_DerivativeInstrumentRiskAxis
= bac_InterestRateAndForeignCurrencyRiskOnLongTermDebtMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_InterestExpenseMember
118us-gaap_GainLossOnFairValueHedgesRecognizedInEarnings
/ us-gaap_DerivativeInstrumentRiskAxis
= bac_InterestRateAndForeignCurrencyRiskOnLongTermDebtMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_InterestExpenseMember
Hedged Item 1,588us-gaap_ChangeInUnrealizedGainLossOnHedgedItemInFairValueHedge1
/ us-gaap_DerivativeInstrumentRiskAxis
= bac_InterestRateAndForeignCurrencyRiskOnLongTermDebtMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_InterestExpenseMember
(144)us-gaap_ChangeInUnrealizedGainLossOnHedgedItemInFairValueHedge1
/ us-gaap_DerivativeInstrumentRiskAxis
= bac_InterestRateAndForeignCurrencyRiskOnLongTermDebtMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_InterestExpenseMember
Hedge Ineffectiveness (56)us-gaap_GainLossOnFairValueHedgeIneffectivenessNet
/ us-gaap_DerivativeInstrumentRiskAxis
= bac_InterestRateAndForeignCurrencyRiskOnLongTermDebtMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_InterestExpenseMember
(26)us-gaap_GainLossOnFairValueHedgeIneffectivenessNet
/ us-gaap_DerivativeInstrumentRiskAxis
= bac_InterestRateAndForeignCurrencyRiskOnLongTermDebtMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_InterestExpenseMember
Interest rate risk on AFS securities | Interest income    
Effect of Fair Value Hedges on Results of Operations [Abstract]    
Derivative 43us-gaap_GainLossOnFairValueHedgesRecognizedInEarnings
/ us-gaap_DerivativeInstrumentRiskAxis
= bac_InterestRateRiskOnAvailableForSaleSecuritiesMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_InterestIncomeMember
2us-gaap_GainLossOnFairValueHedgesRecognizedInEarnings
/ us-gaap_DerivativeInstrumentRiskAxis
= bac_InterestRateRiskOnAvailableForSaleSecuritiesMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_InterestIncomeMember
Hedged Item (45)us-gaap_ChangeInUnrealizedGainLossOnHedgedItemInFairValueHedge1
/ us-gaap_DerivativeInstrumentRiskAxis
= bac_InterestRateRiskOnAvailableForSaleSecuritiesMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_InterestIncomeMember
(3)us-gaap_ChangeInUnrealizedGainLossOnHedgedItemInFairValueHedge1
/ us-gaap_DerivativeInstrumentRiskAxis
= bac_InterestRateRiskOnAvailableForSaleSecuritiesMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_InterestIncomeMember
Hedge Ineffectiveness (2)us-gaap_GainLossOnFairValueHedgeIneffectivenessNet
/ us-gaap_DerivativeInstrumentRiskAxis
= bac_InterestRateRiskOnAvailableForSaleSecuritiesMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_InterestIncomeMember
(1)us-gaap_GainLossOnFairValueHedgeIneffectivenessNet
/ us-gaap_DerivativeInstrumentRiskAxis
= bac_InterestRateRiskOnAvailableForSaleSecuritiesMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_InterestIncomeMember
Price risk on commodity inventory | Trading gain (loss)    
Effect of Fair Value Hedges on Results of Operations [Abstract]    
Derivative 11us-gaap_GainLossOnFairValueHedgesRecognizedInEarnings
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
/ us-gaap_IncomeStatementLocationAxis
= bac_TradingGainLossMember
2us-gaap_GainLossOnFairValueHedgesRecognizedInEarnings
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
/ us-gaap_IncomeStatementLocationAxis
= bac_TradingGainLossMember
Hedged Item (7)us-gaap_ChangeInUnrealizedGainLossOnHedgedItemInFairValueHedge1
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
/ us-gaap_IncomeStatementLocationAxis
= bac_TradingGainLossMember
5us-gaap_ChangeInUnrealizedGainLossOnHedgedItemInFairValueHedge1
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
/ us-gaap_IncomeStatementLocationAxis
= bac_TradingGainLossMember
Hedge Ineffectiveness $ 4us-gaap_GainLossOnFairValueHedgeIneffectivenessNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
/ us-gaap_IncomeStatementLocationAxis
= bac_TradingGainLossMember
$ 7us-gaap_GainLossOnFairValueHedgeIneffectivenessNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
/ us-gaap_IncomeStatementLocationAxis
= bac_TradingGainLossMember