Annual report pursuant to Section 13 and 15(d)

Derivatives - Narrative (Details)

v2.4.1.9
Derivatives - Narrative (Details) (USD $)
12 Months Ended
Dec. 31, 2014
Dec. 31, 2013
Dec. 31, 2012
Dec. 31, 2011
Derivative [Line Items]        
Accumulated other comprehensive income (loss) $ (4,320,000,000)us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax $ (8,457,000,000)us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax $ (2,797,000,000)us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax $ (5,437,000,000)us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax
Net losses in AOCI expected to be reclassified 803,000,000us-gaap_CashFlowHedgeGainLossToBeReclassifiedWithinTwelveMonths      
Net losses in AOCI expected to be reclassified, after tax 502,000,000bac_CashFlowHedgeGainLossToBeReclassifiedWithinTwelveMonthsNetOfTax      
Credit derivatives        
Derivative [Line Items]        
Cash and securities held as collateral 82,000,000,000bac_CashandSecuritiesHeldasCollateralatFairValue
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
74,400,000,000bac_CashandSecuritiesHeldasCollateralatFairValue
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
   
Cash and securities collateral posted 67,900,000,000us-gaap_CollateralAlreadyPostedAggregateFairValue
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
56,100,000,000us-gaap_CollateralAlreadyPostedAggregateFairValue
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
   
Collateral not yet posted 1,400,000,000bac_CollateralNotYetPostedAggregateFairValue
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
     
Aggregate fair value of derivative liability 84,000,000us-gaap_DerivativeNetLiabilityPositionAggregateFairValue
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
     
Credit derivatives, Unilateral Termination Option        
Derivative [Line Items]        
Cash and securities collateral posted 54,000,000us-gaap_CollateralAlreadyPostedAggregateFairValue
/ us-gaap_DerivativeInstrumentRiskAxis
= bac_CreditRiskContractUnilateralTerminationOptionMember
     
Purchased credit derivatives | Credit derivatives        
Derivative [Line Items]        
Carrying value of written credit derivatives 5,700,000,000bac_CreditDerivativeFairValueWithIdenticalUnderlyingReferencedNamesandTerms
/ us-gaap_CreditDerivativesByContractTypeAxis
= us-gaap_CreditDefaultSwapBuyingProtectionMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
8,100,000,000bac_CreditDerivativeFairValueWithIdenticalUnderlyingReferencedNamesandTerms
/ us-gaap_CreditDerivativesByContractTypeAxis
= us-gaap_CreditDefaultSwapBuyingProtectionMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
   
Notional amount of written credit derivatives 880,600,000,000bac_CreditDerivativeNotionalAmountWithIdenticalUnderlyingReferencedNamesandTerms
/ us-gaap_CreditDerivativesByContractTypeAxis
= us-gaap_CreditDefaultSwapBuyingProtectionMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
1,000,000,000,000bac_CreditDerivativeNotionalAmountWithIdenticalUnderlyingReferencedNamesandTerms
/ us-gaap_CreditDerivativesByContractTypeAxis
= us-gaap_CreditDefaultSwapBuyingProtectionMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
   
Bank of America, N.A. | Credit derivatives        
Derivative [Line Items]        
Collateral not yet posted 670,000,000bac_CollateralNotYetPostedAggregateFairValue
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
/ dei_LegalEntityAxis
= bac_SubsidiariesBankofAmericaN.A.Member
     
Accumulated Net Gain (Loss) from Designated or Qualifying Cash Flow Hedges        
Derivative [Line Items]        
Accumulated other comprehensive income (loss) $ (1,661,000,000)us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AccumulatedNetGainLossFromDesignatedOrQualifyingCashFlowHedgesMember
$ (2,277,000,000)us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AccumulatedNetGainLossFromDesignatedOrQualifyingCashFlowHedgesMember
$ (2,869,000,000)us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AccumulatedNetGainLossFromDesignatedOrQualifyingCashFlowHedgesMember
$ (3,785,000,000)us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AccumulatedNetGainLossFromDesignatedOrQualifyingCashFlowHedgesMember