Annual report pursuant to Section 13 and 15(d)

Shareholders' Equity - Narrative (Details)

v2.4.1.9
Shareholders' Equity - Narrative (Details) (USD $)
0 Months Ended 12 Months Ended 0 Months Ended
Dec. 26, 2014
Oct. 23, 2014
Sep. 26, 2014
Aug. 06, 2014
Jun. 18, 2014
Feb. 11, 2014
Dec. 31, 2014
Dec. 31, 2013
Dec. 31, 2012
Jun. 17, 2014
Sep. 05, 2014
Sep. 09, 2014
Feb. 10, 2015
Jan. 27, 2015
Class of Stock [Line Items]                            
Common dividends (in dollars per share)   $ 0.05us-gaap_CommonStockDividendsPerShareDeclared   $ 0.05us-gaap_CommonStockDividendsPerShareDeclared $ 0.01us-gaap_CommonStockDividendsPerShareDeclared $ 0.01us-gaap_CommonStockDividendsPerShareDeclared                
Redempmtion of stock             $ 1,675,000,000us-gaap_StockRepurchasedAndRetiredDuringPeriodValue $ 3,220,000,000us-gaap_StockRepurchasedAndRetiredDuringPeriodValue            
Cash dividends declared per common share (dollars per share) $ 0.05us-gaap_CommonStockDividendsPerShareCashPaid   $ 0.05us-gaap_CommonStockDividendsPerShareCashPaid       $ 0.12us-gaap_CommonStockDividendsPerShareCashPaid $ 0.04us-gaap_CommonStockDividendsPerShareCashPaid $ 0.04us-gaap_CommonStockDividendsPerShareCashPaid          
Share-based compensation, number of shares authorized (shares)             1,800,000,000us-gaap_CommonStockCapitalSharesReservedForFutureIssuance              
Preferred stock dividends             1,044,000,000us-gaap_DividendsPreferredStockCash 1,249,000,000us-gaap_DividendsPreferredStockCash 1,472,000,000us-gaap_DividendsPreferredStockCash          
Issuance of preferred stock             5,957,000,000us-gaap_StockIssuedDuringPeriodValueNewIssues 1,008,000,000us-gaap_StockIssuedDuringPeriodValueNewIssues 667,000,000us-gaap_StockIssuedDuringPeriodValueNewIssues          
Redemption of preferred stock               (6,561,000,000)us-gaap_StockRedeemedOrCalledDuringPeriodValue            
Common stock issued in connection with exchanges of preferred stock and trust preferred securities                 (160,000,000)bac_StockIssuedDuringPeriodValueExchangeofStock          
Series 1 Preferred Stock                            
Class of Stock [Line Items]                            
Liquidation preference (in usd per share)             $ 30,000us-gaap_PreferredStockLiquidationPreference
/ us-gaap_StatementClassOfStockAxis
= bac_Series1PreferredStockMember
             
Series T Preferred Stock                            
Class of Stock [Line Items]                            
Warrants outstanding             700,000,000us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights
/ us-gaap_StatementClassOfStockAxis
= bac_SeriesTPreferredStockMember
             
Exercise price per warrant             $ 7.142857us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1
/ us-gaap_StatementClassOfStockAxis
= bac_SeriesTPreferredStockMember
             
Per Annum Dividend Rate             6.00%us-gaap_PreferredStockDividendRatePercentage
/ us-gaap_StatementClassOfStockAxis
= bac_SeriesTPreferredStockMember
             
Liquidation preference (in usd per share)             $ 100,000us-gaap_PreferredStockLiquidationPreference
/ us-gaap_StatementClassOfStockAxis
= bac_SeriesTPreferredStockMember
             
Series V, X, W, and Z Preferred Stock                            
Class of Stock [Line Items]                            
Issuance of preferred stock             6,000,000,000us-gaap_StockIssuedDuringPeriodValueNewIssues
/ us-gaap_StatementClassOfStockAxis
= bac_SeriesVXWandZPreferredStockMember
             
Series V Preferred Stock                            
Class of Stock [Line Items]                            
Per Annum Dividend Rate             5.125%us-gaap_PreferredStockDividendRatePercentage
/ us-gaap_StatementClassOfStockAxis
= bac_SeriesVPreferredStockMember
             
Shares issued during the period (shares)                   60,000us-gaap_StockIssuedDuringPeriodSharesNewIssues
/ us-gaap_StatementClassOfStockAxis
= bac_SeriesVPreferredStockMember
       
Issuance of preferred stock                   1,500,000,000us-gaap_StockIssuedDuringPeriodValueNewIssues
/ us-gaap_StatementClassOfStockAxis
= bac_SeriesVPreferredStockMember
       
