Quarterly report pursuant to Section 13 or 15(d)

Securitizations and Other Variable Interest Entities - Other (Details)

v2.4.1.9
Securitizations and Other Variable Interest Entities - Other (Details) (USD $)
Mar. 31, 2015
Dec. 31, 2014
Mar. 31, 2014
Dec. 31, 2013
On-balance sheet assets        
Trading account assets $ 186,860,000,000us-gaap_TradingSecurities $ 191,785,000,000us-gaap_TradingSecurities    
Derivative assets 61,331,000,000us-gaap_DerivativeAssets 52,682,000,000us-gaap_DerivativeAssets    
Debt securities carried at fair value 324,174,000,000bac_DebtSecuritiesCarriedAtFairValue 320,695,000,000bac_DebtSecuritiesCarriedAtFairValue    
Loans and leases 877,956,000,000us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome 881,391,000,000us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome    
Allowance for loan and lease losses (13,676,000,000)us-gaap_LoansAndLeasesReceivableAllowance (14,419,000,000)us-gaap_LoansAndLeasesReceivableAllowance (16,618,000,000)us-gaap_LoansAndLeasesReceivableAllowance (17,428,000,000)us-gaap_LoansAndLeasesReceivableAllowance
Loans held-for-sale 9,732,000,000us-gaap_LoansReceivableHeldForSaleNet 12,836,000,000us-gaap_LoansReceivableHeldForSaleNet    
All other assets 109,574,000,000us-gaap_OtherAssets 112,063,000,000us-gaap_OtherAssets    
Total assets 2,143,545,000,000us-gaap_Assets 2,104,534,000,000us-gaap_Assets 2,149,851,000,000us-gaap_Assets  
On-balance sheet liabilities        
Long-term debt 237,858,000,000us-gaap_LongTermDebt 243,139,000,000us-gaap_LongTermDebt    
Total liabilities 1,893,357,000,000us-gaap_Liabilities 1,861,063,000,000us-gaap_Liabilities    
Investment Vehicles        
Variable Interest Entity [Line Items]        
Maximum loss exposure 4,300,000,000us-gaap_VariableInterestEntityEntityMaximumLossExposureAmount
/ us-gaap_InvestmentTypeAxis
= bac_InvestmentVehiclesMember
5,100,000,000us-gaap_VariableInterestEntityEntityMaximumLossExposureAmount
/ us-gaap_InvestmentTypeAxis
= bac_InvestmentVehiclesMember
   
On-balance sheet liabilities        
Long-term debt 780,000,000us-gaap_LongTermDebt
/ us-gaap_InvestmentTypeAxis
= bac_InvestmentVehiclesMember
780,000,000us-gaap_LongTermDebt
/ us-gaap_InvestmentTypeAxis
= bac_InvestmentVehiclesMember
   
Customer Vehicles        
Variable Interest Entity [Line Items]        
Maximum loss exposure 3,600,000,000us-gaap_VariableInterestEntityEntityMaximumLossExposureAmount
/ us-gaap_InvestmentTypeAxis
= bac_CustomerVehiclesMember
4,700,000,000us-gaap_VariableInterestEntityEntityMaximumLossExposureAmount
/ us-gaap_InvestmentTypeAxis
= bac_CustomerVehiclesMember
   
On-balance sheet liabilities        
Long-term debt 705,000,000us-gaap_LongTermDebt
/ us-gaap_InvestmentTypeAxis
= bac_CustomerVehiclesMember
584,000,000us-gaap_LongTermDebt
/ us-gaap_InvestmentTypeAxis
= bac_CustomerVehiclesMember
   
Liquidity commitments to unconsolidated securitization trusts 650,000,000bac_QualitativeandQuantitativeInformationTransferorsContinuingInvolvementLiquidityCommitment
/ us-gaap_InvestmentTypeAxis
= bac_CustomerVehiclesMember
658,000,000bac_QualitativeandQuantitativeInformationTransferorsContinuingInvolvementLiquidityCommitment
/ us-gaap_InvestmentTypeAxis
= bac_CustomerVehiclesMember
   
Collateralized Debt Obligations        
Variable Interest Entity [Line Items]        
Maximum loss exposure 732,000,000us-gaap_VariableInterestEntityEntityMaximumLossExposureAmount
/ us-gaap_InvestmentTypeAxis
= us-gaap_CollateralizedDebtObligationsMember
780,000,000us-gaap_VariableInterestEntityEntityMaximumLossExposureAmount
/ us-gaap_InvestmentTypeAxis
= us-gaap_CollateralizedDebtObligationsMember
   
On-balance sheet liabilities        
Notional amount of liquidity exposure 1,200,000,000bac_NotionalAmountOfLiquidityExposure
/ us-gaap_InvestmentTypeAxis
= us-gaap_CollateralizedDebtObligationsMember
     
