Annual report pursuant to Section 13 and 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 $)
In Millions, unless otherwise specified
12 Months Ended
Dec. 31, 2014
Dec. 31, 2013
Dec. 31, 2012
Dec. 31, 2011
Available-for-sale Debt Securities:        
Amortized Cost $ 282,108us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis $ 241,145us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis    
Gross Unrealized Gains 3,001us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax 1,357us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax    
Gross Unrealized Losses (835)us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax (6,551)us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax    
Debt securities carried at fair value 284,274us-gaap_AvailableForSaleSecuritiesDebtSecurities 235,951us-gaap_AvailableForSaleSecuritiesDebtSecurities    
Available-for-sale Equity Securities:        
Accumulated other comprehensive income (loss) (4,320)us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax (8,457)us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax (2,797)us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax (5,437)us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax
Other Debt Securities, Carried at Fair Value:        
Amortized Cost 36,524bac_OtherDebtSecuritiesCarriedAtFairValueAmortizedCost 34,145bac_OtherDebtSecuritiesCarriedAtFairValueAmortizedCost    
Gross Unrealized Gains 261bac_OtherDebtSecuritiesCarriedAtFairValueGrossUnrealizedGain 34bac_OtherDebtSecuritiesCarriedAtFairValueGrossUnrealizedGain    
Gross Unrealized Losses (364)bac_OtherDebtSecuritiesCarriedatFairValueGrossUnrealizedLoss (1,335)bac_OtherDebtSecuritiesCarriedatFairValueGrossUnrealizedLoss    
Fair Value 36,421bac_OtherDebtSecuritiesCarriedAtFairValue 32,844bac_OtherDebtSecuritiesCarriedAtFairValue    
Debt securities carried at fair value:        
Amortized Cost 318,632bac_DebtSecuritiesCarriedAtFairValueAmortizedCost 275,290bac_DebtSecuritiesCarriedAtFairValueAmortizedCost    
Gross Unrealized Gains 3,262bac_DebtSecuritiesCarriedAtFairValueGrossUnrealizedGain 1,391bac_DebtSecuritiesCarriedAtFairValueGrossUnrealizedGain    
Gross Unrealized Losses (1,199)bac_DebtSecuritiesCarriedAtFairValueGrossUnrealizedLoss (7,886)bac_DebtSecuritiesCarriedAtFairValueGrossUnrealizedLoss    
Debt securities carried at fair value 320,695bac_DebtSecuritiesCarriedAtFairValue 268,795bac_DebtSecuritiesCarriedAtFairValue    
Held-to-maturity Securities:        
Amortized Cost 59,766us-gaap_HeldToMaturitySecurities 55,150us-gaap_HeldToMaturitySecurities    
Gross Unrealized Gains 486us-gaap_HeldToMaturitySecuritiesAccumulatedUnrecognizedHoldingGain 20us-gaap_HeldToMaturitySecuritiesAccumulatedUnrecognizedHoldingGain    
Gross Unrealized Losses (611)us-gaap_HeldToMaturitySecuritiesAccumulatedUnrecognizedHoldingLoss (2,740)us-gaap_HeldToMaturitySecuritiesAccumulatedUnrecognizedHoldingLoss    
Held-to-maturity, fair value 59,641us-gaap_HeldToMaturitySecuritiesFairValue 52,430us-gaap_HeldToMaturitySecuritiesFairValue    
Debt securities:        
Amortized Cost 378,398bac_DebtSecuritiesAmortizedCost 330,440bac_DebtSecuritiesAmortizedCost    
Gross Unrealized Gains 3,748bac_DebtSecuritiesGrossUnrealizedGain 1,411bac_DebtSecuritiesGrossUnrealizedGain    
Gross Unrealized Losses (1,810)bac_DebtSecuritiesGrossUnrealizedLoss (10,626)bac_DebtSecuritiesGrossUnrealizedLoss    
Fair Value 380,336bac_DebtSecuritiesFairValueAmountofDebtSecuritiesExceeds10PercentofStockholdersEquity 321,225bac_DebtSecuritiesFairValueAmountofDebtSecuritiesExceeds10PercentofStockholdersEquity    
Other assets        
Available-for-sale Equity Securities:        
Amortized Cost 336us-gaap_AvailableForSaleEquitySecuritiesAmortizedCostBasis
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherAssetsMember
230us-gaap_AvailableForSaleEquitySecuritiesAmortizedCostBasis
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherAssetsMember
   
Gross Unrealized Gains 27us-gaap_AvailableForSaleEquitySecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherAssetsMember
0us-gaap_AvailableForSaleEquitySecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherAssetsMember
   
Gross Unrealized Losses 0us-gaap_AvailableForSaleEquitySecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherAssetsMember
(7)us-gaap_AvailableForSaleEquitySecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherAssetsMember
   
Fair Value 363us-gaap_AvailableForSaleSecuritiesEquitySecurities
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherAssetsMember
223us-gaap_AvailableForSaleSecuritiesEquitySecurities
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherAssetsMember
   
Nonperforming Financial Instruments        
Available-for-sale Debt Securities:        
Debt securities carried at fair value 161us-gaap_AvailableForSaleSecuritiesDebtSecurities
/ bac_FinancialInstrumentPerformanceStatusAxis
= bac_NonperformingFinancialInstrumentsMember
103us-gaap_AvailableForSaleSecuritiesDebtSecurities
/ bac_FinancialInstrumentPerformanceStatusAxis
= bac_NonperformingFinancialInstrumentsMember
   
U.S. Treasury and agency securities        
Available-for-sale Debt Securities:        
Amortized Cost 69,267us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USTreasuryAndGovernmentMember
8,910us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USTreasuryAndGovernmentMember
   
Gross Unrealized Gains 360us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USTreasuryAndGovernmentMember
106us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USTreasuryAndGovernmentMember
   
Gross Unrealized Losses (32)us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USTreasuryAndGovernmentMember
(62)us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USTreasuryAndGovernmentMember
   
Debt securities carried at fair value 69,595us-gaap_AvailableForSaleSecuritiesDebtSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USTreasuryAndGovernmentMember
8,954us-gaap_AvailableForSaleSecuritiesDebtSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USTreasuryAndGovernmentMember
   
Other Debt Securities, Carried at Fair Value:        
Fair Value 1,541bac_OtherDebtSecuritiesCarriedAtFairValue
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USTreasuryAndGovernmentMember
4,062bac_OtherDebtSecuritiesCarriedAtFairValue
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USTreasuryAndGovernmentMember
   
Debt securities carried at fair value:        
Debt securities carried at fair value 71,136bac_DebtSecuritiesCarriedAtFairValue
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USTreasuryAndGovernmentMember
     
Agency        
Available-for-sale Debt Securities:        
Amortized Cost 163,592us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_MortgageBackedSecuritiesAgencyMember
170,112us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_MortgageBackedSecuritiesAgencyMember
   
Gross Unrealized Gains 2,040us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_MortgageBackedSecuritiesAgencyMember
777us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_MortgageBackedSecuritiesAgencyMember
   
Gross Unrealized Losses (593)us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_MortgageBackedSecuritiesAgencyMember
(5,954)us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_MortgageBackedSecuritiesAgencyMember
   
Debt securities carried at fair value 165,039us-gaap_AvailableForSaleSecuritiesDebtSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_MortgageBackedSecuritiesAgencyMember
164,935us-gaap_AvailableForSaleSecuritiesDebtSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_MortgageBackedSecuritiesAgencyMember
   
Other Debt Securities, Carried at Fair Value:        
Fair Value 15,704bac_OtherDebtSecuritiesCarriedAtFairValue
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_MortgageBackedSecuritiesAgencyMember
16,500bac_OtherDebtSecuritiesCarriedAtFairValue
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_MortgageBackedSecuritiesAgencyMember
   
Debt securities carried at fair value:        
Debt securities carried at fair value 180,743bac_DebtSecuritiesCarriedAtFairValue
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_MortgageBackedSecuritiesAgencyMember
     
Agency-collateralized mortgage obligations        
Available-for-sale Debt Securities:        
Amortized Cost 14,175us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_MortgageBackedSecuritiesAgencyCollateralizedMortgageObligationMember
22,731us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_MortgageBackedSecuritiesAgencyCollateralizedMortgageObligationMember
   
Gross Unrealized Gains 152us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_MortgageBackedSecuritiesAgencyCollateralizedMortgageObligationMember
76us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_MortgageBackedSecuritiesAgencyCollateralizedMortgageObligationMember
   
Gross Unrealized Losses (79)us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_MortgageBackedSecuritiesAgencyCollateralizedMortgageObligationMember
(315)us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_MortgageBackedSecuritiesAgencyCollateralizedMortgageObligationMember
   
Debt securities carried at fair value 14,248us-gaap_AvailableForSaleSecuritiesDebtSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_MortgageBackedSecuritiesAgencyCollateralizedMortgageObligationMember
22,492us-gaap_AvailableForSaleSecuritiesDebtSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_MortgageBackedSecuritiesAgencyCollateralizedMortgageObligationMember
   
Other Debt Securities, Carried at Fair Value:        
Fair Value 0bac_OtherDebtSecuritiesCarriedAtFairValue
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_MortgageBackedSecuritiesAgencyCollateralizedMortgageObligationMember
218bac_OtherDebtSecuritiesCarriedAtFairValue
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_MortgageBackedSecuritiesAgencyCollateralizedMortgageObligationMember
   
Debt securities carried at fair value:        
Debt securities carried at fair value 14,248bac_DebtSecuritiesCarriedAtFairValue
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_MortgageBackedSecuritiesAgencyCollateralizedMortgageObligationMember
     
Non-agency residential        
Available-for-sale Debt Securities:        
Amortized Cost 4,244us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
6,124us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
   
Gross Unrealized Gains 287us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
238us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
   
Gross Unrealized Losses (77)us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
(123)us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
   
Debt securities carried at fair value 4,454us-gaap_AvailableForSaleSecuritiesDebtSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
6,239us-gaap_AvailableForSaleSecuritiesDebtSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
   
Other Debt Securities, Carried at Fair Value:        
Fair Value 3,745bac_OtherDebtSecuritiesCarriedAtFairValue
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
0bac_OtherDebtSecuritiesCarriedAtFairValue
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
   
Debt securities carried at fair value:        
Debt securities carried at fair value 8,199bac_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
89.00%bac_AvailableforsaleDebtSecuritiesUnderlyingCollateralTypeByCreditRatingPercentage
/ us-gaap_InternalCreditAssessmentAxis
= bac_PrimeMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
   
Non-agency residential | Alt-A        
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
7.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
4.00%bac_AvailableforsaleDebtSecuritiesUnderlyingCollateralTypeByCreditRatingPercentage
/ us-gaap_InternalCreditAssessmentAxis
= bac_SubprimeMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
   
Commercial        
Available-for-sale Debt Securities:        
Amortized Cost 3,931us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
2,429us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
   
Gross Unrealized Gains 69us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
63us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
   
Gross Unrealized Losses   (12)us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
   
Debt securities carried at fair value 4,000us-gaap_AvailableForSaleSecuritiesDebtSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
2,480us-gaap_AvailableForSaleSecuritiesDebtSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
   
Other Debt Securities, Carried at Fair Value:        
Fair Value 0bac_OtherDebtSecuritiesCarriedAtFairValue
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
749bac_OtherDebtSecuritiesCarriedAtFairValue
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
   
Debt securities carried at fair value:        
Debt securities carried at fair value 4,000bac_DebtSecuritiesCarriedAtFairValue
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
     
Non-U.S. securities        
Available-for-sale Debt Securities:        
Amortized Cost 6,208us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_ForeignSecuritiesMember
7,207us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_ForeignSecuritiesMember
   
Gross Unrealized Gains 33us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_ForeignSecuritiesMember
37us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_ForeignSecuritiesMember
   
Gross Unrealized Losses (11)us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_ForeignSecuritiesMember
(24)us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_ForeignSecuritiesMember
   
Debt securities carried at fair value 6,230us-gaap_AvailableForSaleSecuritiesDebtSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_ForeignSecuritiesMember
7,220us-gaap_AvailableForSaleSecuritiesDebtSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_ForeignSecuritiesMember
   
Other Debt Securities, Carried at Fair Value:        
Fair Value 15,132bac_OtherDebtSecuritiesCarriedAtFairValue
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_ForeignSecuritiesMember
11,315bac_OtherDebtSecuritiesCarriedAtFairValue
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_ForeignSecuritiesMember
   
Debt securities carried at fair value:        
Debt securities carried at fair value 21,362bac_DebtSecuritiesCarriedAtFairValue
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_ForeignSecuritiesMember
     
Corporate/Agency bonds        
Available-for-sale Debt Securities:        
Amortized Cost 361us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_CorporateandAgencyBondsMember
860us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_CorporateandAgencyBondsMember
   
Gross Unrealized Gains 9us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_CorporateandAgencyBondsMember
20us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_CorporateandAgencyBondsMember
   
Gross Unrealized Losses (2)us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_CorporateandAgencyBondsMember
(7)us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_CorporateandAgencyBondsMember
   
Debt securities carried at fair value 368us-gaap_AvailableForSaleSecuritiesDebtSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_CorporateandAgencyBondsMember
873us-gaap_AvailableForSaleSecuritiesDebtSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_CorporateandAgencyBondsMember
   
Debt securities carried at fair value:        
Debt securities carried at fair value 368bac_DebtSecuritiesCarriedAtFairValue
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_CorporateandAgencyBondsMember
     
Other taxable securities, substantially all asset-backed securities        
Available-for-sale Debt Securities:        
Amortized Cost 10,774us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_OtherTaxableSecuritiesMember
16,805us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_OtherTaxableSecuritiesMember
   
Gross Unrealized Gains 39us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_OtherTaxableSecuritiesMember
30us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_OtherTaxableSecuritiesMember
   
Gross Unrealized Losses (22)us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_OtherTaxableSecuritiesMember
(5)us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_OtherTaxableSecuritiesMember
   
Debt securities carried at fair value 10,791us-gaap_AvailableForSaleSecuritiesDebtSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_OtherTaxableSecuritiesMember
16,830us-gaap_AvailableForSaleSecuritiesDebtSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_OtherTaxableSecuritiesMember
   
Other Debt Securities, Carried at Fair Value:        
Fair Value 299bac_OtherDebtSecuritiesCarriedAtFairValue
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_OtherTaxableSecuritiesMember
0bac_OtherDebtSecuritiesCarriedAtFairValue
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_OtherTaxableSecuritiesMember
   
Debt securities carried at fair value:        
Debt securities carried at fair value 11,090bac_DebtSecuritiesCarriedAtFairValue
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_OtherTaxableSecuritiesMember
     
Total taxable securities        
Available-for-sale Debt Securities:        
Amortized Cost 272,552us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_TaxableSecuritiesMember
235,178us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_TaxableSecuritiesMember
   
Gross Unrealized Gains 2,989us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_TaxableSecuritiesMember
1,347us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_TaxableSecuritiesMember
   
Gross Unrealized Losses (816)us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_TaxableSecuritiesMember
(6,502)us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_TaxableSecuritiesMember
   
Debt securities carried at fair value 274,725us-gaap_AvailableForSaleSecuritiesDebtSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_TaxableSecuritiesMember
230,023us-gaap_AvailableForSaleSecuritiesDebtSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_TaxableSecuritiesMember
   
Debt securities carried at fair value:        
Debt securities carried at fair value 311,146bac_DebtSecuritiesCarriedAtFairValue
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_TaxableSecuritiesMember
     
Tax-exempt securities        
Available-for-sale Debt Securities:        
Amortized Cost 9,556us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_TaxExemptSecuritiesMember
5,967us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_TaxExemptSecuritiesMember
   
Gross Unrealized Gains 12us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_TaxExemptSecuritiesMember
10us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_TaxExemptSecuritiesMember
   
Gross Unrealized Losses (19)us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_TaxExemptSecuritiesMember
(49)us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_TaxExemptSecuritiesMember
   
Debt securities carried at fair value 9,549us-gaap_AvailableForSaleSecuritiesDebtSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_TaxExemptSecuritiesMember
5,928us-gaap_AvailableForSaleSecuritiesDebtSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_TaxExemptSecuritiesMember
   
Debt securities carried at fair value:        
Debt securities carried at fair value 9,549bac_DebtSecuritiesCarriedAtFairValue
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= bac_TaxExemptSecuritiesMember
     
Debt securities        
Available-for-sale Equity Securities:        
Accumulated other comprehensive income tax benefit 823bac_AccumulatedOtherComprehensiveIncomeLossAvailableforsaleSecuritiesAdjustmentTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_DebtSecuritiesMember
     
Debt securities carried at fair value:        
Debt securities carried at fair value 320,695bac_DebtSecuritiesCarriedAtFairValue
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_DebtSecuritiesMember
     
Debt securities | Available-for-sale debt securities        
Available-for-sale Equity Securities:        
Accumulated other comprehensive income (loss) $ 1,343us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_DebtSecuritiesMember
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AccumulatedNetUnrealizedInvestmentGainLossMember
$ (3,257)us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_DebtSecuritiesMember
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AccumulatedNetUnrealizedInvestmentGainLossMember
$ 4,443us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_DebtSecuritiesMember
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AccumulatedNetUnrealizedInvestmentGainLossMember
$ 3,100us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_DebtSecuritiesMember
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AccumulatedNetUnrealizedInvestmentGainLossMember