Quarterly report pursuant to Section 13 or 15(d)

Securities - Amortized Cost, Gains and Losses, and Fair Value Available-for-sale (Details)

v2.4.1.9
Securities - Amortized Cost, Gains and Losses, and Fair Value Available-for-sale (Details) (USD $)
Mar. 31, 2015
Dec. 31, 2014
Mar. 31, 2014
Dec. 31, 2013
Available-for-sale Debt Securities:        
Amortized Cost $ 284,654,000,000us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis $ 282,108,000,000us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis    
Gross Unrealized Gains 4,699,000,000us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax 3,001,000,000us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax    
Gross Unrealized Losses (411,000,000)us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax (835,000,000)us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax    
Fair Value 288,942,000,000us-gaap_AvailableForSaleSecuritiesDebtSecurities 284,274,000,000us-gaap_AvailableForSaleSecuritiesDebtSecurities    
Available-for-sale Equity Securities:        
Accumulated other comprehensive income (loss) (2,967,000,000)us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax (4,320,000,000)us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax (7,037,000,000)us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax (8,457,000,000)us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax
Other Debt Securities, Carried at Fair Value:        
Amortized Cost 35,166,000,000bac_OtherDebtSecuritiesCarriedAtFairValueAmortizedCost 36,524,000,000bac_OtherDebtSecuritiesCarriedAtFairValueAmortizedCost    
Gross Unrealized Gains 264,000,000bac_OtherDebtSecuritiesCarriedAtFairValueGrossUnrealizedGain 261,000,000bac_OtherDebtSecuritiesCarriedAtFairValueGrossUnrealizedGain    
Gross Unrealized Losses (198,000,000)bac_OtherDebtSecuritiesCarriedatFairValueGrossUnrealizedLoss (364,000,000)bac_OtherDebtSecuritiesCarriedatFairValueGrossUnrealizedLoss    
Fair Value 35,232,000,000bac_OtherDebtSecuritiesCarriedAtFairValue 36,421,000,000bac_OtherDebtSecuritiesCarriedAtFairValue    
Debt Securities Carried at Fair Value:        
Amortized Cost 319,820,000,000bac_DebtSecuritiesCarriedAtFairValueAmortizedCost 318,632,000,000bac_DebtSecuritiesCarriedAtFairValueAmortizedCost    
Gross Unrealized Gains 4,963,000,000bac_DebtSecuritiesCarriedAtFairValueGrossUnrealizedGain 3,262,000,000bac_DebtSecuritiesCarriedAtFairValueGrossUnrealizedGain    
Gross Unrealized Losses (609,000,000)bac_DebtSecuritiesCarriedAtFairValueGrossUnrealizedLoss (1,199,000,000)bac_DebtSecuritiesCarriedAtFairValueGrossUnrealizedLoss    
Debt securities carried at fair value 324,174,000,000bac_DebtSecuritiesCarriedAtFairValue 320,695,000,000bac_DebtSecuritiesCarriedAtFairValue    
Held-to-maturity Securities:        
Amortized Cost 59,815,000,000us-gaap_HeldToMaturitySecurities 59,766,000,000us-gaap_HeldToMaturitySecurities    
Gross Unrealized Gains 496,000,000us-gaap_HeldToMaturitySecuritiesAccumulatedUnrecognizedHoldingGain 486,000,000us-gaap_HeldToMaturitySecuritiesAccumulatedUnrecognizedHoldingGain    
Gross Unrealized Losses (422,000,000)us-gaap_HeldToMaturitySecuritiesAccumulatedUnrecognizedHoldingLoss (611,000,000)us-gaap_HeldToMaturitySecuritiesAccumulatedUnrecognizedHoldingLoss    
Held-to-maturity, fair value 59,889,000,000us-gaap_HeldToMaturitySecuritiesFairValue 59,641,000,000us-gaap_HeldToMaturitySecuritiesFairValue    
Debt securities:        
Amortized Cost 379,635,000,000bac_DebtSecuritiesAmortizedCostAmountofDebtSecuritiesExceeds10PercentofStockholdersEquity 378,398,000,000bac_DebtSecuritiesAmortizedCostAmountofDebtSecuritiesExceeds10PercentofStockholdersEquity    
Gross Unrealized Gains 5,459,000,000bac_DebtSecuritiesGrossUnrealizedGain 3,748,000,000bac_DebtSecuritiesGrossUnrealizedGain    
Gross Unrealized Losses (1,031,000,000)bac_DebtSecuritiesGrossUnrealizedLoss (1,810,000,000)bac_DebtSecuritiesGrossUnrealizedLoss    
Fair Value 384,063,000,000bac_DebtSecuritiesFairValueAmountofDebtSecuritiesExceeds10PercentofStockholdersEquity 380,336,000,000bac_DebtSecuritiesFairValueAmountofDebtSecuritiesExceeds10PercentofStockholdersEquity    
Other assets        
Available-for-sale Equity Securities:        
Amortized Cost 336,000,000us-gaap_AvailableForSaleEquitySecuritiesAmortizedCostBasis
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherAssetsMember
336,000,000us-gaap_AvailableForSaleEquitySecuritiesAmortizedCostBasis
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherAssetsMember
   
Gross Unrealized Gains 59,000,000us-gaap_AvailableForSaleEquitySecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherAssetsMember
27,000,000us-gaap_AvailableForSaleEquitySecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherAssetsMember
   
Gross Unrealized Losses 0us-gaap_AvailableForSaleEquitySecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherAssetsMember
0us-gaap_AvailableForSaleEquitySecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherAssetsMember
   
Fair Value 395,000,000us-gaap_AvailableForSaleSecuritiesEquitySecurities
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherAssetsMember
363,000,000us-gaap_AvailableForSaleSecuritiesEquitySecurities
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherAssetsMember
   
Nonperforming Financial Instruments        
Available-for-sale Debt Securities:        
Fair Value 177,000,000us-gaap_AvailableForSaleSecuritiesDebtSecurities
/ bac_FinancialInstrumentPerformanceStatusAxis
= bac_NonperformingFinancialInstrumentsMember
161,000,000us-gaap_AvailableForSaleSecuritiesDebtSecurities
/ bac_FinancialInstrumentPerformanceStatusAxis
= bac_NonperformingFinancialInstrumentsMember
   
U.S. Treasury and agency securities        
Available-for-sale Debt Securities:        
Amortized Cost 58,501,000,000us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USTreasuryAndGovernmentMember
69,267,000,000us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USTreasuryAndGovernmentMember
   
Gross Unrealized Gains 1,018,000,000us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USTreasuryAndGovernmentMember
360,000,000us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USTreasuryAndGovernmentMember
   
Gross Unrealized Losses (3,000,000)us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USTreasuryAndGovernmentMember
(32,000,000)us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USTreasuryAndGovernmentMember
   
Fair Value 59,516,000,000us-gaap_AvailableForSaleSecuritiesDebtSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USTreasuryAndGovernmentMember
69,595,000,000us-gaap_AvailableForSaleSecuritiesDebtSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USTreasuryAndGovernmentMember
   
Debt Securities Carried at Fair Value:        
Debt securities carried at fair value 60,788,000,000bac_DebtSecuritiesCarriedAtFairValue
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USTreasuryAndGovernmentMember
     
Agency        
Available-for-sale Debt Securities:        
Amortized Cost 179,255,000,000us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_MortgageBackedSecuritiesAgencyMember
163,592,000,000us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_MortgageBackedSecuritiesAgencyMember
   
Gross Unrealized Gains 2,858,000,000us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_MortgageBackedSecuritiesAgencyMember
2,040,000,000us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_MortgageBackedSecuritiesAgencyMember
   
Gross Unrealized Losses (275,000,000)us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_MortgageBackedSecuritiesAgencyMember
(593,000,000)us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_MortgageBackedSecuritiesAgencyMember
   
Fair Value 181,838,000,000us-gaap_AvailableForSaleSecuritiesDebtSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_MortgageBackedSecuritiesAgencyMember
165,039,000,000us-gaap_AvailableForSaleSecuritiesDebtSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_MortgageBackedSecuritiesAgencyMember
   
Debt Securities Carried at Fair Value:        
Debt securities carried at fair value 197,508,000,000bac_DebtSecuritiesCarriedAtFairValue
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_MortgageBackedSecuritiesAgencyMember
     
Agency-collateralized mortgage obligations        
Available-for-sale Debt Securities:        
Amortized Cost 13,696,000,000us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_MortgageBackedSecuritiesAgencyCollateralizedMortgageObligationMember
14,175,000,000us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_MortgageBackedSecuritiesAgencyCollateralizedMortgageObligationMember
   
Gross Unrealized Gains 296,000,000us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_MortgageBackedSecuritiesAgencyCollateralizedMortgageObligationMember
152,000,000us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_MortgageBackedSecuritiesAgencyCollateralizedMortgageObligationMember
   
Gross Unrealized Losses (31,000,000)us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_MortgageBackedSecuritiesAgencyCollateralizedMortgageObligationMember
(79,000,000)us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_MortgageBackedSecuritiesAgencyCollateralizedMortgageObligationMember
   
Fair Value 13,961,000,000us-gaap_AvailableForSaleSecuritiesDebtSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_MortgageBackedSecuritiesAgencyCollateralizedMortgageObligationMember
14,248,000,000us-gaap_AvailableForSaleSecuritiesDebtSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_MortgageBackedSecuritiesAgencyCollateralizedMortgageObligationMember
   
Debt Securities Carried at Fair Value:        
Debt securities carried at fair value 13,961,000,000bac_DebtSecuritiesCarriedAtFairValue
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_MortgageBackedSecuritiesAgencyCollateralizedMortgageObligationMember
     
Non-agency residential        
Available-for-sale Debt Securities:        
Amortized Cost 3,791,000,000us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
4,244,000,000us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
   
Gross Unrealized Gains 295,000,000us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
287,000,000us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
   
Gross Unrealized Losses (60,000,000)us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
(77,000,000)us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
   
Fair Value 4,026,000,000us-gaap_AvailableForSaleSecuritiesDebtSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
4,454,000,000us-gaap_AvailableForSaleSecuritiesDebtSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
   
Debt Securities Carried at Fair Value:        
Debt securities carried at fair value 7,895,000,000bac_DebtSecuritiesCarriedAtFairValue
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
     
Non-agency residential | Prime        
Available-for-sale Equity Securities:        
Available-for-sale securities, percent held by rating 76.00%bac_AvailableforsaleDebtSecuritiesUnderlyingCollateralTypeByCreditRatingPercentage
/ us-gaap_InternalCreditAssessmentAxis
= bac_PrimeMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
76.00%bac_AvailableforsaleDebtSecuritiesUnderlyingCollateralTypeByCreditRatingPercentage
/ us-gaap_InternalCreditAssessmentAxis
= bac_PrimeMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
   
Non-agency residential | Alt-A Loan        
Available-for-sale Equity Securities:        
Available-for-sale securities, percent held by rating 14.00%bac_AvailableforsaleDebtSecuritiesUnderlyingCollateralTypeByCreditRatingPercentage
/ us-gaap_InternalCreditAssessmentAxis
= bac_AltALoanMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
14.00%bac_AvailableforsaleDebtSecuritiesUnderlyingCollateralTypeByCreditRatingPercentage
/ us-gaap_InternalCreditAssessmentAxis
= bac_AltALoanMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
   
Non-agency residential | Subprime        
Available-for-sale Equity Securities:        
Available-for-sale securities, percent held by rating 10.00%bac_AvailableforsaleDebtSecuritiesUnderlyingCollateralTypeByCreditRatingPercentage
/ us-gaap_InternalCreditAssessmentAxis
= bac_SubprimeMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
10.00%bac_AvailableforsaleDebtSecuritiesUnderlyingCollateralTypeByCreditRatingPercentage
/ us-gaap_InternalCreditAssessmentAxis
= bac_SubprimeMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
   
Commercial        
Available-for-sale Debt Securities:        
Amortized Cost 3,853,000,000us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
3,931,000,000us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
   
Gross Unrealized Gains 137,000,000us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
69,000,000us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
   
Gross Unrealized Losses (1,000,000)us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
     
Fair Value 3,989,000,000us-gaap_AvailableForSaleSecuritiesDebtSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
4,000,000,000us-gaap_AvailableForSaleSecuritiesDebtSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
   
Debt Securities Carried at Fair Value:        
Debt securities carried at fair value 3,989,000,000bac_DebtSecuritiesCarriedAtFairValue
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
     
Non-U.S. securities        
Available-for-sale Debt Securities:        
Amortized Cost 5,923,000,000us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_ForeignSecuritiesMember
6,208,000,000us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_ForeignSecuritiesMember
   
Gross Unrealized Gains 32,000,000us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_ForeignSecuritiesMember
33,000,000us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_ForeignSecuritiesMember
   
Gross Unrealized Losses (3,000,000)us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_ForeignSecuritiesMember
(11,000,000)us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_ForeignSecuritiesMember
   
Fair Value 5,952,000,000us-gaap_AvailableForSaleSecuritiesDebtSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_ForeignSecuritiesMember
6,230,000,000us-gaap_AvailableForSaleSecuritiesDebtSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_ForeignSecuritiesMember
   
Debt Securities Carried at Fair Value:        
Debt securities carried at fair value 20,076,000,000bac_DebtSecuritiesCarriedAtFairValue
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_ForeignSecuritiesMember
     
Corporate/Agency bonds        
Available-for-sale Debt Securities:        
Amortized Cost 356,000,000us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_CorporateandAgencyBondsMember
361,000,000us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_CorporateandAgencyBondsMember
   
Gross Unrealized Gains 10,000,000us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_CorporateandAgencyBondsMember
9,000,000us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_CorporateandAgencyBondsMember
   
Gross Unrealized Losses (1,000,000)us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_CorporateandAgencyBondsMember
(2,000,000)us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_CorporateandAgencyBondsMember
   
Fair Value 365,000,000us-gaap_AvailableForSaleSecuritiesDebtSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_CorporateandAgencyBondsMember
368,000,000us-gaap_AvailableForSaleSecuritiesDebtSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_CorporateandAgencyBondsMember
   
Debt Securities Carried at Fair Value:        
Debt securities carried at fair value 365,000,000bac_DebtSecuritiesCarriedAtFairValue
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_CorporateandAgencyBondsMember
     
Other taxable securities, substantially all asset-backed securities        
Available-for-sale Debt Securities:        
Amortized Cost 9,554,000,000us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_OtherTaxableSecuritiesMember
10,774,000,000us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_OtherTaxableSecuritiesMember
   
Gross Unrealized Gains 42,000,000us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_OtherTaxableSecuritiesMember
39,000,000us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_OtherTaxableSecuritiesMember
   
Gross Unrealized Losses (18,000,000)us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_OtherTaxableSecuritiesMember
(22,000,000)us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_OtherTaxableSecuritiesMember
   
Fair Value 9,578,000,000us-gaap_AvailableForSaleSecuritiesDebtSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_OtherTaxableSecuritiesMember
10,791,000,000us-gaap_AvailableForSaleSecuritiesDebtSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_OtherTaxableSecuritiesMember
   
Debt Securities Carried at Fair Value:        
Debt securities carried at fair value 9,875,000,000bac_DebtSecuritiesCarriedAtFairValue
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_OtherTaxableSecuritiesMember
     
Total taxable securities        
Available-for-sale Debt Securities:        
Amortized Cost 274,929,000,000us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_TaxableSecuritiesMember
272,552,000,000us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_TaxableSecuritiesMember
   
Gross Unrealized Gains 4,688,000,000us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_TaxableSecuritiesMember
2,989,000,000us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_TaxableSecuritiesMember
   
Gross Unrealized Losses (392,000,000)us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_TaxableSecuritiesMember
(816,000,000)us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_TaxableSecuritiesMember
   
Fair Value 279,225,000,000us-gaap_AvailableForSaleSecuritiesDebtSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_TaxableSecuritiesMember
274,725,000,000us-gaap_AvailableForSaleSecuritiesDebtSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_TaxableSecuritiesMember
   
Debt Securities Carried at Fair Value:        
Debt securities carried at fair value 314,457,000,000bac_DebtSecuritiesCarriedAtFairValue
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_TaxableSecuritiesMember
     
Tax-exempt securities        
Available-for-sale Debt Securities:        
Amortized Cost 9,725,000,000us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_TaxExemptSecuritiesMember
9,556,000,000us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_TaxExemptSecuritiesMember
   
Gross Unrealized Gains 11,000,000us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_TaxExemptSecuritiesMember
12,000,000us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_TaxExemptSecuritiesMember
   
Gross Unrealized Losses (19,000,000)us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_TaxExemptSecuritiesMember
(19,000,000)us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_TaxExemptSecuritiesMember
   
Fair Value 9,717,000,000us-gaap_AvailableForSaleSecuritiesDebtSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_TaxExemptSecuritiesMember
9,549,000,000us-gaap_AvailableForSaleSecuritiesDebtSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_TaxExemptSecuritiesMember
   
Debt Securities Carried at Fair Value:        
Debt securities carried at fair value 9,717,000,000bac_DebtSecuritiesCarriedAtFairValue
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_TaxExemptSecuritiesMember
     
Debt securities        
Available-for-sale Equity Securities:        
Accumulated other comprehensive income tax expense 1,600,000,000bac_AccumulatedOtherComprehensiveIncomeLossAvailableforsaleSecuritiesAdjustmentTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_DebtSecuritiesMember
     
Debt Securities Carried at Fair Value:        
Debt securities carried at fair value 324,174,000,000bac_DebtSecuritiesCarriedAtFairValue
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_DebtSecuritiesMember
     
Debt securities | Available-for-sale debt securities        
Available-for-sale Equity Securities:        
Accumulated other comprehensive income (loss) $ 2,660,000,000us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_DebtSecuritiesMember
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AccumulatedNetUnrealizedInvestmentGainLossMember
$ 1,343,000,000us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_DebtSecuritiesMember
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AccumulatedNetUnrealizedInvestmentGainLossMember
$ (1,960,000,000)us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_DebtSecuritiesMember
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AccumulatedNetUnrealizedInvestmentGainLossMember
$ (3,257,000,000)us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_DebtSecuritiesMember
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AccumulatedNetUnrealizedInvestmentGainLossMember