Quarterly report pursuant to Section 13 or 15(d)

Commitments and Contingencies - Additional Information (Details)

v2.4.1.9
Commitments and Contingencies - Additional Information (Details) (USD $)
3 Months Ended 0 Months Ended
Mar. 31, 2015
Mar. 31, 2014
Mar. 30, 2015
Apr. 24, 2015
Dec. 31, 2014
Operating Leases, Future Minimum Payments Due [Abstract]          
2015 $ 1,900,000,000us-gaap_OperatingLeasesFutureMinimumPaymentsRemainderOfFiscalYear        
2016 2,300,000,000us-gaap_OperatingLeasesFutureMinimumPaymentsDueInTwoYears        
2017 1,900,000,000us-gaap_OperatingLeasesFutureMinimumPaymentsDueInThreeYears        
2018 1,500,000,000us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFourYears        
2019 1,300,000,000us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFiveYears        
Thereafter 5,100,000,000us-gaap_OperatingLeasesFutureMinimumPaymentsDueThereafter        
Notional amount of derivatives 1,094,252,000,000invest_DerivativeNotionalAmount       1,134,132,000,000invest_DerivativeNotionalAmount
Litigation expense 370,000,000us-gaap_LitigationSettlementExpense 6,000,000,000us-gaap_LitigationSettlementExpense      
Minimum estimate range of possible loss 0us-gaap_LossContingencyRangeOfPossibleLossMinimum        
Maximum estimated range of possible loss 2,500,000,000.0us-gaap_LossContingencyRangeOfPossibleLossMaximum        
Commercial Banks          
Operating Leases, Future Minimum Payments Due [Abstract]          
Notional amount of derivatives 494,000,000invest_DerivativeNotionalAmount
/ us-gaap_CounterpartyNameAxis
= bac_CommercialBanksMember
      527,000,000invest_DerivativeNotionalAmount
/ us-gaap_CounterpartyNameAxis
= bac_CommercialBanksMember
Unconsolidated VIEs          
Operating Leases, Future Minimum Payments Due [Abstract]          
Notional amount of derivatives 1,200,000,000invest_DerivativeNotionalAmount
/ us-gaap_CounterpartyNameAxis
= us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
      1,200,000,000invest_DerivativeNotionalAmount
/ us-gaap_CounterpartyNameAxis
= us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
Life Insurance Book Value Protection          
Operating Leases, Future Minimum Payments Due [Abstract]          
Notional amount of derivatives 13,600,000,000invest_DerivativeNotionalAmount
/ us-gaap_GuaranteeObligationsByNatureAxis
= bac_LifeInsuranceBookValueProtectionMember
      13,600,000,000invest_DerivativeNotionalAmount
/ us-gaap_GuaranteeObligationsByNatureAxis
= bac_LifeInsuranceBookValueProtectionMember
Maximum potential exposure 3,100,000,000us-gaap_GuaranteeObligationsMaximumExposure
/ us-gaap_GuaranteeObligationsByNatureAxis
= bac_LifeInsuranceBookValueProtectionMember
      3,100,000,000us-gaap_GuaranteeObligationsMaximumExposure
/ us-gaap_GuaranteeObligationsByNatureAxis
= bac_LifeInsuranceBookValueProtectionMember
Net fair value of bank-owned life insurance book value protection 22,000,000us-gaap_GuaranteesFairValueDisclosure
/ us-gaap_GuaranteeObligationsByNatureAxis
= bac_LifeInsuranceBookValueProtectionMember
      25,000,000us-gaap_GuaranteesFairValueDisclosure
/ us-gaap_GuaranteeObligationsByNatureAxis
= bac_LifeInsuranceBookValueProtectionMember
Other Guarantee          
Operating Leases, Future Minimum Payments Due [Abstract]          
Maximum potential exposure 6,300,000,000us-gaap_GuaranteeObligationsMaximumExposure
/ us-gaap_GuaranteeObligationsByNatureAxis
= bac_OtherGuaranteesMember
      6,200,000,000us-gaap_GuaranteeObligationsMaximumExposure
/ us-gaap_GuaranteeObligationsByNatureAxis
= bac_OtherGuaranteesMember
Loan Commitments          
Loss Contingencies [Line Items]          
Other commitments 2,200,000,000us-gaap_OtherCommitment
/ us-gaap_OtherCommitmentsAxis
= us-gaap_LoanPurchaseCommitmentsMember
      1,800,000,000us-gaap_OtherCommitment
/ us-gaap_OtherCommitmentsAxis
= us-gaap_LoanPurchaseCommitmentsMember
Forward-Dated Resale and Securities Borrowing Agreements          
Loss Contingencies [Line Items]          
Other commitments 105,800,000,000us-gaap_OtherCommitment
/ us-gaap_OtherCommitmentsAxis
= bac_ForwardDatedResaleandSecuritiesBorrowingAgreementsMember
      73,200,000,000us-gaap_OtherCommitment
/ us-gaap_OtherCommitmentsAxis
= bac_ForwardDatedResaleandSecuritiesBorrowingAgreementsMember
Forward-Dated Repurchase and Securities Lending Agreements          
Loss Contingencies [Line Items]          
Other commitments 85,100,000,000us-gaap_OtherCommitment
/ us-gaap_OtherCommitmentsAxis
= bac_ForwardDatedRepurchaseandSecuritiesLendingAgreementsMember
      55,800,000,000us-gaap_OtherCommitment
/ us-gaap_OtherCommitmentsAxis
= bac_ForwardDatedRepurchaseandSecuritiesLendingAgreementsMember
Payment Protection Insurance          
Operating Leases, Future Minimum Payments Due [Abstract]          
Loss contingency accrual 266,000,000us-gaap_LossContingencyAccrualAtCarryingValue
/ us-gaap_LossContingenciesByNatureOfContingencyAxis
= bac_PaymentProtectionInsuranceMember
      378,000,000us-gaap_LossContingencyAccrualAtCarryingValue
/ us-gaap_LossContingenciesByNatureOfContingencyAxis
= bac_PaymentProtectionInsuranceMember
Provision 0us-gaap_LossContingencyAccrualProvision
/ us-gaap_LossContingenciesByNatureOfContingencyAxis
= bac_PaymentProtectionInsuranceMember
141,000,000us-gaap_LossContingencyAccrualProvision
/ us-gaap_LossContingenciesByNatureOfContingencyAxis
= bac_PaymentProtectionInsuranceMember
     
Merchant Servicing Joint Venture          
Operating Leases, Future Minimum Payments Due [Abstract]          
Equity method investment ownership percentage 49.00%us-gaap_EquityMethodInvestmentOwnershipPercentage
/ us-gaap_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis
= bac_MerchantServicingJointVentureMember
       
Merchant Processing Servicers, Sponsored Entities          
Operating Leases, Future Minimum Payments Due [Abstract]          
Transactions processed and settled by sponsored entities 154,600,000,000bac_MerchantServicesTransactionsProcessedAndSettledBySponsoredEntities
/ dei_LegalEntityAxis
= bac_MerchantProcessingServicersSponsoredEntitiesMember
149,400,000,000bac_MerchantServicesTransactionsProcessedAndSettledBySponsoredEntities
/ dei_LegalEntityAxis
= bac_MerchantProcessingServicersSponsoredEntitiesMember
     
Losses as result of cardholder disputed transactions 4,000,000bac_MerchantServicesLossesRecordedbySponsoredEntities
/ dei_LegalEntityAxis
= bac_MerchantProcessingServicersSponsoredEntitiesMember
4,000,000bac_MerchantServicesLossesRecordedbySponsoredEntities
/ dei_LegalEntityAxis
= bac_MerchantProcessingServicersSponsoredEntitiesMember
     
Merchant escrow deposits held as collateral 143,000,000bac_MerchantServicesEscrowDepositsHeldAsCollateralbySponsoredEntities
/ dei_LegalEntityAxis
= bac_MerchantProcessingServicersSponsoredEntitiesMember
      130,000,000bac_MerchantServicesEscrowDepositsHeldAsCollateralbySponsoredEntities
/ dei_LegalEntityAxis
= bac_MerchantProcessingServicersSponsoredEntitiesMember
Merchant Processing Servicers, Sponsored Entities | Merchant Services          
Operating Leases, Future Minimum Payments Due [Abstract]          
Maximum potential exposure 262,100,000,000us-gaap_GuaranteeObligationsMaximumExposure
/ us-gaap_GuaranteeObligationsByNatureAxis
= bac_MerchantServicesMember
/ dei_LegalEntityAxis
= bac_MerchantProcessingServicersSponsoredEntitiesMember
      269,300,000,000us-gaap_GuaranteeObligationsMaximumExposure
/ us-gaap_GuaranteeObligationsByNatureAxis
= bac_MerchantServicesMember
/ dei_LegalEntityAxis
= bac_MerchantProcessingServicersSponsoredEntitiesMember
Interchange and Related Litigation [Member]          
Operating Leases, Future Minimum Payments Due [Abstract]          
Litigation settlement, number of opt-out suits 2bac_LitigationSettlementNumberofOptOutSuits
/ us-gaap_LitigationCaseAxis
= bac_InterchangeAndRelatedLitigationMember
       
Ocala Investor Litigation          
Operating Leases, Future Minimum Payments Due [Abstract]          
Litigation settlement     315,000,000us-gaap_LitigationSettlementAmount
/ us-gaap_LitigationCaseAxis
= bac_OcalaInvestorLitigationMember
   
Subsequent Event | LIBOR, Other Reference Rate, and Foreign Exchange Litigation          
Operating Leases, Future Minimum Payments Due [Abstract]          
Litigation settlement       $ 180,000,000us-gaap_LitigationSettlementAmount
/ us-gaap_LitigationCaseAxis
= bac_LIBOROtherReferenceRateandForeignExchangeLitigationMember
/ us-gaap_SubsequentEventTypeAxis
= us-gaap_SubsequentEventMember