Liquidation preference (in usd per share)             $ 25,000us-gaap_PreferredStockLiquidationPreference
/ us-gaap_StatementClassOfStockAxis
= bac_SeriesVPreferredStockMember
             
Series X Preferred Stock                            
Class of Stock [Line Items]                            
Per Annum Dividend Rate             6.25%us-gaap_PreferredStockDividendRatePercentage
/ us-gaap_StatementClassOfStockAxis
= bac_SeriesXPreferredStockMember
             
Shares issued during the period (shares)                     80,000us-gaap_StockIssuedDuringPeriodSharesNewIssues
/ us-gaap_StatementClassOfStockAxis
= bac_SeriesXPreferredStockMember
     
Issuance of preferred stock                     2,000,000,000us-gaap_StockIssuedDuringPeriodValueNewIssues
/ us-gaap_StatementClassOfStockAxis
= bac_SeriesXPreferredStockMember
     
Liquidation preference (in usd per share)             $ 25,000us-gaap_PreferredStockLiquidationPreference
/ us-gaap_StatementClassOfStockAxis
= bac_SeriesXPreferredStockMember
             
Series W Preferred Stock                            
Class of Stock [Line Items]                            
Per Annum Dividend Rate             6.625%us-gaap_PreferredStockDividendRatePercentage
/ us-gaap_StatementClassOfStockAxis
= bac_SeriesWPreferredStockMember
        6.625%us-gaap_PreferredStockDividendRatePercentage
/ us-gaap_StatementClassOfStockAxis
= bac_SeriesWPreferredStockMember
   
Shares issued during the period (shares)                       44,000us-gaap_StockIssuedDuringPeriodSharesNewIssues
/ us-gaap_StatementClassOfStockAxis
= bac_SeriesWPreferredStockMember
   
Issuance of preferred stock                       1,100,000,000us-gaap_StockIssuedDuringPeriodValueNewIssues
/ us-gaap_StatementClassOfStockAxis
= bac_SeriesWPreferredStockMember
   
Liquidation preference (in usd per share)             $ 25,000us-gaap_PreferredStockLiquidationPreference
/ us-gaap_StatementClassOfStockAxis
= bac_SeriesWPreferredStockMember
             
Series Z Preferred Stock                            
Class of Stock [Line Items]                            
Per Annum Dividend Rate             65.00%us-gaap_PreferredStockDividendRatePercentage
/ us-gaap_StatementClassOfStockAxis
= bac_SeriesZPreferredStockMember
             
Shares issued during the period (shares)   56,000us-gaap_StockIssuedDuringPeriodSharesNewIssues
/ us-gaap_StatementClassOfStockAxis
= bac_SeriesZPreferredStockMember
                       
Issuance of preferred stock   1,400,000,000us-gaap_StockIssuedDuringPeriodValueNewIssues
/ us-gaap_StatementClassOfStockAxis
= bac_SeriesZPreferredStockMember
                       
Liquidation preference (in usd per share)             $ 25,000us-gaap_PreferredStockLiquidationPreference
/ us-gaap_StatementClassOfStockAxis
= bac_SeriesZPreferredStockMember
             
Series X, W, Z Preferred Stock                            
Class of Stock [Line Items]                            
Liquidation preference (in usd per share)             $ 25,000us-gaap_PreferredStockLiquidationPreference
/ us-gaap_StatementClassOfStockAxis
= bac_SeriesXWZPreferredStockMember
             
Preferred Stock Series H, J, 6, 7, and 8                            
Class of Stock [Line Items]                            
Redemption of preferred stock               (6,600,000,000)us-gaap_StockRedeemedOrCalledDuringPeriodValue
/ us-gaap_StatementClassOfStockAxis
= bac_PreferredStockSeriesHJ67and8Member
           
Series U Preferred Stock                            
Class of Stock [Line Items]                            
Per Annum Dividend Rate             5.20%us-gaap_PreferredStockDividendRatePercentage
/ us-gaap_StatementClassOfStockAxis
= bac_SeriesUPreferredStockMember
             
Issuance of preferred stock               1,000,000,000us-gaap_StockIssuedDuringPeriodValueNewIssues
/ us-gaap_StatementClassOfStockAxis
= bac_SeriesUPreferredStockMember
           
Liquidation preference (in usd per share)             $ 25,000us-gaap_PreferredStockLiquidationPreference
/ us-gaap_StatementClassOfStockAxis
= bac_SeriesUPreferredStockMember
             
Trust Preferred Securities                            
Class of Stock [Line Items]                            
Redeemable and nonredeemable preferred stock                 760,000,000bac_FinancialInstrumentsSubjecttoMandatoryRedemptionSettlementTermsShareValueAmountExchanged
/ us-gaap_StatementClassOfStockAxis
= bac_TrustPreferredSecuritiesMember
         
Series F and G Preferred Stock                            
Class of Stock [Line Items]                            
Issuance of preferred stock                 633,000,000us-gaap_StockIssuedDuringPeriodValueNewIssues
/ us-gaap_StatementClassOfStockAxis
= bac_SeriesFandGPreferredStockMember
         
Warrants Expiring January 16, 2019                            
Class of Stock [Line Items]                            
Warrants outstanding             150,400,000us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights
/ us-gaap_ClassOfWarrantOrRightAxis
= bac_WarrantsExpiringJanuary162019Member
             
Exercise price per warrant $ 13.24us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1
/ us-gaap_ClassOfWarrantOrRightAxis
= bac_WarrantsExpiringJanuary162019Member
  $ 13.30us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1
/ us-gaap_ClassOfWarrantOrRightAxis
= bac_WarrantsExpiringJanuary162019Member
      $ 13.24us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1
/ us-gaap_ClassOfWarrantOrRightAxis
= bac_WarrantsExpiringJanuary162019Member
             
Minimum required dividend rate             $ 0.01bac_ClassofWarrantorRightMinimumDividendsPerShareDeclaredTriggeringAdjustmenttoExercisePriceofWarrant
/ us-gaap_ClassOfWarrantOrRightAxis
= bac_WarrantsExpiringJanuary162019Member
             
Warrants Expiring October 18, 2018                            
Class of Stock [Line Items]                            
Warrants outstanding             121,800,000us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights
/ us-gaap_ClassOfWarrantOrRightAxis
= bac_WarrantsExpiringOctober182018Member
             
Exercise price per warrant             $ 30.79us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1
/ us-gaap_ClassOfWarrantOrRightAxis
= bac_WarrantsExpiringOctober182018Member
             
Minimum required dividend rate             $ 0.32bac_ClassofWarrantorRightMinimumDividendsPerShareDeclaredTriggeringAdjustmenttoExercisePriceofWarrant
/ us-gaap_ClassOfWarrantOrRightAxis
= bac_WarrantsExpiringOctober182018Member
             
Subsequent Event                            
Class of Stock [Line Items]                            
Common dividends (in dollars per share)                         $ 0.05us-gaap_CommonStockDividendsPerShareDeclared
/ us-gaap_SubsequentEventTypeAxis
= us-gaap_SubsequentEventMember
 
Subsequent Event | Series Y Preferred Stock                            
Class of Stock [Line Items]                            
Per Annum Dividend Rate                           6.50%us-gaap_PreferredStockDividendRatePercentage
/ us-gaap_StatementClassOfStockAxis
= bac_SeriesYPreferredStockMember
/ us-gaap_SubsequentEventTypeAxis
= us-gaap_SubsequentEventMember
Shares issued during the period (shares)                           44,000us-gaap_StockIssuedDuringPeriodSharesNewIssues
/ us-gaap_StatementClassOfStockAxis
= bac_SeriesYPreferredStockMember
/ us-gaap_SubsequentEventTypeAxis
= us-gaap_SubsequentEventMember
Issuance of preferred stock                           1,100,000,000us-gaap_StockIssuedDuringPeriodValueNewIssues
/ us-gaap_StatementClassOfStockAxis
= bac_SeriesYPreferredStockMember
/ us-gaap_SubsequentEventTypeAxis
= us-gaap_SubsequentEventMember
Liquidation preference (in usd per share)                           $ 25,000us-gaap_PreferredStockLiquidationPreference
/ us-gaap_StatementClassOfStockAxis
= bac_SeriesYPreferredStockMember
/ us-gaap_SubsequentEventTypeAxis
= us-gaap_SubsequentEventMember
Common Stock                            
Class of Stock [Line Items]                            
Redempmtion of stock (shares)             101,100,000us-gaap_StockRepurchasedAndRetiredDuringPeriodShares
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockMember
231,700,000us-gaap_StockRepurchasedAndRetiredDuringPeriodShares
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockMember
           
Redempmtion of stock             1,700,000,000us-gaap_StockRepurchasedAndRetiredDuringPeriodValue
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockMember
3,200,000,000us-gaap_StockRepurchasedAndRetiredDuringPeriodValue
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockMember
           
Stock issued (shares)             43,000,000us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockMember
             
Shares paid for tax withholding for share based compensation (shares)             17,000,000us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockMember
             
Common Stock and Additional Paid-in Capital                            
Class of Stock [Line Items]                            
Redempmtion of stock (shares)             101,132,000us-gaap_StockRepurchasedAndRetiredDuringPeriodShares
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockIncludingAdditionalPaidInCapitalMember
231,744,000us-gaap_StockRepurchasedAndRetiredDuringPeriodShares
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockIncludingAdditionalPaidInCapitalMember
           
