Annual report pursuant to Section 13 and 15(d)

Shareholders' Equity - Preferred Stock Narrative (Details)

v2.4.1.9
Shareholders' Equity - Preferred Stock Narrative (Details) (USD $)
12 Months Ended
Dec. 31, 2014
D
Dec. 31, 2013
Class of Stock [Line Items]    
Preferred stock, par value (in usd per share) 0.01us-gaap_PreferredStockParOrStatedValuePerShare $ 0.01us-gaap_PreferredStockParOrStatedValuePerShare
Series L Preferred Stock    
Class of Stock [Line Items]    
Per Annum Dividend Rate 7.25%us-gaap_PreferredStockDividendRatePercentage
/ us-gaap_StatementClassOfStockAxis
= bac_SeriesLPreferredStockMember
 
Preferred stock to be convertible into common shares 20us-gaap_ConvertiblePreferredStockSharesIssuedUponConversion
/ us-gaap_StatementClassOfStockAxis
= bac_SeriesLPreferredStockMember
 
Number of trading days 20bac_PreferredStockConvertibleThresholdTradingDays
/ us-gaap_StatementClassOfStockAxis
= bac_SeriesLPreferredStockMember
 
Period of consecutive trading days 30 days  
Threshold percentage of common stock closing price 130.00%bac_PreferredStockConvertibleThresholdPercentageofCommonStockClosingPrice
/ us-gaap_StatementClassOfStockAxis
= bac_SeriesLPreferredStockMember
 
Preferred Stock, Excluding Series T Preferred    
Class of Stock [Line Items]    
Number of semi annual periods in arrears (or more) 3bac_PreferredStockVotingRightsDividendPayableNumberOfSemiAnnualPeriodsInArrears
/ us-gaap_StatementClassOfStockAxis
= bac_PreferredStockExcludingSeriesTPreferredMember
 
Number of quarterly periods in arrears (or more) 6bac_PreferredStockVotingRightsDividendPayableNumberOfQuarterlyPeriodsInArrears
/ us-gaap_StatementClassOfStockAxis
= bac_PreferredStockExcludingSeriesTPreferredMember
 
Number of additional directors to be elected 2bac_PreferredStockVotingRightsDividendsInArrearsNumberOfAdditionalDirectorsToBeElected
/ us-gaap_StatementClassOfStockAxis
= bac_PreferredStockExcludingSeriesTPreferredMember
 
Number of semi annual periods for termination (or more) 2bac_PreferredStockTerminationOfVotingRightsDividendPaidNumberOfSemiAnnualPeriods
/ us-gaap_StatementClassOfStockAxis
= bac_PreferredStockExcludingSeriesTPreferredMember
 
Number of quarterly periods for termination (or more) 4bac_PreferredStockTerminationOfVotingRightsDividendPaidNumberOfQuarterlyPeriods
/ us-gaap_StatementClassOfStockAxis
= bac_PreferredStockExcludingSeriesTPreferredMember