Annual report pursuant to Section 13 and 15(d)

Fair Value Option - Elections (Details)

v2.4.1.9
Fair Value Option - Elections (Details) (USD $)
In Millions, unless otherwise specified
12 Months Ended
Dec. 31, 2014
Dec. 31, 2013
Dec. 31, 2012
Loans and Loan Commitments      
Fair Value, Option, Quantitative Disclosures [Line Items]      
Fair value option, changes in borrower specific credit risk, gains (losses) on assets $ 32us-gaap_FairValueOptionCreditRiskGainsLossesOnAssets
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= us-gaap_LoansMember
$ 148us-gaap_FairValueOptionCreditRiskGainsLossesOnAssets
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= us-gaap_LoansMember
$ 527us-gaap_FairValueOptionCreditRiskGainsLossesOnAssets
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= us-gaap_LoansMember
Loans reported as trading account assets      
Fair Value, Option, Quantitative Disclosures [Line Items]      
Fair value option, changes in borrower specific credit risk, gains (losses) on assets 28us-gaap_FairValueOptionCreditRiskGainsLossesOnAssets
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= us-gaap_TradingAccountAssetsMember
56us-gaap_FairValueOptionCreditRiskGainsLossesOnAssets
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= us-gaap_TradingAccountAssetsMember
 
Fair Value Carrying Amount Assets 4,607bac_FairValueOptionFairValueCarryingAmountAssets
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= us-gaap_TradingAccountAssetsMember
2,406bac_FairValueOptionFairValueCarryingAmountAssets
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= us-gaap_TradingAccountAssetsMember
 
Contractual Principal Outstanding Assets 8,487bac_FairValueOptionContractualPrincipalOutstandingAssets
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= us-gaap_TradingAccountAssetsMember
4,541bac_FairValueOptionContractualPrincipalOutstandingAssets
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= us-gaap_TradingAccountAssetsMember
 
Fair Value Carrying Amount Less Unpaid Principal Assets (3,880)bac_FairValueOptionAggregateDifferencesAssets
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= us-gaap_TradingAccountAssetsMember
(2,135)bac_FairValueOptionAggregateDifferencesAssets
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= us-gaap_TradingAccountAssetsMember
 
Trading inventory – other      
Fair Value, Option, Quantitative Disclosures [Line Items]      
Fair Value Carrying Amount Assets 6,865bac_FairValueOptionFairValueCarryingAmountAssets
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= bac_TradingInventoryOtherMember
5,475bac_FairValueOptionFairValueCarryingAmountAssets
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= bac_TradingInventoryOtherMember
 
Loans and leases      
Fair Value, Option, Quantitative Disclosures [Line Items]      
Fair Value Carrying Amount Assets 8,681bac_FairValueOptionFairValueCarryingAmountAssets
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= us-gaap_LoansReceivableMember
10,042bac_FairValueOptionFairValueCarryingAmountAssets
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= us-gaap_LoansReceivableMember
 
Contractual Principal Outstanding Assets 8,925bac_FairValueOptionContractualPrincipalOutstandingAssets
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= us-gaap_LoansReceivableMember
10,423bac_FairValueOptionContractualPrincipalOutstandingAssets
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= us-gaap_LoansReceivableMember
 
Fair Value Carrying Amount Less Unpaid Principal Assets (244)bac_FairValueOptionAggregateDifferencesAssets
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= us-gaap_LoansReceivableMember
(381)bac_FairValueOptionAggregateDifferencesAssets
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= us-gaap_LoansReceivableMember
 
Loans Held-for-Sale      
Fair Value, Option, Quantitative Disclosures [Line Items]      
Fair value option, changes in borrower specific credit risk, gains (losses) on assets 84us-gaap_FairValueOptionCreditRiskGainsLossesOnAssets
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= bac_LoansHeldForSaleMember
225us-gaap_FairValueOptionCreditRiskGainsLossesOnAssets
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= bac_LoansHeldForSaleMember
425us-gaap_FairValueOptionCreditRiskGainsLossesOnAssets
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= bac_LoansHeldForSaleMember
Fair Value Carrying Amount Assets 6,801bac_FairValueOptionFairValueCarryingAmountAssets
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= bac_LoansHeldForSaleMember
6,656bac_FairValueOptionFairValueCarryingAmountAssets
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= bac_LoansHeldForSaleMember
 
Contractual Principal Outstanding Assets 6,920bac_FairValueOptionContractualPrincipalOutstandingAssets
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= bac_LoansHeldForSaleMember
6,996bac_FairValueOptionContractualPrincipalOutstandingAssets
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= bac_LoansHeldForSaleMember
 
Fair Value Carrying Amount Less Unpaid Principal Assets (119)bac_FairValueOptionAggregateDifferencesAssets
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= bac_LoansHeldForSaleMember
(340)bac_FairValueOptionAggregateDifferencesAssets
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= bac_LoansHeldForSaleMember
 
Securities financing agreements      
Fair Value, Option, Quantitative Disclosures [Line Items]      
Fair Value Carrying Amount Assets 97,539bac_FairValueOptionFairValueCarryingAmountAssets
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= us-gaap_SecuritiesFinancingTransactionFairValueMember
95,156bac_FairValueOptionFairValueCarryingAmountAssets
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= us-gaap_SecuritiesFinancingTransactionFairValueMember
 