Redempmtion of stock             1,675,000,000us-gaap_StockRepurchasedAndRetiredDuringPeriodValue
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockIncludingAdditionalPaidInCapitalMember
3,220,000,000us-gaap_StockRepurchasedAndRetiredDuringPeriodValue
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockIncludingAdditionalPaidInCapitalMember
           
Common stock issued in connection with exchanges of preferred stock and trust preferred securities, shares                 49,867,000bac_StockIssuedDuringPeriodSharesExchangeofStock
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockIncludingAdditionalPaidInCapitalMember
         
Common stock issued in connection with exchanges of preferred stock and trust preferred securities                 (412,000,000)bac_StockIssuedDuringPeriodValueExchangeofStock
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockIncludingAdditionalPaidInCapitalMember
         
Retained Earnings                            
Class of Stock [Line Items]                            
Preferred stock dividends             1,044,000,000us-gaap_DividendsPreferredStockCash
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_RetainedEarningsMember
1,249,000,000us-gaap_DividendsPreferredStockCash
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_RetainedEarningsMember
1,472,000,000us-gaap_DividendsPreferredStockCash
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_RetainedEarningsMember
         
Redemption of preferred stock               (100,000,000)us-gaap_StockRedeemedOrCalledDuringPeriodValue
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_RetainedEarningsMember
           
Common stock issued in connection with exchanges of preferred stock and trust preferred securities                 (44,000,000)bac_StockIssuedDuringPeriodValueExchangeofStock
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_RetainedEarningsMember
         
Retained Earnings | Preferred Stock Series H, J, 6, 7, and 8                            
Class of Stock [Line Items]                            
Redemption of preferred stock               (100,000,000)us-gaap_StockRedeemedOrCalledDuringPeriodValue
/ us-gaap_StatementClassOfStockAxis
= bac_PreferredStockSeriesHJ67and8Member
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_RetainedEarningsMember
           
Preferred Stock                            
Class of Stock [Line Items]                            
Issuance of preferred stock             5,957,000,000us-gaap_StockIssuedDuringPeriodValueNewIssues
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_PreferredStockMember
1,008,000,000us-gaap_StockIssuedDuringPeriodValueNewIssues
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_PreferredStockMember
667,000,000us-gaap_StockIssuedDuringPeriodValueNewIssues
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_PreferredStockMember
         
Redemption of preferred stock               (6,461,000,000)us-gaap_StockRedeemedOrCalledDuringPeriodValue
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_PreferredStockMember
           
Common stock issued in connection with exchanges of preferred stock and trust preferred securities                 296,000,000bac_StockIssuedDuringPeriodValueExchangeofStock
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_PreferredStockMember
         
Preferred Stock | Preferred Stock Series H, J, 6, 7, and 8                            
Class of Stock [Line Items]                            
Redemption of preferred stock               (6,500,000,000)us-gaap_StockRedeemedOrCalledDuringPeriodValue
/ us-gaap_StatementClassOfStockAxis
= bac_PreferredStockSeriesHJ67and8Member
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_PreferredStockMember
           
Exchange Agreements | Common Stock                            
Class of Stock [Line Items]                            
Payments Included in Exchange of Preferred Stock and Trust Preferred Securities for Common Stock                 398,000,000bac_PaymentsIncludedInExchangeOfPreferredStockAndTrustPreferredSecuritiesForCommonStock
/ bac_NegotiatedExchangeAgreementInformationAxis
= bac_ExchangeAgreementsMember
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonStockMember
         
Exchange Agreements | Non-Convertible Preferred Stock and Trust Preferred Securities                            
Class of Stock [Line Items]                            
Increase In Retained Earnings And Net Income Applicable To Common Shareholders                 246,000,000bac_ExcessCarryingValueofthePreferredStockandTrustPreferredSecuritiesOverCommonStockIssuedinExchange
/ bac_NegotiatedExchangeAgreementInformationAxis
= bac_ExchangeAgreementsMember
/ us-gaap_StatementClassOfStockAxis
= bac_NonConvertiblePreferredStockAndTrustPreferredSecuritiesMember
         
Net Interest Income | Exchange Agreements | Non-Convertible Preferred Stock and Trust Preferred Securities                            
Class of Stock [Line Items]                            
Other income (loss)                 $ 202,000,000bac_GainLossonExchangeofPreferredStockandTrustPreferredSecuritiesRecordedinIncome
/ us-gaap_IncomeStatementLocationAxis
= bac_NetInterestIncomeMember
/ bac_NegotiatedExchangeAgreementInformationAxis
= bac_ExchangeAgreementsMember
/ us-gaap_StatementClassOfStockAxis
= bac_NonConvertiblePreferredStockAndTrustPreferredSecuritiesMember