Annual report pursuant to Section 13 and 15(d)

Securitizations and Other Variable Interest Entities - Other (Details)

v2.4.1.9
Securitizations and Other Variable Interest Entities - Other (Details) (USD $)
12 Months Ended
Dec. 31, 2014
Dec. 31, 2013
Dec. 31, 2012
Dec. 31, 2011
On-balance sheet assets        
Trading account assets $ 191,785,000,000us-gaap_TradingSecurities $ 200,993,000,000us-gaap_TradingSecurities    
Derivative assets 52,682,000,000us-gaap_DerivativeAssets 47,495,000,000us-gaap_DerivativeAssets    
Debt securities carried at fair value 320,695,000,000bac_DebtSecuritiesCarriedAtFairValue 268,795,000,000bac_DebtSecuritiesCarriedAtFairValue    
Loans and leases 881,391,000,000us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome 928,233,000,000us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome    
Allowance for loan and lease losses (14,419,000,000)us-gaap_LoansAndLeasesReceivableAllowance (17,428,000,000)us-gaap_LoansAndLeasesReceivableAllowance (24,179,000,000)us-gaap_LoansAndLeasesReceivableAllowance (33,783,000,000)us-gaap_LoansAndLeasesReceivableAllowance
Loans held-for-sale 12,836,000,000us-gaap_LoansReceivableHeldForSaleNet 11,362,000,000us-gaap_LoansReceivableHeldForSaleNet    
All other assets 112,063,000,000us-gaap_OtherAssets 124,090,000,000us-gaap_OtherAssets    
Total assets 2,104,534,000,000us-gaap_Assets 2,102,273,000,000us-gaap_Assets    
On-balance sheet liabilities        
Long-term debt 243,139,000,000us-gaap_LongTermDebt 249,674,000,000us-gaap_LongTermDebt    
Total liabilities 1,861,063,000,000us-gaap_Liabilities 1,869,588,000,000us-gaap_Liabilities    
Customer Vehicles        
Variable Interest Entity [Line Items]        
Maximum loss exposure 4,700,000,000us-gaap_VariableInterestEntityEntityMaximumLossExposureAmount
/ us-gaap_InvestmentTypeAxis
= bac_CustomerVehiclesMember
5,900,000,000us-gaap_VariableInterestEntityEntityMaximumLossExposureAmount
/ us-gaap_InvestmentTypeAxis
= bac_CustomerVehiclesMember
   
On-balance sheet liabilities        
Long-term debt 584,000,000us-gaap_LongTermDebt
/ us-gaap_InvestmentTypeAxis
= bac_CustomerVehiclesMember
1,200,000,000us-gaap_LongTermDebt
/ us-gaap_InvestmentTypeAxis
= bac_CustomerVehiclesMember
   
Liquidity commitments to unconsolidated securitization trusts 658,000,000bac_QualitativeandQuantitativeInformationTransferorsContinuingInvolvementLiquidityCommitment
/ us-gaap_InvestmentTypeAxis
= bac_CustomerVehiclesMember
748,000,000bac_QualitativeandQuantitativeInformationTransferorsContinuingInvolvementLiquidityCommitment
/ us-gaap_InvestmentTypeAxis
= bac_CustomerVehiclesMember
   
Collateralized Debt Obligations        
Variable Interest Entity [Line Items]        
Maximum loss exposure 780,000,000us-gaap_VariableInterestEntityEntityMaximumLossExposureAmount
/ us-gaap_InvestmentTypeAxis
= us-gaap_CollateralizedDebtObligationsMember
2,100,000,000us-gaap_VariableInterestEntityEntityMaximumLossExposureAmount
/ us-gaap_InvestmentTypeAxis
= us-gaap_CollateralizedDebtObligationsMember
   
On-balance sheet liabilities        
Long-term debt 0us-gaap_LongTermDebt
/ us-gaap_InvestmentTypeAxis
= us-gaap_CollateralizedDebtObligationsMember
1,300,000,000us-gaap_LongTermDebt
/ us-gaap_InvestmentTypeAxis
= us-gaap_CollateralizedDebtObligationsMember
   
Notional amount of liquidity exposure 1,200,000,000bac_NotionalAmountOfLiquidityExposure
/ us-gaap_InvestmentTypeAxis
= us-gaap_CollateralizedDebtObligationsMember
     
Investment Vehicles        
Variable Interest Entity [Line Items]        
Maximum loss exposure 5,100,000,000us-gaap_VariableInterestEntityEntityMaximumLossExposureAmount
/ us-gaap_InvestmentTypeAxis
= bac_InvestmentVehiclesMember
4,200,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
   
Other Asset Back Financing Arrangement        
Variable Interest Entity [Line Items]        
Maximum loss exposure 77,000,000us-gaap_VariableInterestEntityEntityMaximumLossExposureAmount
/ us-gaap_InvestmentTypeAxis
= bac_OtherAssetBackFinancingArrangementMember
1,100,000,000us-gaap_VariableInterestEntityEntityMaximumLossExposureAmount
/ us-gaap_InvestmentTypeAxis
= bac_OtherAssetBackFinancingArrangementMember
   
On-balance sheet liabilities        
Financing provided for asset-backed financing arrangements, percentage 75.00%bac_FinancingProvidedForAssetBackedFinancingArrangementsPercentage
/ us-gaap_InvestmentTypeAxis
= bac_OtherAssetBackFinancingArrangementMember
     
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,200,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,300,000,000us-gaap_Assets
/ us-gaap_InvestmentTypeAxis
= bac_LeveragedLeaseTrustsMember
/ us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
3,800,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 660,000,000us-gaap_VariableInterestEntityEntityMaximumLossExposureAmount
/ us-gaap_InvestmentTypeAxis
= bac_InvestmentVehiclesMember
/ us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis
= us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
2,500,000,000us-gaap_VariableInterestEntityEntityMaximumLossExposureAmount
/ us-gaap_InvestmentTypeAxis
= bac_InvestmentVehiclesMember
/ us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis
= us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
   
On-balance sheet assets        
Total assets 11,200,000,000us-gaap_Assets
/ us-gaap_InvestmentTypeAxis
= bac_InvestmentVehiclesMember
/ us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis
= us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
5,500,000,000us-gaap_Assets
/ us-gaap_InvestmentTypeAxis
= bac_InvestmentVehiclesMember
/ us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis
= us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
   
On-balance sheet liabilities        
Consolidated total assets of VIEs 431,000,000us-gaap_VariableInterestEntityConsolidatedCarryingAmountAssets
/ us-gaap_InvestmentTypeAxis
= bac_InvestmentVehiclesMember
/ us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis
= us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
1,900,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
5,800,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 20,372,000,000us-gaap_VariableInterestEntityEntityMaximumLossExposureAmount
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
22,239,000,000us-gaap_VariableInterestEntityEntityMaximumLossExposureAmount
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
   
On-balance sheet assets        
Trading account assets 1,930,000,000us-gaap_TradingSecurities
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
5,189,000,000us-gaap_TradingSecurities
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
   
Derivative assets 289,000,000us-gaap_DerivativeAssets
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
742,000,000us-gaap_DerivativeAssets
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
   
Debt securities carried at fair value 483,000,000bac_DebtSecuritiesCarriedAtFairValue
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
1,944,000,000bac_DebtSecuritiesCarriedAtFairValue
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
   
Loans and leases 6,713,000,000us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
4,879,000,000us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
   
Allowance for loan and lease losses (6,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 2,081,000,000us-gaap_LoansReceivableHeldForSaleNet
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
1,083,000,000us-gaap_LoansReceivableHeldForSaleNet
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
   
All other assets 8,015,000,000us-gaap_OtherAssets
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
7,901,000,000us-gaap_OtherAssets
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
   
Total assets 19,505,000,000us-gaap_Assets
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
21,732,000,000us-gaap_Assets
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
   
On-balance sheet liabilities        
Short-term borrowings 0us-gaap_ShortTermBorrowings
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
77,000,000us-gaap_ShortTermBorrowings
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
   
Long-term debt 1,834,000,000us-gaap_LongTermDebt
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
4,487,000,000us-gaap_LongTermDebt
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
   
All other liabilities 2,748,000,000us-gaap_OtherLiabilities
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
2,631,000,000us-gaap_OtherLiabilities
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
   
Total liabilities 4,582,000,000us-gaap_Liabilities
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
7,195,000,000us-gaap_Liabilities
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
   
Other Variable Interest Entities | Consolidated VIEs        
Variable Interest Entity [Line Items]        
Maximum loss exposure 7,981,000,000us-gaap_VariableInterestEntityEntityMaximumLossExposureAmount
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
/ us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
9,716,000,000us-gaap_VariableInterestEntityEntityMaximumLossExposureAmount
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
/ us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
   
On-balance sheet assets        
Trading account assets 1,575,000,000us-gaap_TradingSecurities
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
/ us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
3,769,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
3,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 4,020,000,000us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
/ us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
4,609,000,000us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
/ us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
   
Allowance for loan and lease losses (6,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 1,267,000,000us-gaap_LoansReceivableHeldForSaleNet
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
/ us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
998,000,000us-gaap_LoansReceivableHeldForSaleNet
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
/ us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
   
All other assets 1,641,000,000us-gaap_OtherAssets
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
/ us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
1,734,000,000us-gaap_OtherAssets
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
/ us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
   
Total assets 8,502,000,000us-gaap_Assets
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
/ us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
11,107,000,000us-gaap_Assets
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
/ us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
   
On-balance sheet liabilities        
Short-term borrowings 0us-gaap_ShortTermBorrowings
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
/ us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
77,000,000us-gaap_ShortTermBorrowings
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
/ us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
   
Long-term debt 1,834,000,000us-gaap_LongTermDebt
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
/ us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
4,487,000,000us-gaap_LongTermDebt
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
/ us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
   
All other liabilities 105,000,000us-gaap_OtherLiabilities
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
/ us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
93,000,000us-gaap_OtherLiabilities
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
/ us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
   
Total liabilities 1,939,000,000us-gaap_Liabilities
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
/ us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
4,657,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 12,391,000,000us-gaap_VariableInterestEntityEntityMaximumLossExposureAmount
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
/ us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis
= us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
12,523,000,000us-gaap_VariableInterestEntityEntityMaximumLossExposureAmount
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
/ us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis
= us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
   
On-balance sheet assets        
Trading account assets 355,000,000us-gaap_TradingSecurities
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
/ us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis
= us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
1,420,000,000us-gaap_TradingSecurities
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
/ us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis
= us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
   
Derivative assets 284,000,000us-gaap_DerivativeAssets
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
/ us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis
= us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
739,000,000us-gaap_DerivativeAssets
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
/ us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis
= us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
   
Debt securities carried at fair value 483,000,000bac_DebtSecuritiesCarriedAtFairValue
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
/ us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis
= us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
1,944,000,000bac_DebtSecuritiesCarriedAtFairValue
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
/ us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis
= us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
   
Loans and leases 2,693,000,000us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
/ us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis
= us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
270,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 814,000,000us-gaap_LoansReceivableHeldForSaleNet
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
/ us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis
= us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
85,000,000us-gaap_LoansReceivableHeldForSaleNet
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
/ us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis
= us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
   
All other assets 6,374,000,000us-gaap_OtherAssets
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
/ us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis
= us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
6,167,000,000us-gaap_OtherAssets
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
/ us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis
= us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
   
Total assets 11,003,000,000us-gaap_Assets
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
/ us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis
= us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
10,625,000,000us-gaap_Assets
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
/ us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis
= us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
   
On-balance sheet liabilities        
Short-term borrowings 0us-gaap_ShortTermBorrowings
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
/ us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis
= us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
0us-gaap_ShortTermBorrowings
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
/ us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis
= us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
   
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,643,000,000us-gaap_OtherLiabilities
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
/ us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis
= us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
2,538,000,000us-gaap_OtherLiabilities
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
/ us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis
= us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
   
Total liabilities 2,643,000,000us-gaap_Liabilities
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
/ us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis
= us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
2,538,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 8,502,000,000us-gaap_VariableInterestEntityConsolidatedCarryingAmountAssets
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
11,107,000,000us-gaap_VariableInterestEntityConsolidatedCarryingAmountAssets
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
   
Unconsolidated total assets of VIEs 41,467,000,000us-gaap_VariableInterestEntityNonconsolidatedCarryingAmountAssets
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
38,505,000,000us-gaap_VariableInterestEntityNonconsolidatedCarryingAmountAssets
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
   
Total assets of VIEs $ 49,969,000,000bac_VariableInterestEntityConsolidatedAndNonconsolidatedCarryingAmountAssets
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
$ 49,612,000,000bac_VariableInterestEntityConsolidatedAndNonconsolidatedCarryingAmountAssets
/ us-gaap_FinancialInstrumentAxis
= bac_OtherVariableInterestEntitiesMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember