Annual report pursuant to Section 13 and 15(d)

Long-term Debt Long-term Debt - Trust and Hybrid Securities Outstanding (Details)

v2.4.1.9
Long-term Debt Long-term Debt - Trust and Hybrid Securities Outstanding (Details) (USD $)
In Millions, unless otherwise specified
12 Months Ended
Dec. 31, 2014
Trust Preferred Securities Subject to Mandatory Redemption  
Financial Instruments Subject to Mandatory Redemption by Settlement Terms [Line Items]  
Aggregate Principal Amount of Trust Securities 8,773us-gaap_SharesSubjectToMandatoryRedemptionSettlementTermsAmount
/ us-gaap_ScheduleOfSharesSubjectToMandatoryRedemptionBySettlementTermsAxis
= us-gaap_TrustPreferredSecuritiesSubjectToMandatoryRedemptionMember
Trust Preferred Securities Subject to Mandatory Redemption | Capital Trust VI  
Financial Instruments Subject to Mandatory Redemption by Settlement Terms [Line Items]  
Aggregate Principal Amount of Trust Securities 36us-gaap_SharesSubjectToMandatoryRedemptionSettlementTermsAmount
/ dei_LegalEntityAxis
= bac_BankofAmericaCapitalTrustSixMember
/ us-gaap_ScheduleOfSharesSubjectToMandatoryRedemptionBySettlementTermsAxis
= us-gaap_TrustPreferredSecuritiesSubjectToMandatoryRedemptionMember
Trust Preferred Securities Subject to Mandatory Redemption | Capital Trust VII  
Financial Instruments Subject to Mandatory Redemption by Settlement Terms [Line Items]  
Aggregate Principal Amount of Trust Securities 7us-gaap_SharesSubjectToMandatoryRedemptionSettlementTermsAmount
/ dei_LegalEntityAxis
= bac_BankofAmericaCapitalTrustSevenMember
/ us-gaap_ScheduleOfSharesSubjectToMandatoryRedemptionBySettlementTermsAxis
= us-gaap_TrustPreferredSecuritiesSubjectToMandatoryRedemptionMember
Trust Preferred Securities Subject to Mandatory Redemption | Capital Trust VIII  
Financial Instruments Subject to Mandatory Redemption by Settlement Terms [Line Items]  
Aggregate Principal Amount of Trust Securities 524us-gaap_SharesSubjectToMandatoryRedemptionSettlementTermsAmount
/ dei_LegalEntityAxis
= bac_BankofAmericaCapitalTrustEightMember
/ us-gaap_ScheduleOfSharesSubjectToMandatoryRedemptionBySettlementTermsAxis
= us-gaap_TrustPreferredSecuritiesSubjectToMandatoryRedemptionMember
Trust Preferred Securities Subject to Mandatory Redemption | Capital Trust XI  
Financial Instruments Subject to Mandatory Redemption by Settlement Terms [Line Items]  
Aggregate Principal Amount of Trust Securities 658us-gaap_SharesSubjectToMandatoryRedemptionSettlementTermsAmount
/ dei_LegalEntityAxis
= bac_BankofAmericaCapitalTrustElevenMember
/ us-gaap_ScheduleOfSharesSubjectToMandatoryRedemptionBySettlementTermsAxis
= us-gaap_TrustPreferredSecuritiesSubjectToMandatoryRedemptionMember
Trust Preferred Securities Subject to Mandatory Redemption | Capital Trust XV  
Financial Instruments Subject to Mandatory Redemption by Settlement Terms [Line Items]  
Aggregate Principal Amount of Trust Securities 1us-gaap_SharesSubjectToMandatoryRedemptionSettlementTermsAmount
/ dei_LegalEntityAxis
= bac_BankofAmericaCapitalTrustFifteenMember
/ us-gaap_ScheduleOfSharesSubjectToMandatoryRedemptionBySettlementTermsAxis
= us-gaap_TrustPreferredSecuritiesSubjectToMandatoryRedemptionMember
Trust Preferred Securities Subject to Mandatory Redemption | Capital Trust III  
Financial Instruments Subject to Mandatory Redemption by Settlement Terms [Line Items]  
Aggregate Principal Amount of Trust Securities 131us-gaap_SharesSubjectToMandatoryRedemptionSettlementTermsAmount
/ dei_LegalEntityAxis
= bac_NationsBankCapitalTrustThreeMember
/ us-gaap_ScheduleOfSharesSubjectToMandatoryRedemptionBySettlementTermsAxis
= us-gaap_TrustPreferredSecuritiesSubjectToMandatoryRedemptionMember
Trust Preferred Securities Subject to Mandatory Redemption | Capital III  
Financial Instruments Subject to Mandatory Redemption by Settlement Terms [Line Items]  
Aggregate Principal Amount of Trust Securities 103us-gaap_SharesSubjectToMandatoryRedemptionSettlementTermsAmount
/ dei_LegalEntityAxis
= bac_BankAmericaCapitalThreeMember
/ us-gaap_ScheduleOfSharesSubjectToMandatoryRedemptionBySettlementTermsAxis
= us-gaap_TrustPreferredSecuritiesSubjectToMandatoryRedemptionMember
Trust Preferred Securities Subject to Mandatory Redemption | Capital III  
Financial Instruments Subject to Mandatory Redemption by Settlement Terms [Line Items]  
Aggregate Principal Amount of Trust Securities 64us-gaap_SharesSubjectToMandatoryRedemptionSettlementTermsAmount
/ dei_LegalEntityAxis
= bac_BarnettCapitalThreeMember
/ us-gaap_ScheduleOfSharesSubjectToMandatoryRedemptionBySettlementTermsAxis
= us-gaap_TrustPreferredSecuritiesSubjectToMandatoryRedemptionMember
Trust Preferred Securities Subject to Mandatory Redemption | Capital Trust V  
Financial Instruments Subject to Mandatory Redemption by Settlement Terms [Line Items]  
Aggregate Principal Amount of Trust Securities 79us-gaap_SharesSubjectToMandatoryRedemptionSettlementTermsAmount
/ dei_LegalEntityAxis
= bac_FleetCapitalTrustFiveMember
/ us-gaap_ScheduleOfSharesSubjectToMandatoryRedemptionBySettlementTermsAxis
= us-gaap_TrustPreferredSecuritiesSubjectToMandatoryRedemptionMember
Trust Preferred Securities Subject to Mandatory Redemption | Capital Trust III  
Financial Instruments Subject to Mandatory Redemption by Settlement Terms [Line Items]  
Aggregate Principal Amount of Trust Securities 53us-gaap_SharesSubjectToMandatoryRedemptionSettlementTermsAmount
/ dei_LegalEntityAxis
= bac_BankBostonCapitalTrustThreeMember
/ us-gaap_ScheduleOfSharesSubjectToMandatoryRedemptionBySettlementTermsAxis
= us-gaap_TrustPreferredSecuritiesSubjectToMandatoryRedemptionMember
Trust Preferred Securities Subject to Mandatory Redemption | Capital Trust IV  
Financial Instruments Subject to Mandatory Redemption by Settlement Terms [Line Items]  
Aggregate Principal Amount of Trust Securities 102us-gaap_SharesSubjectToMandatoryRedemptionSettlementTermsAmount
/ dei_LegalEntityAxis
= bac_BankBostonCapitalTrustFourMember
/ us-gaap_ScheduleOfSharesSubjectToMandatoryRedemptionBySettlementTermsAxis
= us-gaap_TrustPreferredSecuritiesSubjectToMandatoryRedemptionMember
Trust Preferred Securities Subject to Mandatory Redemption | Capital Trust B  
Financial Instruments Subject to Mandatory Redemption by Settlement Terms [Line Items]  
Aggregate Principal Amount of Trust Securities 70us-gaap_SharesSubjectToMandatoryRedemptionSettlementTermsAmount
/ dei_LegalEntityAxis
= bac_MBNACapitalTrustBMember
/ us-gaap_ScheduleOfSharesSubjectToMandatoryRedemptionBySettlementTermsAxis
= us-gaap_TrustPreferredSecuritiesSubjectToMandatoryRedemptionMember
Trust Preferred Securities Subject to Mandatory Redemption | Capital III  
Financial Instruments Subject to Mandatory Redemption by Settlement Terms [Line Items]  
Aggregate Principal Amount of Trust Securities 200us-gaap_SharesSubjectToMandatoryRedemptionSettlementTermsAmount
/ dei_LegalEntityAxis
= bac_CountrywideCapitalThreeMember
/ us-gaap_ScheduleOfSharesSubjectToMandatoryRedemptionBySettlementTermsAxis
= us-gaap_TrustPreferredSecuritiesSubjectToMandatoryRedemptionMember
Trust Preferred Securities Subject to Mandatory Redemption | Capital IV  
Financial Instruments Subject to Mandatory Redemption by Settlement Terms [Line Items]  
Aggregate Principal Amount of Trust Securities 500us-gaap_SharesSubjectToMandatoryRedemptionSettlementTermsAmount
/ dei_LegalEntityAxis
= bac_CountrywideCapitalFourMember
/ us-gaap_ScheduleOfSharesSubjectToMandatoryRedemptionBySettlementTermsAxis
= us-gaap_TrustPreferredSecuritiesSubjectToMandatoryRedemptionMember
Trust Preferred Securities Subject to Mandatory Redemption | Capital V  
Financial Instruments Subject to Mandatory Redemption by Settlement Terms [Line Items]  
Aggregate Principal Amount of Trust Securities 1,495us-gaap_SharesSubjectToMandatoryRedemptionSettlementTermsAmount
/ dei_LegalEntityAxis
= bac_CountrywideCapitalFiveMember
/ us-gaap_ScheduleOfSharesSubjectToMandatoryRedemptionBySettlementTermsAxis
= us-gaap_TrustPreferredSecuritiesSubjectToMandatoryRedemptionMember
Trust Preferred Securities Subject to Mandatory Redemption | Preferred Capital Trust III  
Financial Instruments Subject to Mandatory Redemption by Settlement Terms [Line Items]  
Aggregate Principal Amount of Trust Securities 750us-gaap_SharesSubjectToMandatoryRedemptionSettlementTermsAmount
/ dei_LegalEntityAxis
= bac_MerrillLynchPreferredCapitalTrustThreeMember
/ us-gaap_ScheduleOfSharesSubjectToMandatoryRedemptionBySettlementTermsAxis
= us-gaap_TrustPreferredSecuritiesSubjectToMandatoryRedemptionMember
Trust Preferred Securities Subject to Mandatory Redemption | Preferred Capital Trust IV  
Financial Instruments Subject to Mandatory Redemption by Settlement Terms [Line Items]  
Aggregate Principal Amount of Trust Securities 400us-gaap_SharesSubjectToMandatoryRedemptionSettlementTermsAmount
/ dei_LegalEntityAxis
= bac_MerrillLynchPreferredCapitalTrustFourMember
/ us-gaap_ScheduleOfSharesSubjectToMandatoryRedemptionBySettlementTermsAxis
= us-gaap_TrustPreferredSecuritiesSubjectToMandatoryRedemptionMember
Trust Preferred Securities Subject to Mandatory Redemption | Preferred Capital Trust V  
Financial Instruments Subject to Mandatory Redemption by Settlement Terms [Line Items]  
Aggregate Principal Amount of Trust Securities 850us-gaap_SharesSubjectToMandatoryRedemptionSettlementTermsAmount
/ dei_LegalEntityAxis
= bac_MerrillLynchPreferredCapitalTrustFiveMember
/ us-gaap_ScheduleOfSharesSubjectToMandatoryRedemptionBySettlementTermsAxis
= us-gaap_TrustPreferredSecuritiesSubjectToMandatoryRedemptionMember
Trust Preferred Securities Subject to Mandatory Redemption | Capital Trust I  
Financial Instruments Subject to Mandatory Redemption by Settlement Terms [Line Items]  
Aggregate Principal Amount of Trust Securities 1,050us-gaap_SharesSubjectToMandatoryRedemptionSettlementTermsAmount
/ dei_LegalEntityAxis
= bac_MerrillLynchCapitalTrustOneMember
/ us-gaap_ScheduleOfSharesSubjectToMandatoryRedemptionBySettlementTermsAxis
= us-gaap_TrustPreferredSecuritiesSubjectToMandatoryRedemptionMember
Trust Preferred Securities Subject to Mandatory Redemption | Capital Trust II  
Financial Instruments Subject to Mandatory Redemption by Settlement Terms [Line Items]  
Aggregate Principal Amount of Trust Securities 950us-gaap_SharesSubjectToMandatoryRedemptionSettlementTermsAmount
/ dei_LegalEntityAxis
= bac_MerrillLynchCapitalTrustTwoMember
/ us-gaap_ScheduleOfSharesSubjectToMandatoryRedemptionBySettlementTermsAxis
= us-gaap_TrustPreferredSecuritiesSubjectToMandatoryRedemptionMember
Trust Preferred Securities Subject to Mandatory Redemption | Capital Trust III  
Financial Instruments Subject to Mandatory Redemption by Settlement Terms [Line Items]  
Aggregate Principal Amount of Trust Securities 750us-gaap_SharesSubjectToMandatoryRedemptionSettlementTermsAmount
/ dei_LegalEntityAxis
= bac_MerrillLynchCapitalTrustThreeMember
/ us-gaap_ScheduleOfSharesSubjectToMandatoryRedemptionBySettlementTermsAxis
= us-gaap_TrustPreferredSecuritiesSubjectToMandatoryRedemptionMember
Junior subordinated notes  
Financial Instruments Subject to Mandatory Redemption by Settlement Terms [Line Items]  
Aggregate Principal Amount of the Notes 9,259us-gaap_DebtInstrumentFaceAmount
/ us-gaap_ScheduleOfSharesSubjectToMandatoryRedemptionBySettlementTermsAxis
= us-gaap_JuniorSubordinatedDebtMember
Junior subordinated notes | Capital Trust VI  
Financial Instruments Subject to Mandatory Redemption by Settlement Terms [Line Items]  
Aggregate Principal Amount of the Notes 37us-gaap_DebtInstrumentFaceAmount
/ dei_LegalEntityAxis
= bac_BankofAmericaCapitalTrustSixMember
/ us-gaap_ScheduleOfSharesSubjectToMandatoryRedemptionBySettlementTermsAxis
= us-gaap_JuniorSubordinatedDebtMember
Per Annum Interest Rate of the Notes 5.63%us-gaap_DebtInstrumentInterestRateStatedPercentage
/ dei_LegalEntityAxis
= bac_BankofAmericaCapitalTrustSixMember
/ us-gaap_ScheduleOfSharesSubjectToMandatoryRedemptionBySettlementTermsAxis
= us-gaap_JuniorSubordinatedDebtMember
Junior subordinated notes | Capital Trust VII  
Financial Instruments Subject to Mandatory Redemption by Settlement Terms [Line Items]  
Aggregate Principal Amount of the Notes 7us-gaap_DebtInstrumentFaceAmount
/ dei_LegalEntityAxis
= bac_BankofAmericaCapitalTrustSevenMember
/ us-gaap_ScheduleOfSharesSubjectToMandatoryRedemptionBySettlementTermsAxis
= us-gaap_JuniorSubordinatedDebtMember
Per Annum Interest Rate of the Notes 5.25%us-gaap_DebtInstrumentInterestRateStatedPercentage
/ dei_LegalEntityAxis
= bac_BankofAmericaCapitalTrustSevenMember
/ us-gaap_ScheduleOfSharesSubjectToMandatoryRedemptionBySettlementTermsAxis
= us-gaap_JuniorSubordinatedDebtMember
Junior subordinated notes | Capital Trust VIII  
Financial Instruments Subject to Mandatory Redemption by Settlement Terms [Line Items]  
Aggregate Principal Amount of the Notes 540us-gaap_DebtInstrumentFaceAmount
/ dei_LegalEntityAxis
= bac_BankofAmericaCapitalTrustEightMember
/ us-gaap_ScheduleOfSharesSubjectToMandatoryRedemptionBySettlementTermsAxis
= us-gaap_JuniorSubordinatedDebtMember
Per Annum Interest Rate of the Notes 6.00%us-gaap_DebtInstrumentInterestRateStatedPercentage
/ dei_LegalEntityAxis
= bac_BankofAmericaCapitalTrustEightMember
/ us-gaap_ScheduleOfSharesSubjectToMandatoryRedemptionBySettlementTermsAxis
= us-gaap_JuniorSubordinatedDebtMember
Junior subordinated notes | Capital Trust XI  
Financial Instruments Subject to Mandatory Redemption by Settlement Terms [Line Items]  
Aggregate Principal Amount of the Notes 678us-gaap_DebtInstrumentFaceAmount
/ dei_LegalEntityAxis
= bac_BankofAmericaCapitalTrustElevenMember
/ us-gaap_ScheduleOfSharesSubjectToMandatoryRedemptionBySettlementTermsAxis
= us-gaap_JuniorSubordinatedDebtMember
Per Annum Interest Rate of the Notes 6.63%us-gaap_DebtInstrumentInterestRateStatedPercentage
/ dei_LegalEntityAxis
= bac_BankofAmericaCapitalTrustElevenMember
/ us-gaap_ScheduleOfSharesSubjectToMandatoryRedemptionBySettlementTermsAxis
= us-gaap_JuniorSubordinatedDebtMember
Junior subordinated notes | Capital Trust XV  
Financial Instruments Subject to Mandatory Redemption by Settlement Terms [Line Items]  
Aggregate Principal Amount of the Notes 1us-gaap_DebtInstrumentFaceAmount
/ dei_LegalEntityAxis
= bac_BankofAmericaCapitalTrustFifteenMember
/ us-gaap_ScheduleOfSharesSubjectToMandatoryRedemptionBySettlementTermsAxis
= us-gaap_JuniorSubordinatedDebtMember
Junior subordinated notes | Capital Trust III  
Financial Instruments Subject to Mandatory Redemption by Settlement Terms [Line Items]  
Aggregate Principal Amount of the Notes 136us-gaap_DebtInstrumentFaceAmount
/ dei_LegalEntityAxis
= bac_NationsBankCapitalTrustThreeMember
/ us-gaap_ScheduleOfSharesSubjectToMandatoryRedemptionBySettlementTermsAxis
= us-gaap_JuniorSubordinatedDebtMember
Junior subordinated notes | Capital III  
Financial Instruments Subject to Mandatory Redemption by Settlement Terms [Line Items]  
Aggregate Principal Amount of the Notes 106us-gaap_DebtInstrumentFaceAmount
/ dei_LegalEntityAxis
= bac_BankAmericaCapitalThreeMember
/ us-gaap_ScheduleOfSharesSubjectToMandatoryRedemptionBySettlementTermsAxis
= us-gaap_JuniorSubordinatedDebtMember
Junior subordinated notes | Capital III  
Financial Instruments Subject to Mandatory Redemption by Settlement Terms [Line Items]  
Aggregate Principal Amount of the Notes 66us-gaap_DebtInstrumentFaceAmount
/ dei_LegalEntityAxis
= bac_BarnettCapitalThreeMember
/ us-gaap_ScheduleOfSharesSubjectToMandatoryRedemptionBySettlementTermsAxis
= us-gaap_JuniorSubordinatedDebtMember
Junior subordinated notes | Capital Trust V  
Financial Instruments Subject to Mandatory Redemption by Settlement Terms [Line Items]  
Aggregate Principal Amount of the Notes 82us-gaap_DebtInstrumentFaceAmount
/ dei_LegalEntityAxis
= bac_FleetCapitalTrustFiveMember
/ us-gaap_ScheduleOfSharesSubjectToMandatoryRedemptionBySettlementTermsAxis
= us-gaap_JuniorSubordinatedDebtMember
Junior subordinated notes | Capital Trust III  
Financial Instruments Subject to Mandatory Redemption by Settlement Terms [Line Items]  
Aggregate Principal Amount of the Notes 55us-gaap_DebtInstrumentFaceAmount
/ dei_LegalEntityAxis
= bac_BankBostonCapitalTrustThreeMember
/ us-gaap_ScheduleOfSharesSubjectToMandatoryRedemptionBySettlementTermsAxis
= us-gaap_JuniorSubordinatedDebtMember
Junior subordinated notes | Capital Trust IV  
Financial Instruments Subject to Mandatory Redemption by Settlement Terms [Line Items]  
Aggregate Principal Amount of the Notes 106us-gaap_DebtInstrumentFaceAmount
/ dei_LegalEntityAxis
= bac_BankBostonCapitalTrustFourMember
/ us-gaap_ScheduleOfSharesSubjectToMandatoryRedemptionBySettlementTermsAxis
= us-gaap_JuniorSubordinatedDebtMember
Junior subordinated notes | Capital Trust B  
Financial Instruments Subject to Mandatory Redemption by Settlement Terms [Line Items]  
Aggregate Principal Amount of the Notes 73us-gaap_DebtInstrumentFaceAmount
/ dei_LegalEntityAxis
= bac_MBNACapitalTrustBMember
/ us-gaap_ScheduleOfSharesSubjectToMandatoryRedemptionBySettlementTermsAxis
= us-gaap_JuniorSubordinatedDebtMember
Junior subordinated notes | Capital III  
Financial Instruments Subject to Mandatory Redemption by Settlement Terms [Line Items]  
Aggregate Principal Amount of the Notes 206us-gaap_DebtInstrumentFaceAmount
/ dei_LegalEntityAxis
= bac_CountrywideCapitalThreeMember
/ us-gaap_ScheduleOfSharesSubjectToMandatoryRedemptionBySettlementTermsAxis
= us-gaap_JuniorSubordinatedDebtMember
Per Annum Interest Rate of the Notes 8.05%us-gaap_DebtInstrumentInterestRateStatedPercentage
/ dei_LegalEntityAxis
= bac_CountrywideCapitalThreeMember
/ us-gaap_ScheduleOfSharesSubjectToMandatoryRedemptionBySettlementTermsAxis
= us-gaap_JuniorSubordinatedDebtMember
Junior subordinated notes | Capital IV  
Financial Instruments Subject to Mandatory Redemption by Settlement Terms [Line Items]  
Aggregate Principal Amount of the Notes 515us-gaap_DebtInstrumentFaceAmount
/ dei_LegalEntityAxis
= bac_CountrywideCapitalFourMember
/ us-gaap_ScheduleOfSharesSubjectToMandatoryRedemptionBySettlementTermsAxis
= us-gaap_JuniorSubordinatedDebtMember
Per Annum Interest Rate of the Notes 6.75%us-gaap_DebtInstrumentInterestRateStatedPercentage
/ dei_LegalEntityAxis
= bac_CountrywideCapitalFourMember
/ us-gaap_ScheduleOfSharesSubjectToMandatoryRedemptionBySettlementTermsAxis
= us-gaap_JuniorSubordinatedDebtMember
Junior subordinated notes | Capital V  
Financial Instruments Subject to Mandatory Redemption by Settlement Terms [Line Items]  
Aggregate Principal Amount of the Notes 1,496us-gaap_DebtInstrumentFaceAmount
/ dei_LegalEntityAxis
= bac_CountrywideCapitalFiveMember
/ us-gaap_ScheduleOfSharesSubjectToMandatoryRedemptionBySettlementTermsAxis
= us-gaap_JuniorSubordinatedDebtMember
Per Annum Interest Rate of the Notes 7.00%us-gaap_DebtInstrumentInterestRateStatedPercentage
/ dei_LegalEntityAxis
= bac_CountrywideCapitalFiveMember
/ us-gaap_ScheduleOfSharesSubjectToMandatoryRedemptionBySettlementTermsAxis
= us-gaap_JuniorSubordinatedDebtMember
Junior subordinated notes | Preferred Capital Trust III  
Financial Instruments Subject to Mandatory Redemption by Settlement Terms [Line Items]  
Aggregate Principal Amount of the Notes 901us-gaap_DebtInstrumentFaceAmount
/ dei_LegalEntityAxis
= bac_MerrillLynchPreferredCapitalTrustThreeMember
/ us-gaap_ScheduleOfSharesSubjectToMandatoryRedemptionBySettlementTermsAxis
= us-gaap_JuniorSubordinatedDebtMember
Per Annum Interest Rate of the Notes 7.00%us-gaap_DebtInstrumentInterestRateStatedPercentage
/ dei_LegalEntityAxis
= bac_MerrillLynchPreferredCapitalTrustThreeMember
/ us-gaap_ScheduleOfSharesSubjectToMandatoryRedemptionBySettlementTermsAxis
= us-gaap_JuniorSubordinatedDebtMember
Junior subordinated notes | Preferred Capital Trust IV  
Financial Instruments Subject to Mandatory Redemption by Settlement Terms [Line Items]  
Aggregate Principal Amount of the Notes 480us-gaap_DebtInstrumentFaceAmount
/ dei_LegalEntityAxis
= bac_MerrillLynchPreferredCapitalTrustFourMember
/ us-gaap_ScheduleOfSharesSubjectToMandatoryRedemptionBySettlementTermsAxis
= us-gaap_JuniorSubordinatedDebtMember
Per Annum Interest Rate of the Notes 7.12%us-gaap_DebtInstrumentInterestRateStatedPercentage
/ dei_LegalEntityAxis
= bac_MerrillLynchPreferredCapitalTrustFourMember
/ us-gaap_ScheduleOfSharesSubjectToMandatoryRedemptionBySettlementTermsAxis
= us-gaap_JuniorSubordinatedDebtMember
Junior subordinated notes | Preferred Capital Trust V  
Financial Instruments Subject to Mandatory Redemption by Settlement Terms [Line Items]  
Aggregate Principal Amount of the Notes 1,021us-gaap_DebtInstrumentFaceAmount
/ dei_LegalEntityAxis
= bac_MerrillLynchPreferredCapitalTrustFiveMember
/ us-gaap_ScheduleOfSharesSubjectToMandatoryRedemptionBySettlementTermsAxis
= us-gaap_JuniorSubordinatedDebtMember
Per Annum Interest Rate of the Notes 7.28%us-gaap_DebtInstrumentInterestRateStatedPercentage
/ dei_LegalEntityAxis
= bac_MerrillLynchPreferredCapitalTrustFiveMember
/ us-gaap_ScheduleOfSharesSubjectToMandatoryRedemptionBySettlementTermsAxis
= us-gaap_JuniorSubordinatedDebtMember
Junior subordinated notes | Capital Trust I  
Financial Instruments Subject to Mandatory Redemption by Settlement Terms [Line Items]  
Aggregate Principal Amount of the Notes 1,051us-gaap_DebtInstrumentFaceAmount
/ dei_LegalEntityAxis
= bac_MerrillLynchCapitalTrustOneMember
/ us-gaap_ScheduleOfSharesSubjectToMandatoryRedemptionBySettlementTermsAxis
= us-gaap_JuniorSubordinatedDebtMember
Per Annum Interest Rate of the Notes 6.45%us-gaap_DebtInstrumentInterestRateStatedPercentage
/ dei_LegalEntityAxis
= bac_MerrillLynchCapitalTrustOneMember
/ us-gaap_ScheduleOfSharesSubjectToMandatoryRedemptionBySettlementTermsAxis
= us-gaap_JuniorSubordinatedDebtMember
Junior subordinated notes | Capital Trust II  
Financial Instruments Subject to Mandatory Redemption by Settlement Terms [Line Items]  
Aggregate Principal Amount of the Notes 951us-gaap_DebtInstrumentFaceAmount
/ dei_LegalEntityAxis
= bac_MerrillLynchCapitalTrustTwoMember
/ us-gaap_ScheduleOfSharesSubjectToMandatoryRedemptionBySettlementTermsAxis
= us-gaap_JuniorSubordinatedDebtMember
Per Annum Interest Rate of the Notes 6.45%us-gaap_DebtInstrumentInterestRateStatedPercentage
/ dei_LegalEntityAxis
= bac_MerrillLynchCapitalTrustTwoMember
/ us-gaap_ScheduleOfSharesSubjectToMandatoryRedemptionBySettlementTermsAxis
= us-gaap_JuniorSubordinatedDebtMember
Junior subordinated notes | Capital Trust III  
Financial Instruments Subject to Mandatory Redemption by Settlement Terms [Line Items]  
Aggregate Principal Amount of the Notes 751us-gaap_DebtInstrumentFaceAmount
/ dei_LegalEntityAxis
= bac_MerrillLynchCapitalTrustThreeMember
/ us-gaap_ScheduleOfSharesSubjectToMandatoryRedemptionBySettlementTermsAxis
= us-gaap_JuniorSubordinatedDebtMember
Per Annum Interest Rate of the Notes 7.375%us-gaap_DebtInstrumentInterestRateStatedPercentage
/ dei_LegalEntityAxis
= bac_MerrillLynchCapitalTrustThreeMember
/ us-gaap_ScheduleOfSharesSubjectToMandatoryRedemptionBySettlementTermsAxis
= us-gaap_JuniorSubordinatedDebtMember
3-Month London Interbank Offered Rate (LIBOR) | Trust Preferred Securities Subject to Mandatory Redemption | Capital Trust V  
Financial Instruments Subject to Mandatory Redemption by Settlement Terms [Line Items]  
Basis spread on variable rate 1.00%us-gaap_DebtInstrumentBasisSpreadOnVariableRate1
/ dei_LegalEntityAxis
= bac_FleetCapitalTrustFiveMember
/ us-gaap_ScheduleOfSharesSubjectToMandatoryRedemptionBySettlementTermsAxis
= us-gaap_TrustPreferredSecuritiesSubjectToMandatoryRedemptionMember
/ us-gaap_VariableRateAxis
= bac_A3MonthLondonInterbankOfferedRateLIBORMember
3-Month London Interbank Offered Rate (LIBOR) | Junior subordinated notes | Capital Trust XV  
Financial Instruments Subject to Mandatory Redemption by Settlement Terms [Line Items]  
Basis spread on variable rate 0.80%us-gaap_DebtInstrumentBasisSpreadOnVariableRate1
/ dei_LegalEntityAxis
= bac_BankofAmericaCapitalTrustFifteenMember
/ us-gaap_ScheduleOfSharesSubjectToMandatoryRedemptionBySettlementTermsAxis
= us-gaap_JuniorSubordinatedDebtMember
/ us-gaap_VariableRateAxis
= bac_A3MonthLondonInterbankOfferedRateLIBORMember
3-Month London Interbank Offered Rate (LIBOR) | Junior subordinated notes | Capital Trust III  
Financial Instruments Subject to Mandatory Redemption by Settlement Terms [Line Items]  
Basis spread on variable rate 0.55%us-gaap_DebtInstrumentBasisSpreadOnVariableRate1
/ dei_LegalEntityAxis
= bac_NationsBankCapitalTrustThreeMember
/ us-gaap_ScheduleOfSharesSubjectToMandatoryRedemptionBySettlementTermsAxis
= us-gaap_JuniorSubordinatedDebtMember
/ us-gaap_VariableRateAxis
= bac_A3MonthLondonInterbankOfferedRateLIBORMember
3-Month London Interbank Offered Rate (LIBOR) | Junior subordinated notes | Capital III  
Financial Instruments Subject to Mandatory Redemption by Settlement Terms [Line Items]  
Basis spread on variable rate 0.57%us-gaap_DebtInstrumentBasisSpreadOnVariableRate1
/ dei_LegalEntityAxis
= bac_BankAmericaCapitalThreeMember
/ us-gaap_ScheduleOfSharesSubjectToMandatoryRedemptionBySettlementTermsAxis
= us-gaap_JuniorSubordinatedDebtMember
/ us-gaap_VariableRateAxis
= bac_A3MonthLondonInterbankOfferedRateLIBORMember
3-Month London Interbank Offered Rate (LIBOR) | Junior subordinated notes | Capital III  
Financial Instruments Subject to Mandatory Redemption by Settlement Terms [Line Items]  
Basis spread on variable rate 0.625%us-gaap_DebtInstrumentBasisSpreadOnVariableRate1
/ dei_LegalEntityAxis
= bac_BarnettCapitalThreeMember
/ us-gaap_ScheduleOfSharesSubjectToMandatoryRedemptionBySettlementTermsAxis
= us-gaap_JuniorSubordinatedDebtMember
/ us-gaap_VariableRateAxis
= bac_A3MonthLondonInterbankOfferedRateLIBORMember
3-Month London Interbank Offered Rate (LIBOR) | Junior subordinated notes | Capital Trust III  
Financial Instruments Subject to Mandatory Redemption by Settlement Terms [Line Items]  
Basis spread on variable rate 0.75%us-gaap_DebtInstrumentBasisSpreadOnVariableRate1
/ dei_LegalEntityAxis
= bac_BankBostonCapitalTrustThreeMember
/ us-gaap_ScheduleOfSharesSubjectToMandatoryRedemptionBySettlementTermsAxis
= us-gaap_JuniorSubordinatedDebtMember
/ us-gaap_VariableRateAxis
= bac_A3MonthLondonInterbankOfferedRateLIBORMember
3-Month London Interbank Offered Rate (LIBOR) | Junior subordinated notes | Capital Trust IV  
Financial Instruments Subject to Mandatory Redemption by Settlement Terms [Line Items]  
Basis spread on variable rate 0.60%us-gaap_DebtInstrumentBasisSpreadOnVariableRate1
/ dei_LegalEntityAxis
= bac_BankBostonCapitalTrustFourMember
/ us-gaap_ScheduleOfSharesSubjectToMandatoryRedemptionBySettlementTermsAxis
= us-gaap_JuniorSubordinatedDebtMember
/ us-gaap_VariableRateAxis
= bac_A3MonthLondonInterbankOfferedRateLIBORMember
3-Month London Interbank Offered Rate (LIBOR) | Junior subordinated notes | Capital Trust B  
Financial Instruments Subject to Mandatory Redemption by Settlement Terms [Line Items]  
Basis spread on variable rate 0.80%us-gaap_DebtInstrumentBasisSpreadOnVariableRate1
/ dei_LegalEntityAxis
= bac_MBNACapitalTrustBMember
/ us-gaap_ScheduleOfSharesSubjectToMandatoryRedemptionBySettlementTermsAxis
= us-gaap_JuniorSubordinatedDebtMember
/ us-gaap_VariableRateAxis
= bac_A3MonthLondonInterbankOfferedRateLIBORMember