Consolidated VIEs | Investment Vehicles        
On-balance sheet assets        
Total assets 1,100,000,000us-gaap_Assets
/ us-gaap_InvestmentTypeAxis
= bac_InvestmentVehiclesMember
/ us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
1,100,000,000us-gaap_Assets
/ us-gaap_InvestmentTypeAxis
= bac_InvestmentVehiclesMember
/ us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
   
Consolidated VIEs | Leveraged Lease Trusts        
On-balance sheet assets        
Total assets 3,200,000,000us-gaap_Assets
/ us-gaap_InvestmentTypeAxis
= bac_LeveragedLeaseTrustsMember
/ us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
3,300,000,000us-gaap_Assets
/ us-gaap_InvestmentTypeAxis
= bac_LeveragedLeaseTrustsMember
/ us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
   
Unconsolidated VIEs | Investment Vehicles        
Variable Interest Entity [Line Items]        
Maximum loss exposure 250,000,000us-gaap_VariableInterestEntityEntityMaximumLossExposureAmount
/ us-gaap_InvestmentTypeAxis
= bac_InvestmentVehiclesMember
/ us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis
= us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
660,000,000us-gaap_VariableInterestEntityEntityMaximumLossExposureAmount
/ us-gaap_InvestmentTypeAxis
= bac_InvestmentVehiclesMember
/ us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis
= us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
   
On-balance sheet assets        
Total assets 8,800,000,000us-gaap_Assets
/ us-gaap_InvestmentTypeAxis
= bac_InvestmentVehiclesMember
/ us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis
= us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
11,200,000,000us-gaap_Assets
/ us-gaap_InvestmentTypeAxis
= bac_InvestmentVehiclesMember
/ us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis
= us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
   
On-balance sheet liabilities        
Consolidated total assets of VIEs 150,000,000us-gaap_VariableInterestEntityConsolidatedCarryingAmountAssets
/ us-gaap_InvestmentTypeAxis
= bac_InvestmentVehiclesMember
/ us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis
= us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
431,000,000us-gaap_VariableInterestEntityConsolidatedCarryingAmountAssets
/ us-gaap_InvestmentTypeAxis
= bac_InvestmentVehiclesMember
/ us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis
= us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
   
Unconsolidated VIEs | Real Estate Vehicles        
On-balance sheet assets        
Total assets 6,200,000,000us-gaap_Assets
/ us-gaap_InvestmentTypeAxis
= bac_RealEstateVehiclesMember
/ us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis
= us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
6,200,000,000us-gaap_Assets
/ us-gaap_InvestmentTypeAxis
= bac_RealEstateVehiclesMember
/ us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis
= us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
   
Other Variable Interest Entities        
Variable Interest Entity [Line Items]        
Maximum loss exposure 18,123,000,000us-gaap_VariableInterestEntityEntityMaximumLossExposureAmount
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
20,372,000,000us-gaap_VariableInterestEntityEntityMaximumLossExposureAmount
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
   
On-balance sheet assets        
Trading account assets 1,896,000,000us-gaap_TradingSecurities
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
1,930,000,000us-gaap_TradingSecurities
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
   
Derivative assets 303,000,000us-gaap_DerivativeAssets
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
289,000,000us-gaap_DerivativeAssets
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
   
Debt securities carried at fair value 188,000,000bac_DebtSecuritiesCarriedAtFairValue
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
483,000,000bac_DebtSecuritiesCarriedAtFairValue
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
   
Loans and leases 5,674,000,000us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
6,713,000,000us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
   
Allowance for loan and lease losses (5,000,000)us-gaap_LoansAndLeasesReceivableAllowance
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
(6,000,000)us-gaap_LoansAndLeasesReceivableAllowance
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
   
Loans held-for-sale 1,398,000,000us-gaap_LoansReceivableHeldForSaleNet
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
2,081,000,000us-gaap_LoansReceivableHeldForSaleNet
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
   
All other assets 7,868,000,000us-gaap_OtherAssets
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
8,015,000,000us-gaap_OtherAssets
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
   
Total assets 17,322,000,000us-gaap_Assets
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
19,505,000,000us-gaap_Assets
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
   
On-balance sheet liabilities        
Long-term debt 1,845,000,000us-gaap_LongTermDebt
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
1,834,000,000us-gaap_LongTermDebt
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
   
All other liabilities 2,660,000,000us-gaap_OtherLiabilities
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
2,748,000,000us-gaap_OtherLiabilities
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
   
Total liabilities 4,505,000,000us-gaap_Liabilities
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
4,582,000,000us-gaap_Liabilities
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
   
Other Variable Interest Entities | Consolidated VIEs        
Variable Interest Entity [Line Items]        
Maximum loss exposure 6,731,000,000us-gaap_VariableInterestEntityEntityMaximumLossExposureAmount
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
/ us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
7,981,000,000us-gaap_VariableInterestEntityEntityMaximumLossExposureAmount
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
/ us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
   
On-balance sheet assets        
Trading account assets 1,520,000,000us-gaap_TradingSecurities
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
/ us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
1,575,000,000us-gaap_TradingSecurities
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
/ us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
   