Contractual Principal Outstanding Assets 97,234bac_FairValueOptionContractualPrincipalOutstandingAssets
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= us-gaap_SecuritiesFinancingTransactionFairValueMember
94,890bac_FairValueOptionContractualPrincipalOutstandingAssets
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= us-gaap_SecuritiesFinancingTransactionFairValueMember
 
Fair Value Carrying Amount Less Unpaid Principal Assets 305bac_FairValueOptionAggregateDifferencesAssets
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= us-gaap_SecuritiesFinancingTransactionFairValueMember
266bac_FairValueOptionAggregateDifferencesAssets
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= us-gaap_SecuritiesFinancingTransactionFairValueMember
 
Other assets      
Fair Value, Option, Quantitative Disclosures [Line Items]      
Fair Value Carrying Amount Assets 253bac_FairValueOptionFairValueCarryingAmountAssets
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= us-gaap_OtherAssetsMember
278bac_FairValueOptionFairValueCarryingAmountAssets
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= us-gaap_OtherAssetsMember
 
Contractual Principal Outstanding Assets 270bac_FairValueOptionContractualPrincipalOutstandingAssets
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= us-gaap_OtherAssetsMember
270bac_FairValueOptionContractualPrincipalOutstandingAssets
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= us-gaap_OtherAssetsMember
 
Fair Value Carrying Amount Less Unpaid Principal Assets (17)bac_FairValueOptionAggregateDifferencesAssets
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= us-gaap_OtherAssetsMember
8bac_FairValueOptionAggregateDifferencesAssets
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= us-gaap_OtherAssetsMember
 
Long-term deposits      
Fair Value, Option, Quantitative Disclosures [Line Items]      
Fair Value Carrying Amount Liabilities 1,469bac_FairValueOptionFairValueCarryingAmountLiabilities
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= bac_LongTermDepositsMember
1,899bac_FairValueOptionFairValueCarryingAmountLiabilities
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= bac_LongTermDepositsMember
 
Contractual Principal Outstanding Liabilities 1,361bac_FairValueOptionContractualPrincipalOutstandingLiabilities
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= bac_LongTermDepositsMember
1,797bac_FairValueOptionContractualPrincipalOutstandingLiabilities
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= bac_LongTermDepositsMember
 
Fair Value Carrying Amount Less Unpaid Principal Liabilities 108bac_FairValueOptionAggregateDifferencesLiabilities
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= bac_LongTermDepositsMember
102bac_FairValueOptionAggregateDifferencesLiabilities
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= bac_LongTermDepositsMember
 
Unfunded loan commitments      
Fair Value, Option, Quantitative Disclosures [Line Items]      
Fair Value Carrying Amount Liabilities 405bac_FairValueOptionFairValueCarryingAmountLiabilities
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= bac_UnfundedLoanCommitmentMember
354bac_FairValueOptionFairValueCarryingAmountLiabilities
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= bac_UnfundedLoanCommitmentMember
 
Short-term borrowings      
Fair Value, Option, Quantitative Disclosures [Line Items]      
Fair Value Carrying Amount Liabilities 2,697bac_FairValueOptionFairValueCarryingAmountLiabilities
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= us-gaap_ShortTermDebtMember
1,520bac_FairValueOptionFairValueCarryingAmountLiabilities
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= us-gaap_ShortTermDebtMember
 
Contractual Principal Outstanding Liabilities 2,697bac_FairValueOptionContractualPrincipalOutstandingLiabilities
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= us-gaap_ShortTermDebtMember
1,520bac_FairValueOptionContractualPrincipalOutstandingLiabilities
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= us-gaap_ShortTermDebtMember
 
Fair Value Carrying Amount Less Unpaid Principal Liabilities 0bac_FairValueOptionAggregateDifferencesLiabilities
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= us-gaap_ShortTermDebtMember
0bac_FairValueOptionAggregateDifferencesLiabilities
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= us-gaap_ShortTermDebtMember
 
Long-term debt      
Fair Value, Option, Quantitative Disclosures [Line Items]      
Fair Value Carrying Amount Liabilities 36,404bac_FairValueOptionFairValueCarryingAmountLiabilities
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= us-gaap_LongTermDebtMember
47,035bac_FairValueOptionFairValueCarryingAmountLiabilities
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= us-gaap_LongTermDebtMember
 
Contractual Principal Outstanding Liabilities 35,815bac_FairValueOptionContractualPrincipalOutstandingLiabilities
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= us-gaap_LongTermDebtMember
46,669bac_FairValueOptionContractualPrincipalOutstandingLiabilities
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= us-gaap_LongTermDebtMember
 
Fair Value Carrying Amount Less Unpaid Principal Liabilities 589bac_FairValueOptionAggregateDifferencesLiabilities
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= us-gaap_LongTermDebtMember
366bac_FairValueOptionAggregateDifferencesLiabilities
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= us-gaap_LongTermDebtMember
 
Structured liabilities      
Fair Value, Option, Quantitative Disclosures [Line Items]      
Fair Value Carrying Amount Liabilities 35,300bac_FairValueOptionFairValueCarryingAmountLiabilities
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= us-gaap_StructuredFinanceMember
40,700bac_FairValueOptionFairValueCarryingAmountLiabilities
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= us-gaap_StructuredFinanceMember
 
Contractual Principal Outstanding Liabilities $ 34,600bac_FairValueOptionContractualPrincipalOutstandingLiabilities
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= us-gaap_StructuredFinanceMember
$ 39,700bac_FairValueOptionContractualPrincipalOutstandingLiabilities
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= us-gaap_StructuredFinanceMember