|
Commitments and Contingencies Commitments and Contingencies - Credit Extension Commitments (Details) (USD $) In Millions, unless otherwise specified
|
Mar. 31, 2015
|
Dec. 31, 2014
|
| Other Commitments [Line Items] |
|
|
| Expire in One Year or Less |
$ 463,806bac_CreditExtensionCommitmentsNotionalAmountExpirationinOneYearorLess
|
$ 471,320bac_CreditExtensionCommitmentsNotionalAmountExpirationinOneYearorLess
|
| Expire After One Year Through Three Years |
128,336bac_CreditExtensionCommitmentsNotionalAmountExpirationAfterOneYearThroughThreeYears
|
126,525bac_CreditExtensionCommitmentsNotionalAmountExpirationAfterOneYearThroughThreeYears
|
| Expire After Three Years Through Five Years |
154,292bac_CreditExtensionCommitmentsNotionalAmountExpirationAfterThreeYearsThroughFiveYears
|
163,616bac_CreditExtensionCommitmentsNotionalAmountExpirationAfterThreeYearsThroughFiveYears
|
| Expire After Five Years |
61,597bac_CreditExtensionCommitmentsNotionalAmountExpirationAfterFiveYears
|
36,254bac_CreditExtensionCommitmentsNotionalAmountExpirationAfterFiveYears
|
| Notional Amount of Credit Extension Commitments |
808,031bac_CreditExtensionCommitmentsNotionalAmount
|
797,715bac_CreditExtensionCommitmentsNotionalAmount
|
| Loan Commitments |
|
|
| Other Commitments [Line Items] |
|
|
| Expire in One Year or Less |
76,170bac_CreditExtensionCommitmentsNotionalAmountExpirationinOneYearorLess / us-gaap_FinancialInstrumentAxis = us-gaap_LoanPurchaseCommitmentsMember
|
79,897bac_CreditExtensionCommitmentsNotionalAmountExpirationinOneYearorLess / us-gaap_FinancialInstrumentAxis = us-gaap_LoanPurchaseCommitmentsMember
|
| Expire After One Year Through Three Years |
103,314bac_CreditExtensionCommitmentsNotionalAmountExpirationAfterOneYearThroughThreeYears / us-gaap_FinancialInstrumentAxis = us-gaap_LoanPurchaseCommitmentsMember
|
97,583bac_CreditExtensionCommitmentsNotionalAmountExpirationAfterOneYearThroughThreeYears / us-gaap_FinancialInstrumentAxis = us-gaap_LoanPurchaseCommitmentsMember
|
| Expire After Three Years Through Five Years |
143,400bac_CreditExtensionCommitmentsNotionalAmountExpirationAfterThreeYearsThroughFiveYears / us-gaap_FinancialInstrumentAxis = us-gaap_LoanPurchaseCommitmentsMember
|
146,743bac_CreditExtensionCommitmentsNotionalAmountExpirationAfterThreeYearsThroughFiveYears / us-gaap_FinancialInstrumentAxis = us-gaap_LoanPurchaseCommitmentsMember
|
| Expire After Five Years |
26,557bac_CreditExtensionCommitmentsNotionalAmountExpirationAfterFiveYears / us-gaap_FinancialInstrumentAxis = us-gaap_LoanPurchaseCommitmentsMember
|
18,942bac_CreditExtensionCommitmentsNotionalAmountExpirationAfterFiveYears / us-gaap_FinancialInstrumentAxis = us-gaap_LoanPurchaseCommitmentsMember
|
| Notional Amount of Credit Extension Commitments |
349,441bac_CreditExtensionCommitmentsNotionalAmount / us-gaap_FinancialInstrumentAxis = us-gaap_LoanPurchaseCommitmentsMember
|
343,165bac_CreditExtensionCommitmentsNotionalAmount / us-gaap_FinancialInstrumentAxis = us-gaap_LoanPurchaseCommitmentsMember
|
| Home equity |
|
|
| Other Commitments [Line Items] |
|
|
| Expire in One Year or Less |
6,440bac_CreditExtensionCommitmentsNotionalAmountExpirationinOneYearorLess / us-gaap_FinancialInstrumentAxis = us-gaap_HomeEquityMember
|
6,292bac_CreditExtensionCommitmentsNotionalAmountExpirationinOneYearorLess / us-gaap_FinancialInstrumentAxis = us-gaap_HomeEquityMember
|
| Expire After One Year Through Three Years |
20,439bac_CreditExtensionCommitmentsNotionalAmountExpirationAfterOneYearThroughThreeYears / us-gaap_FinancialInstrumentAxis = us-gaap_HomeEquityMember
|
19,679bac_CreditExtensionCommitmentsNotionalAmountExpirationAfterOneYearThroughThreeYears / us-gaap_FinancialInstrumentAxis = us-gaap_HomeEquityMember
|
| Expire After Three Years Through Five Years |
9,931bac_CreditExtensionCommitmentsNotionalAmountExpirationAfterThreeYearsThroughFiveYears / us-gaap_FinancialInstrumentAxis = us-gaap_HomeEquityMember
|
12,319bac_CreditExtensionCommitmentsNotionalAmountExpirationAfterThreeYearsThroughFiveYears / us-gaap_FinancialInstrumentAxis = us-gaap_HomeEquityMember
|
| Expire After Five Years |
16,551bac_CreditExtensionCommitmentsNotionalAmountExpirationAfterFiveYears / us-gaap_FinancialInstrumentAxis = us-gaap_HomeEquityMember
|
15,417bac_CreditExtensionCommitmentsNotionalAmountExpirationAfterFiveYears / us-gaap_FinancialInstrumentAxis = us-gaap_HomeEquityMember
|
| Notional Amount of Credit Extension Commitments |
53,361bac_CreditExtensionCommitmentsNotionalAmount / us-gaap_FinancialInstrumentAxis = us-gaap_HomeEquityMember
|
53,707bac_CreditExtensionCommitmentsNotionalAmount / us-gaap_FinancialInstrumentAxis = us-gaap_HomeEquityMember
|
| Standby letters of credit and financial guarantees |
|
|
| Other Commitments [Line Items] |
|
|
| Expire in One Year or Less |
10,020bac_CreditExtensionCommitmentsNotionalAmountExpirationinOneYearorLess / us-gaap_FinancialInstrumentAxis = us-gaap_FinancialStandbyLetterOfCreditMember
|
19,259bac_CreditExtensionCommitmentsNotionalAmountExpirationinOneYearorLess / us-gaap_FinancialInstrumentAxis = us-gaap_FinancialStandbyLetterOfCreditMember
|
| Expire After One Year Through Three Years |
4,290bac_CreditExtensionCommitmentsNotionalAmountExpirationAfterOneYearThroughThreeYears / us-gaap_FinancialInstrumentAxis = us-gaap_FinancialStandbyLetterOfCreditMember
|
9,106bac_CreditExtensionCommitmentsNotionalAmountExpirationAfterOneYearThroughThreeYears / us-gaap_FinancialInstrumentAxis = us-gaap_FinancialStandbyLetterOfCreditMember
|
| Expire After Three Years Through Five Years |
931bac_CreditExtensionCommitmentsNotionalAmountExpirationAfterThreeYearsThroughFiveYears / us-gaap_FinancialInstrumentAxis = us-gaap_FinancialStandbyLetterOfCreditMember
|
4,519bac_CreditExtensionCommitmentsNotionalAmountExpirationAfterThreeYearsThroughFiveYears / us-gaap_FinancialInstrumentAxis = us-gaap_FinancialStandbyLetterOfCreditMember
|
| Expire After Five Years |
18,441bac_CreditExtensionCommitmentsNotionalAmountExpirationAfterFiveYears / us-gaap_FinancialInstrumentAxis = us-gaap_FinancialStandbyLetterOfCreditMember
|
1,807bac_CreditExtensionCommitmentsNotionalAmountExpirationAfterFiveYears / us-gaap_FinancialInstrumentAxis = us-gaap_FinancialStandbyLetterOfCreditMember
|
| Notional Amount of Credit Extension Commitments |
33,682bac_CreditExtensionCommitmentsNotionalAmount / us-gaap_FinancialInstrumentAxis = us-gaap_FinancialStandbyLetterOfCreditMember
|
34,691bac_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 |
25,300bac_CreditExtensionCommitmentsNotionalAmount / us-gaap_FinancialInstrumentAxis = us-gaap_FinancialStandbyLetterOfCreditMember / us-gaap_InternalCreditAssessmentAxis = bac_InternalInvestmentGradeMember
|
26,100bac_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,000bac_CreditExtensionCommitmentsNotionalAmount / us-gaap_FinancialInstrumentAxis = us-gaap_FinancialStandbyLetterOfCreditMember / us-gaap_InternalCreditAssessmentAxis = bac_InternalNoninvestmentGradeMember
|
8,200bac_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,643bac_CreditExtensionCommitmentsNotionalAmountExpirationinOneYearorLess / us-gaap_FinancialInstrumentAxis = us-gaap_LetterOfCreditMember
|
1,883bac_CreditExtensionCommitmentsNotionalAmountExpirationinOneYearorLess / us-gaap_FinancialInstrumentAxis = us-gaap_LetterOfCreditMember
|
| Expire After One Year Through Three Years |
293bac_CreditExtensionCommitmentsNotionalAmountExpirationAfterOneYearThroughThreeYears / us-gaap_FinancialInstrumentAxis = us-gaap_LetterOfCreditMember
|
157bac_CreditExtensionCommitmentsNotionalAmountExpirationAfterOneYearThroughThreeYears / us-gaap_FinancialInstrumentAxis = us-gaap_LetterOfCreditMember
|
| Expire After Three Years Through Five Years |
30bac_CreditExtensionCommitmentsNotionalAmountExpirationAfterThreeYearsThroughFiveYears / us-gaap_FinancialInstrumentAxis = us-gaap_LetterOfCreditMember
|
35bac_CreditExtensionCommitmentsNotionalAmountExpirationAfterThreeYearsThroughFiveYears / us-gaap_FinancialInstrumentAxis = us-gaap_LetterOfCreditMember
|
| Expire After Five Years |
48bac_CreditExtensionCommitmentsNotionalAmountExpirationAfterFiveYears / us-gaap_FinancialInstrumentAxis = us-gaap_LetterOfCreditMember
|
88bac_CreditExtensionCommitmentsNotionalAmountExpirationAfterFiveYears / us-gaap_FinancialInstrumentAxis = us-gaap_LetterOfCreditMember
|
| Notional Amount of Credit Extension Commitments |
2,014bac_CreditExtensionCommitmentsNotionalAmount / us-gaap_FinancialInstrumentAxis = us-gaap_LetterOfCreditMember
|
2,163bac_CreditExtensionCommitmentsNotionalAmount / us-gaap_FinancialInstrumentAxis = us-gaap_LetterOfCreditMember
|
| Legally binding commitments |
|
|
| Other Commitments [Line Items] |
|
|
| Expire in One Year or Less |
94,273bac_CreditExtensionCommitmentsNotionalAmountExpirationinOneYearorLess / us-gaap_FinancialInstrumentAxis = us-gaap_CommitmentsToExtendCreditMember
|
107,331bac_CreditExtensionCommitmentsNotionalAmountExpirationinOneYearorLess / us-gaap_FinancialInstrumentAxis = us-gaap_CommitmentsToExtendCreditMember
|
| Expire After One Year Through Three Years |
128,336bac_CreditExtensionCommitmentsNotionalAmountExpirationAfterOneYearThroughThreeYears / us-gaap_FinancialInstrumentAxis = us-gaap_CommitmentsToExtendCreditMember
|
126,525bac_CreditExtensionCommitmentsNotionalAmountExpirationAfterOneYearThroughThreeYears / us-gaap_FinancialInstrumentAxis = us-gaap_CommitmentsToExtendCreditMember
|
| Expire After Three Years Through Five Years |
154,292bac_CreditExtensionCommitmentsNotionalAmountExpirationAfterThreeYearsThroughFiveYears / us-gaap_FinancialInstrumentAxis = us-gaap_CommitmentsToExtendCreditMember
|
163,616bac_CreditExtensionCommitmentsNotionalAmountExpirationAfterThreeYearsThroughFiveYears / us-gaap_FinancialInstrumentAxis = us-gaap_CommitmentsToExtendCreditMember
|
| Expire After Five Years |
61,597bac_CreditExtensionCommitmentsNotionalAmountExpirationAfterFiveYears / us-gaap_FinancialInstrumentAxis = us-gaap_CommitmentsToExtendCreditMember
|
36,254bac_CreditExtensionCommitmentsNotionalAmountExpirationAfterFiveYears / us-gaap_FinancialInstrumentAxis = us-gaap_CommitmentsToExtendCreditMember
|
| Notional Amount of Credit Extension Commitments |
438,498bac_CreditExtensionCommitmentsNotionalAmount / us-gaap_FinancialInstrumentAxis = us-gaap_CommitmentsToExtendCreditMember
|
433,726bac_CreditExtensionCommitmentsNotionalAmount / us-gaap_FinancialInstrumentAxis = us-gaap_CommitmentsToExtendCreditMember
|
| Credit card lines |
|
|
| Other Commitments [Line Items] |
|
|
| Expire in One Year or Less |
369,533bac_CreditExtensionCommitmentsNotionalAmountExpirationinOneYearorLess / us-gaap_FinancialInstrumentAxis = bac_CreditCardLinesMember
|
363,989bac_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 |
369,533bac_CreditExtensionCommitmentsNotionalAmount / us-gaap_FinancialInstrumentAxis = bac_CreditCardLinesMember
|
363,989bac_CreditExtensionCommitmentsNotionalAmount / us-gaap_FinancialInstrumentAxis = bac_CreditCardLinesMember
|
| Consumer Portfolio Segment | Standby letters of credit and financial guarantees |
|
|
| Other Commitments [Line Items] |
|
|
| Notional Amount of Credit Extension Commitments |
$ 373bac_CreditExtensionCommitmentsNotionalAmount / us-gaap_FinancialInstrumentAxis = us-gaap_FinancialStandbyLetterOfCreditMember / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember
|
$ 396bac_CreditExtensionCommitmentsNotionalAmount / us-gaap_FinancialInstrumentAxis = us-gaap_FinancialStandbyLetterOfCreditMember / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember
|