Derivative assets 5,000,000us-gaap_DerivativeAssets
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
/ us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
5,000,000us-gaap_DerivativeAssets
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
/ us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
   
Debt securities carried at fair value 0bac_DebtSecuritiesCarriedAtFairValue
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
/ us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
0bac_DebtSecuritiesCarriedAtFairValue
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
/ us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
   
Loans and leases 3,261,000,000us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
/ us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
4,020,000,000us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
/ us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
   
Allowance for loan and lease losses (5,000,000)us-gaap_LoansAndLeasesReceivableAllowance
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
/ us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
(6,000,000)us-gaap_LoansAndLeasesReceivableAllowance
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
/ us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
   
Loans held-for-sale 731,000,000us-gaap_LoansReceivableHeldForSaleNet
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
/ us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
1,267,000,000us-gaap_LoansReceivableHeldForSaleNet
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
/ us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
   
All other assets 1,629,000,000us-gaap_OtherAssets
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
/ us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
1,641,000,000us-gaap_OtherAssets
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
/ us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
   
Total assets 7,141,000,000us-gaap_Assets
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
/ us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
8,502,000,000us-gaap_Assets
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
/ us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
   
On-balance sheet liabilities        
Long-term debt 1,845,000,000us-gaap_LongTermDebt
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
/ us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
1,834,000,000us-gaap_LongTermDebt
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
/ us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
   
All other liabilities 81,000,000us-gaap_OtherLiabilities
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
/ us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
105,000,000us-gaap_OtherLiabilities
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
/ us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
   
Total liabilities 1,926,000,000us-gaap_Liabilities
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
/ us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
1,939,000,000us-gaap_Liabilities
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
/ us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
   
Other Variable Interest Entities | Unconsolidated VIEs        
Variable Interest Entity [Line Items]        
Maximum loss exposure 11,392,000,000us-gaap_VariableInterestEntityEntityMaximumLossExposureAmount
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
/ us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis
= us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
12,391,000,000us-gaap_VariableInterestEntityEntityMaximumLossExposureAmount
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
/ us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis
= us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
   
On-balance sheet assets        
Trading account assets 376,000,000us-gaap_TradingSecurities
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
/ us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis
= us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
355,000,000us-gaap_TradingSecurities
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
/ us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis
= us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
   
Derivative assets 298,000,000us-gaap_DerivativeAssets
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
/ us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis
= us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
284,000,000us-gaap_DerivativeAssets
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
/ us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis
= us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
   
Debt securities carried at fair value 188,000,000bac_DebtSecuritiesCarriedAtFairValue
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
/ us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis
= us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
483,000,000bac_DebtSecuritiesCarriedAtFairValue
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
/ us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis
= us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
   
Loans and leases 2,413,000,000us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
/ us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis
= us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
2,693,000,000us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
/ us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis
= us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
   
Allowance for loan and lease losses 0us-gaap_LoansAndLeasesReceivableAllowance
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
/ us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis
= us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
0us-gaap_LoansAndLeasesReceivableAllowance
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
/ us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis
= us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
   
Loans held-for-sale 667,000,000us-gaap_LoansReceivableHeldForSaleNet
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
/ us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis
= us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
814,000,000us-gaap_LoansReceivableHeldForSaleNet
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
/ us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis
= us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
   
All other assets 6,239,000,000us-gaap_OtherAssets
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
/ us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis
= us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
6,374,000,000us-gaap_OtherAssets
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
/ us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis
= us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
   
Total assets 10,181,000,000us-gaap_Assets
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
/ us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis
= us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
11,003,000,000us-gaap_Assets
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
/ us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis
= us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
   
On-balance sheet liabilities        
Long-term debt 0us-gaap_LongTermDebt
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
/ us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis
= us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
0us-gaap_LongTermDebt
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
/ us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis
= us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
   
All other liabilities 2,579,000,000us-gaap_OtherLiabilities
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
/ us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis
= us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
2,643,000,000us-gaap_OtherLiabilities
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
/ us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis
= us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
   
Total liabilities 2,579,000,000us-gaap_Liabilities
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
/ us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis
= us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
2,643,000,000us-gaap_Liabilities
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
/ us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis
= us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
   
Other Variable Interest Entities | Unconsolidated VIEs        
On-balance sheet liabilities        
Consolidated total assets of VIEs 7,141,000,000us-gaap_VariableInterestEntityConsolidatedCarryingAmountAssets
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
8,502,000,000us-gaap_VariableInterestEntityConsolidatedCarryingAmountAssets
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
   
Unconsolidated total assets of VIEs 36,968,000,000us-gaap_VariableInterestEntityNonconsolidatedCarryingAmountAssets
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
41,467,000,000us-gaap_VariableInterestEntityNonconsolidatedCarryingAmountAssets
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
   
Total assets of VIEs $ 44,109,000,000bac_VariableInterestEntityConsolidatedAndNonconsolidatedCarryingAmountAssets
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
$ 49,969,000,000bac_VariableInterestEntityConsolidatedAndNonconsolidatedCarryingAmountAssets
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember