Quarterly report pursuant to Section 13 or 15(d)

Shareholders' Equity (Details)

v2.4.1.9
Shareholders' Equity (Details) (USD $)
In Millions, except Share data, unless otherwise specified
0 Months Ended 3 Months Ended 0 Months Ended
Feb. 10, 2015
Mar. 31, 2015
Mar. 31, 2014
Jan. 27, 2015
Mar. 17, 2015
Apr. 16, 2015
Class of Stock [Line Items]            
Common stock dividends declared (in usd per share) $ 0.05us-gaap_CommonStockDividendsPerShareDeclared          
Share-based compensation, number of shares authorized (shares)   1,800,000,000us-gaap_CommonStockCapitalSharesReservedForFutureIssuance        
Preferred stock dividends   $ 382us-gaap_DividendsPreferredStockCash $ 238us-gaap_DividendsPreferredStockCash      
Payment of preferred stock dividends   319us-gaap_PaymentsOfDividendsPreferredStockAndPreferenceStock        
Issuance of preferred stock   2,964us-gaap_StockIssuedDuringPeriodValueNewIssues        
Key Associate Stock Plan | Restricted Stock Units (RSUs)            
Class of Stock [Line Items]            
Awards granted in period   131,000,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
/ us-gaap_AwardTypeAxis
= us-gaap_RestrictedStockUnitsRSUMember
/ us-gaap_PlanNameAxis
= bac_KeyAssociateStockPlanMember
       
Restricted stock units authorized to be converted to common stock upon vesting (shares)   2,000,000bac_RestrictedStockUnitsConversionBasistoCommonStockNumberofShares
/ us-gaap_AwardTypeAxis
= us-gaap_RestrictedStockUnitsRSUMember
/ us-gaap_PlanNameAxis
= bac_KeyAssociateStockPlanMember
       
Key Associate Stock Plan | Restricted Stock Units (RSUs) | Anniversary One            
Class of Stock [Line Items]            
Vesting percentage   33.33%us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage
/ us-gaap_AwardTypeAxis
= us-gaap_RestrictedStockUnitsRSUMember
/ us-gaap_PlanNameAxis
= bac_KeyAssociateStockPlanMember
/ us-gaap_VestingAxis
= us-gaap_ShareBasedCompensationAwardTrancheOneMember
       
Key Associate Stock Plan | Restricted Stock Units (RSUs) | Anniversary Two            
Class of Stock [Line Items]            
Vesting percentage   33.33%us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage
/ us-gaap_AwardTypeAxis
= us-gaap_RestrictedStockUnitsRSUMember
/ us-gaap_PlanNameAxis
= bac_KeyAssociateStockPlanMember
/ us-gaap_VestingAxis
= us-gaap_ShareBasedCompensationAwardTrancheTwoMember
       
Key Associate Stock Plan | Restricted Stock Units (RSUs) | Anniversary Three            
Class of Stock [Line Items]            
Vesting percentage   33.33%us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage
/ us-gaap_AwardTypeAxis
= us-gaap_RestrictedStockUnitsRSUMember
/ us-gaap_PlanNameAxis
= bac_KeyAssociateStockPlanMember
/ us-gaap_VestingAxis
= us-gaap_ShareBasedCompensationAwardTrancheThreeMember
       
Series Y Preferred Stock            
Class of Stock [Line Items]            
Shares issued during the period (shares)       44,000us-gaap_StockIssuedDuringPeriodSharesNewIssues
/ us-gaap_StatementClassOfStockAxis
= bac_SeriesYPreferredStockMember
   
Preferred stock dividend rate   6.50%us-gaap_PreferredStockDividendRatePercentage
/ us-gaap_StatementClassOfStockAxis
= bac_SeriesYPreferredStockMember
       
Issuance of preferred stock       1,100us-gaap_StockIssuedDuringPeriodValueNewIssues
/ us-gaap_StatementClassOfStockAxis
= bac_SeriesYPreferredStockMember
   
Liquidation preference (in usd per share)   $ 25,000us-gaap_PreferredStockLiquidationPreference
/ us-gaap_StatementClassOfStockAxis
= bac_SeriesYPreferredStockMember
       
Series AA Preferred Stock            
Class of Stock [Line Items]            
Shares issued during the period (shares)         76,000us-gaap_StockIssuedDuringPeriodSharesNewIssues
/ us-gaap_StatementClassOfStockAxis
= bac_SeriesAAPreferredStockMember
 
Issuance of preferred stock         $ 1,900us-gaap_StockIssuedDuringPeriodValueNewIssues
/ us-gaap_StatementClassOfStockAxis
= bac_SeriesAAPreferredStockMember
 
Liquidation preference (in usd per share)   $ 25,000us-gaap_PreferredStockLiquidationPreference
/ us-gaap_StatementClassOfStockAxis
= bac_SeriesAAPreferredStockMember
       
Warrants Expiring January 16, 2019            
Class of Stock [Line Items]            
Warrants outstanding   150,400,000us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights
/ us-gaap_ClassOfWarrantOrRightAxis
= bac_WarrantsExpiringJanuary162019Member
       
Minimum required dividend rate   $ 0.01bac_ClassofWarrantorRightMinimumDividendsPerShareDeclaredTriggeringAdjustmenttoExercisePriceofWarrant
/ us-gaap_ClassOfWarrantOrRightAxis
= bac_WarrantsExpiringJanuary162019Member
       
Exercise price per warrant   $ 13.20us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1
/ us-gaap_ClassOfWarrantOrRightAxis
= bac_WarrantsExpiringJanuary162019Member
       
Warrants Expiring October 28, 2018            
Class of Stock [Line Items]            
Warrants outstanding   121,800,000us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights
/ us-gaap_ClassOfWarrantOrRightAxis
= bac_WarrantsExpiringOctober282018Member
       
Minimum required dividend rate   $ 0.32bac_ClassofWarrantorRightMinimumDividendsPerShareDeclaredTriggeringAdjustmenttoExercisePriceofWarrant
/ us-gaap_ClassOfWarrantOrRightAxis
= bac_WarrantsExpiringOctober282018Member
       
Subsequent Event            
Class of Stock [Line Items]            
Common stock dividends declared (in usd per share)           $ 0.05us-gaap_CommonStockDividendsPerShareDeclared
/ us-gaap_SubsequentEventTypeAxis
= us-gaap_SubsequentEventMember
Common Stock            
Class of Stock [Line Items]            
Stock issued (shares)   7,000,000us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockMember
       
Shares paid for tax withholding for share based compensation (shares)   3,000,000us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockMember