Annual report pursuant to Section 13 and 15(d)

Commitments and Contingencies - Credit Extension Commitments (Details)

v2.4.1.9
Commitments and Contingencies - Credit Extension Commitments (Details) (USD $)
In Millions, unless otherwise specified
Dec. 31, 2014
Dec. 31, 2013
Other Commitments [Line Items]    
Expire in One Year or Less $ 471,320bac_CreditExtensionCommitmentsNotionalAmountExpirationinOneYearorLess $ 486,482bac_CreditExtensionCommitmentsNotionalAmountExpirationinOneYearorLess
Expire After One Year Through Three Years 126,525bac_CreditExtensionCommitmentsNotionalAmountExpirationAfterOneYearThroughThreeYears 131,772bac_CreditExtensionCommitmentsNotionalAmountExpirationAfterOneYearThroughThreeYears
Expire After Three Years Through Five Years 163,616bac_CreditExtensionCommitmentsNotionalAmountExpirationAfterThreeYearsThroughFiveYears 157,244bac_CreditExtensionCommitmentsNotionalAmountExpirationAfterThreeYearsThroughFiveYears
Expire After Five Years 36,254bac_CreditExtensionCommitmentsNotionalAmountExpirationAfterFiveYears 40,535bac_CreditExtensionCommitmentsNotionalAmountExpirationAfterFiveYears
Notional Amount of Credit Extension Commitments 797,715bac_CreditExtensionCommitmentsNotionalAmount 816,033bac_CreditExtensionCommitmentsNotionalAmount
Loan commitments    
Other Commitments [Line Items]    
Expire in One Year or Less 79,897bac_CreditExtensionCommitmentsNotionalAmountExpirationinOneYearorLess
/ us-gaap_FinancialInstrumentAxis
= us-gaap_LoanPurchaseCommitmentsMember
80,799bac_CreditExtensionCommitmentsNotionalAmountExpirationinOneYearorLess
/ us-gaap_FinancialInstrumentAxis
= us-gaap_LoanPurchaseCommitmentsMember
Expire After One Year Through Three Years 97,583bac_CreditExtensionCommitmentsNotionalAmountExpirationAfterOneYearThroughThreeYears
/ us-gaap_FinancialInstrumentAxis
= us-gaap_LoanPurchaseCommitmentsMember
105,175bac_CreditExtensionCommitmentsNotionalAmountExpirationAfterOneYearThroughThreeYears
/ us-gaap_FinancialInstrumentAxis
= us-gaap_LoanPurchaseCommitmentsMember
Expire After Three Years Through Five Years 146,743bac_CreditExtensionCommitmentsNotionalAmountExpirationAfterThreeYearsThroughFiveYears
/ us-gaap_FinancialInstrumentAxis
= us-gaap_LoanPurchaseCommitmentsMember
133,290bac_CreditExtensionCommitmentsNotionalAmountExpirationAfterThreeYearsThroughFiveYears
/ us-gaap_FinancialInstrumentAxis
= us-gaap_LoanPurchaseCommitmentsMember
Expire After Five Years 18,942bac_CreditExtensionCommitmentsNotionalAmountExpirationAfterFiveYears
/ us-gaap_FinancialInstrumentAxis
= us-gaap_LoanPurchaseCommitmentsMember
21,864bac_CreditExtensionCommitmentsNotionalAmountExpirationAfterFiveYears
/ us-gaap_FinancialInstrumentAxis
= us-gaap_LoanPurchaseCommitmentsMember
Notional Amount of Credit Extension Commitments 343,165bac_CreditExtensionCommitmentsNotionalAmount
/ us-gaap_FinancialInstrumentAxis
= us-gaap_LoanPurchaseCommitmentsMember
341,128bac_CreditExtensionCommitmentsNotionalAmount
/ us-gaap_FinancialInstrumentAxis
= us-gaap_LoanPurchaseCommitmentsMember
Home equity lines of credit    
Other Commitments [Line Items]    
Expire in One Year or Less 6,292bac_CreditExtensionCommitmentsNotionalAmountExpirationinOneYearorLess
/ us-gaap_FinancialInstrumentAxis
= us-gaap_HomeEquityMember
4,580bac_CreditExtensionCommitmentsNotionalAmountExpirationinOneYearorLess
/ us-gaap_FinancialInstrumentAxis
= us-gaap_HomeEquityMember
Expire After One Year Through Three Years 19,679bac_CreditExtensionCommitmentsNotionalAmountExpirationAfterOneYearThroughThreeYears
/ us-gaap_FinancialInstrumentAxis
= us-gaap_HomeEquityMember
16,855bac_CreditExtensionCommitmentsNotionalAmountExpirationAfterOneYearThroughThreeYears
/ us-gaap_FinancialInstrumentAxis
= us-gaap_HomeEquityMember
Expire After Three Years Through Five Years 12,319bac_CreditExtensionCommitmentsNotionalAmountExpirationAfterThreeYearsThroughFiveYears
/ us-gaap_FinancialInstrumentAxis
= us-gaap_HomeEquityMember
21,074bac_CreditExtensionCommitmentsNotionalAmountExpirationAfterThreeYearsThroughFiveYears
/ us-gaap_FinancialInstrumentAxis
= us-gaap_HomeEquityMember
Expire After Five Years 15,417bac_CreditExtensionCommitmentsNotionalAmountExpirationAfterFiveYears
/ us-gaap_FinancialInstrumentAxis
= us-gaap_HomeEquityMember
14,301bac_CreditExtensionCommitmentsNotionalAmountExpirationAfterFiveYears
/ us-gaap_FinancialInstrumentAxis
= us-gaap_HomeEquityMember
Notional Amount of Credit Extension Commitments 53,707bac_CreditExtensionCommitmentsNotionalAmount
/ us-gaap_FinancialInstrumentAxis
= us-gaap_HomeEquityMember
56,810bac_CreditExtensionCommitmentsNotionalAmount
/ us-gaap_FinancialInstrumentAxis
= us-gaap_HomeEquityMember
Standby letters of credit and financial guarantees    
Other Commitments [Line Items]    
Expire in One Year or Less 19,259bac_CreditExtensionCommitmentsNotionalAmountExpirationinOneYearorLess
/ us-gaap_FinancialInstrumentAxis
= us-gaap_FinancialStandbyLetterOfCreditMember
21,994bac_CreditExtensionCommitmentsNotionalAmountExpirationinOneYearorLess
/ us-gaap_FinancialInstrumentAxis
= us-gaap_FinancialStandbyLetterOfCreditMember
Expire After One Year Through Three Years 9,106bac_CreditExtensionCommitmentsNotionalAmountExpirationAfterOneYearThroughThreeYears
/ us-gaap_FinancialInstrumentAxis
= us-gaap_FinancialStandbyLetterOfCreditMember
8,843bac_CreditExtensionCommitmentsNotionalAmountExpirationAfterOneYearThroughThreeYears
/ us-gaap_FinancialInstrumentAxis
= us-gaap_FinancialStandbyLetterOfCreditMember
Expire After Three Years Through Five Years 4,519bac_CreditExtensionCommitmentsNotionalAmountExpirationAfterThreeYearsThroughFiveYears
/ us-gaap_FinancialInstrumentAxis
= us-gaap_FinancialStandbyLetterOfCreditMember
2,876bac_CreditExtensionCommitmentsNotionalAmountExpirationAfterThreeYearsThroughFiveYears
/ us-gaap_FinancialInstrumentAxis
= us-gaap_FinancialStandbyLetterOfCreditMember
Expire After Five Years 1,807bac_CreditExtensionCommitmentsNotionalAmountExpirationAfterFiveYears
/ us-gaap_FinancialInstrumentAxis
= us-gaap_FinancialStandbyLetterOfCreditMember
3,967bac_CreditExtensionCommitmentsNotionalAmountExpirationAfterFiveYears
/ us-gaap_FinancialInstrumentAxis
= us-gaap_FinancialStandbyLetterOfCreditMember
Notional Amount of Credit Extension Commitments 34,691bac_CreditExtensionCommitmentsNotionalAmount
/ us-gaap_FinancialInstrumentAxis
= us-gaap_FinancialStandbyLetterOfCreditMember
37,680bac_CreditExtensionCommitmentsNotionalAmount
/ us-gaap_FinancialInstrumentAxis
= us-gaap_FinancialStandbyLetterOfCreditMember
Standby letters of credit and financial guarantees | Investment grade    
Other Commitments [Line Items]    
Notional Amount of Credit Extension Commitments 26,100bac_CreditExtensionCommitmentsNotionalAmount
/ us-gaap_FinancialInstrumentAxis
= us-gaap_FinancialStandbyLetterOfCreditMember
/ us-gaap_InternalCreditAssessmentAxis
= bac_InternalInvestmentGradeMember
27,600bac_CreditExtensionCommitmentsNotionalAmount
/ us-gaap_FinancialInstrumentAxis
= us-gaap_FinancialStandbyLetterOfCreditMember
/ us-gaap_InternalCreditAssessmentAxis
= bac_InternalInvestmentGradeMember
Standby letters of credit and financial guarantees | Non-investment grade    
Other Commitments [Line Items]    
Notional Amount of Credit Extension Commitments 8,200bac_CreditExtensionCommitmentsNotionalAmount
/ us-gaap_FinancialInstrumentAxis
= us-gaap_FinancialStandbyLetterOfCreditMember
/ us-gaap_InternalCreditAssessmentAxis
= bac_InternalNoninvestmentGradeMember
9,600bac_CreditExtensionCommitmentsNotionalAmount
/ us-gaap_FinancialInstrumentAxis
= us-gaap_FinancialStandbyLetterOfCreditMember
/ us-gaap_InternalCreditAssessmentAxis
= bac_InternalNoninvestmentGradeMember
Letters of credit    
Other Commitments [Line Items]    
Expire in One Year or Less 1,883bac_CreditExtensionCommitmentsNotionalAmountExpirationinOneYearorLess
/ us-gaap_FinancialInstrumentAxis
= us-gaap_LetterOfCreditMember
1,263bac_CreditExtensionCommitmentsNotionalAmountExpirationinOneYearorLess
/ us-gaap_FinancialInstrumentAxis
= us-gaap_LetterOfCreditMember
Expire After One Year Through Three Years 157bac_CreditExtensionCommitmentsNotionalAmountExpirationAfterOneYearThroughThreeYears
/ us-gaap_FinancialInstrumentAxis
= us-gaap_LetterOfCreditMember
899bac_CreditExtensionCommitmentsNotionalAmountExpirationAfterOneYearThroughThreeYears
/ us-gaap_FinancialInstrumentAxis
= us-gaap_LetterOfCreditMember
Expire After Three Years Through Five Years 35bac_CreditExtensionCommitmentsNotionalAmountExpirationAfterThreeYearsThroughFiveYears
/ us-gaap_FinancialInstrumentAxis
= us-gaap_LetterOfCreditMember
4bac_CreditExtensionCommitmentsNotionalAmountExpirationAfterThreeYearsThroughFiveYears
/ us-gaap_FinancialInstrumentAxis
= us-gaap_LetterOfCreditMember
Expire After Five Years 88bac_CreditExtensionCommitmentsNotionalAmountExpirationAfterFiveYears
/ us-gaap_FinancialInstrumentAxis
= us-gaap_LetterOfCreditMember
403bac_CreditExtensionCommitmentsNotionalAmountExpirationAfterFiveYears
/ us-gaap_FinancialInstrumentAxis
= us-gaap_LetterOfCreditMember
Notional Amount of Credit Extension Commitments 2,163bac_CreditExtensionCommitmentsNotionalAmount
/ us-gaap_FinancialInstrumentAxis
= us-gaap_LetterOfCreditMember
2,569bac_CreditExtensionCommitmentsNotionalAmount
/ us-gaap_FinancialInstrumentAxis
= us-gaap_LetterOfCreditMember
Legally binding commitments    
Other Commitments [Line Items]    
Expire in One Year or Less 107,331bac_CreditExtensionCommitmentsNotionalAmountExpirationinOneYearorLess
/ us-gaap_FinancialInstrumentAxis
= us-gaap_CommitmentsToExtendCreditMember
108,636bac_CreditExtensionCommitmentsNotionalAmountExpirationinOneYearorLess
/ us-gaap_FinancialInstrumentAxis
= us-gaap_CommitmentsToExtendCreditMember
Expire After One Year Through Three Years 126,525bac_CreditExtensionCommitmentsNotionalAmountExpirationAfterOneYearThroughThreeYears
/ us-gaap_FinancialInstrumentAxis
= us-gaap_CommitmentsToExtendCreditMember
131,772bac_CreditExtensionCommitmentsNotionalAmountExpirationAfterOneYearThroughThreeYears
/ us-gaap_FinancialInstrumentAxis
= us-gaap_CommitmentsToExtendCreditMember
Expire After Three Years Through Five Years 163,616bac_CreditExtensionCommitmentsNotionalAmountExpirationAfterThreeYearsThroughFiveYears
/ us-gaap_FinancialInstrumentAxis
= us-gaap_CommitmentsToExtendCreditMember
157,244bac_CreditExtensionCommitmentsNotionalAmountExpirationAfterThreeYearsThroughFiveYears
/ us-gaap_FinancialInstrumentAxis
= us-gaap_CommitmentsToExtendCreditMember
Expire After Five Years 36,254bac_CreditExtensionCommitmentsNotionalAmountExpirationAfterFiveYears
/ us-gaap_FinancialInstrumentAxis
= us-gaap_CommitmentsToExtendCreditMember
40,535bac_CreditExtensionCommitmentsNotionalAmountExpirationAfterFiveYears
/ us-gaap_FinancialInstrumentAxis
= us-gaap_CommitmentsToExtendCreditMember
Notional Amount of Credit Extension Commitments 433,726bac_CreditExtensionCommitmentsNotionalAmount
/ us-gaap_FinancialInstrumentAxis
= us-gaap_CommitmentsToExtendCreditMember
438,187bac_CreditExtensionCommitmentsNotionalAmount
/ us-gaap_FinancialInstrumentAxis
= us-gaap_CommitmentsToExtendCreditMember
Credit card lines    
Other Commitments [Line Items]    
Expire in One Year or Less 363,989bac_CreditExtensionCommitmentsNotionalAmountExpirationinOneYearorLess
/ us-gaap_FinancialInstrumentAxis
= bac_CreditCardLinesMember
377,846bac_CreditExtensionCommitmentsNotionalAmountExpirationinOneYearorLess
/ us-gaap_FinancialInstrumentAxis
= bac_CreditCardLinesMember
Expire After One Year Through Three Years 0bac_CreditExtensionCommitmentsNotionalAmountExpirationAfterOneYearThroughThreeYears
/ us-gaap_FinancialInstrumentAxis
= bac_CreditCardLinesMember
0bac_CreditExtensionCommitmentsNotionalAmountExpirationAfterOneYearThroughThreeYears
/ us-gaap_FinancialInstrumentAxis
= bac_CreditCardLinesMember
Expire After Three Years Through Five Years 0bac_CreditExtensionCommitmentsNotionalAmountExpirationAfterThreeYearsThroughFiveYears
/ us-gaap_FinancialInstrumentAxis
= bac_CreditCardLinesMember
0bac_CreditExtensionCommitmentsNotionalAmountExpirationAfterThreeYearsThroughFiveYears
/ us-gaap_FinancialInstrumentAxis
= bac_CreditCardLinesMember
Expire After Five Years 0bac_CreditExtensionCommitmentsNotionalAmountExpirationAfterFiveYears
/ us-gaap_FinancialInstrumentAxis
= bac_CreditCardLinesMember
0bac_CreditExtensionCommitmentsNotionalAmountExpirationAfterFiveYears
/ us-gaap_FinancialInstrumentAxis
= bac_CreditCardLinesMember
Notional Amount of Credit Extension Commitments 363,989bac_CreditExtensionCommitmentsNotionalAmount
/ us-gaap_FinancialInstrumentAxis
= bac_CreditCardLinesMember
377,846bac_CreditExtensionCommitmentsNotionalAmount
/ us-gaap_FinancialInstrumentAxis
= bac_CreditCardLinesMember
Credit Card and Other Consumer | Standby letters of credit and financial guarantees    
Other Commitments [Line Items]    
Notional Amount of Credit Extension Commitments $ 396bac_CreditExtensionCommitmentsNotionalAmount
/ us-gaap_FinancialInstrumentAxis
= us-gaap_FinancialStandbyLetterOfCreditMember
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ConsumerPortfolioSegmentMember
$ 453bac_CreditExtensionCommitmentsNotionalAmount
/ us-gaap_FinancialInstrumentAxis
= us-gaap_FinancialStandbyLetterOfCreditMember
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ConsumerPortfolioSegmentMember