Quarterly report pursuant to Section 13 or 15(d)

Outstanding Loans and Leases - Consumer Real Estate - Credit Quality Indicators (Details)

v2.4.1.9
Outstanding Loans and Leases - Consumer Real Estate - Credit Quality Indicators (Details) (USD $)
In Millions, unless otherwise specified
Mar. 31, 2015
Dec. 31, 2014
Financing Receivable, Recorded Investment [Line Items]    
Loans and leases $ 877,956us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome $ 881,391us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
Loans and leases, measured at fair value 8,466us-gaap_LoansReceivableFairValueDisclosure 8,681us-gaap_LoansReceivableFairValueDisclosure
Consumer Real Estate    
Financing Receivable, Recorded Investment [Line Items]    
Loans and leases, measured at fair value 2,100us-gaap_LoansReceivableFairValueDisclosure
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
2,100us-gaap_LoansReceivableFairValueDisclosure
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
Consumer Real Estate | Core Portfolio Residential Mortgage    
Financing Receivable, Recorded Investment [Line Items]    
Loans and leases 156,888us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_CorePortfolioResidentialFinancingReceivableMember
162,220us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_CorePortfolioResidentialFinancingReceivableMember
Consumer Real Estate | Legacy Assets & Servicing Residential Mortgage    
Financing Receivable, Recorded Investment [Line Items]    
Loans and leases 36,852us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_LegacyAssetsandServicingPortfolioResidentialFinancingReceivableMember
38,825us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_LegacyAssetsandServicingPortfolioResidentialFinancingReceivableMember
Consumer Real Estate | Legacy Assets & Servicing Residential Mortgage | Pay option    
Financing Receivable, Recorded Investment [Line Items]    
Loans and leases 2,900us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_LegacyAssetsandServicingPortfolioResidentialFinancingReceivableMember
/ us-gaap_ProductOrServiceAxis
= bac_PayOptionMember
3,200us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_LegacyAssetsandServicingPortfolioResidentialFinancingReceivableMember
/ us-gaap_ProductOrServiceAxis
= bac_PayOptionMember
Consumer Real Estate | Residential Mortgage PCI    
Financing Receivable, Recorded Investment [Line Items]    
Loans and leases 14,185us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_ResidentialMortgagePurchaseCreditImpairedFinancingReceivableMember
15,152us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_ResidentialMortgagePurchaseCreditImpairedFinancingReceivableMember
Consumer Real Estate | Residential Mortgage PCI | Pay option    
Financing Receivable, Recorded Investment [Line Items]    
Loans and leases 2,500us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_ResidentialMortgagePurchaseCreditImpairedFinancingReceivableMember
/ us-gaap_ProductOrServiceAxis
= bac_PayOptionMember
2,800us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_ResidentialMortgagePurchaseCreditImpairedFinancingReceivableMember
/ us-gaap_ProductOrServiceAxis
= bac_PayOptionMember
Consumer Real Estate | Core Portfolio Home Equity    
Financing Receivable, Recorded Investment [Line Items]    
Loans and leases 51,029us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_CorePortfolioHomeEquityFinancingReceivableMember
51,887us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_CorePortfolioHomeEquityFinancingReceivableMember
Consumer Real Estate | Legacy Assets & Servicing Home Equity    
Financing Receivable, Recorded Investment [Line Items]    
Loans and leases 27,188us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_LegacyAssetsandServicingPortfolioHomeEquityFinancingReceivableMember
28,221us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_LegacyAssetsandServicingPortfolioHomeEquityFinancingReceivableMember
Consumer Real Estate | Home Equity PCI    
Financing Receivable, Recorded Investment [Line Items]    
Loans and leases 5,354us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_HomeEquityPurchaseCreditImpairedFinancingReceivableMember
5,617us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_HomeEquityPurchaseCreditImpairedFinancingReceivableMember
Consumer Real Estate | Less than 620 | Core Portfolio Residential Mortgage    
Financing Receivable, Recorded Investment [Line Items]    
Loans and leases 4,122us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_CreditScoreFicoAxis
= bac_RefreshedFICOScoreLessThan620Member
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_CorePortfolioResidentialFinancingReceivableMember
4,184us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_CreditScoreFicoAxis
= bac_RefreshedFICOScoreLessThan620Member
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_CorePortfolioResidentialFinancingReceivableMember
Consumer Real Estate | Less than 620 | Legacy Assets & Servicing Residential Mortgage    
Financing Receivable, Recorded Investment [Line Items]    
Loans and leases 5,988us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_CreditScoreFicoAxis
= bac_RefreshedFICOScoreLessThan620Member
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_LegacyAssetsandServicingPortfolioResidentialFinancingReceivableMember
6,313us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_CreditScoreFicoAxis
= bac_RefreshedFICOScoreLessThan620Member
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_LegacyAssetsandServicingPortfolioResidentialFinancingReceivableMember
Consumer Real Estate | Less than 620 | Residential Mortgage PCI    
Financing Receivable, Recorded Investment [Line Items]    
Loans and leases 5,350us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_CreditScoreFicoAxis
= bac_RefreshedFICOScoreLessThan620Member
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_ResidentialMortgagePurchaseCreditImpairedFinancingReceivableMember
6,109us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_CreditScoreFicoAxis
= bac_RefreshedFICOScoreLessThan620Member
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_ResidentialMortgagePurchaseCreditImpairedFinancingReceivableMember
Consumer Real Estate | Less than 620 | Core Portfolio Home Equity    
Financing Receivable, Recorded Investment [Line Items]    
Loans and leases 2,158us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_CreditScoreFicoAxis
= bac_RefreshedFICOScoreLessThan620Member
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_CorePortfolioHomeEquityFinancingReceivableMember
2,169us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_CreditScoreFicoAxis
= bac_RefreshedFICOScoreLessThan620Member
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_CorePortfolioHomeEquityFinancingReceivableMember
Consumer Real Estate | Less than 620 | Legacy Assets & Servicing Home Equity    
Financing Receivable, Recorded Investment [Line Items]    
Loans and leases 3,352us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_CreditScoreFicoAxis
= bac_RefreshedFICOScoreLessThan620Member
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_LegacyAssetsandServicingPortfolioHomeEquityFinancingReceivableMember
3,470us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_CreditScoreFicoAxis
= bac_RefreshedFICOScoreLessThan620Member
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_LegacyAssetsandServicingPortfolioHomeEquityFinancingReceivableMember
Consumer Real Estate | Less than 620 | Home Equity PCI    
Financing Receivable, Recorded Investment [Line Items]    
Loans and leases 812us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_CreditScoreFicoAxis
= bac_RefreshedFICOScoreLessThan620Member
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_HomeEquityPurchaseCreditImpairedFinancingReceivableMember
864us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_CreditScoreFicoAxis
= bac_RefreshedFICOScoreLessThan620Member
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_HomeEquityPurchaseCreditImpairedFinancingReceivableMember
Consumer Real Estate | Greater than or equal to 620 and less than 680 | Core Portfolio Residential Mortgage    
Financing Receivable, Recorded Investment [Line Items]    
Loans and leases 6,142us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_CreditScoreFicoAxis
= bac_RefreshedFICOScorebetween620and680Member
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_CorePortfolioResidentialFinancingReceivableMember
6,272us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_CreditScoreFicoAxis
= bac_RefreshedFICOScorebetween620and680Member
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_CorePortfolioResidentialFinancingReceivableMember
Consumer Real Estate | Greater than or equal to 620 and less than 680 | Legacy Assets & Servicing Residential Mortgage    
Financing Receivable, Recorded Investment [Line Items]    
Loans and leases 3,906us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_CreditScoreFicoAxis
= bac_RefreshedFICOScorebetween620and680Member
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_LegacyAssetsandServicingPortfolioResidentialFinancingReceivableMember
4,032us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_CreditScoreFicoAxis
= bac_RefreshedFICOScorebetween620and680Member
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_LegacyAssetsandServicingPortfolioResidentialFinancingReceivableMember
Consumer Real Estate | Greater than or equal to 620 and less than 680 | Residential Mortgage PCI    
Financing Receivable, Recorded Investment [Line Items]    
Loans and leases 2,905us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_CreditScoreFicoAxis
= bac_RefreshedFICOScorebetween620and680Member
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_ResidentialMortgagePurchaseCreditImpairedFinancingReceivableMember
3,014us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_CreditScoreFicoAxis
= bac_RefreshedFICOScorebetween620and680Member
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_ResidentialMortgagePurchaseCreditImpairedFinancingReceivableMember
Consumer Real Estate | Greater than or equal to 620 and less than 680 | Core Portfolio Home Equity    
Financing Receivable, Recorded Investment [Line Items]    
Loans and leases 3,613us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_CreditScoreFicoAxis
= bac_RefreshedFICOScorebetween620and680Member
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_CorePortfolioHomeEquityFinancingReceivableMember
3,683us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_CreditScoreFicoAxis
= bac_RefreshedFICOScorebetween620and680Member
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_CorePortfolioHomeEquityFinancingReceivableMember
Consumer Real Estate | Greater than or equal to 620 and less than 680 | Legacy Assets & Servicing Home Equity    
Financing Receivable, Recorded Investment [Line Items]    
Loans and leases 4,434us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_CreditScoreFicoAxis
= bac_RefreshedFICOScorebetween620and680Member
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_LegacyAssetsandServicingPortfolioHomeEquityFinancingReceivableMember
4,529us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_CreditScoreFicoAxis
= bac_RefreshedFICOScorebetween620and680Member
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_LegacyAssetsandServicingPortfolioHomeEquityFinancingReceivableMember
Consumer Real Estate | Greater than or equal to 620 and less than 680 | Home Equity PCI    
Financing Receivable, Recorded Investment [Line Items]    
Loans and leases 953us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_CreditScoreFicoAxis
= bac_RefreshedFICOScorebetween620and680Member
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_HomeEquityPurchaseCreditImpairedFinancingReceivableMember
995us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_CreditScoreFicoAxis
= bac_RefreshedFICOScorebetween620and680Member
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_HomeEquityPurchaseCreditImpairedFinancingReceivableMember
Consumer Real Estate | Greater than or equal to 680 and less than 740 | Core Portfolio Residential Mortgage    
Financing Receivable, Recorded Investment [Line Items]    
Loans and leases 22,002us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_CreditScoreFicoAxis
= bac_RefreshedFICOScorebetween680and740Member
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_CorePortfolioResidentialFinancingReceivableMember
21,946us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_CreditScoreFicoAxis
= bac_RefreshedFICOScorebetween680and740Member
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_CorePortfolioResidentialFinancingReceivableMember
Consumer Real Estate | Greater than or equal to 680 and less than 740 | Legacy Assets & Servicing Residential Mortgage    
Financing Receivable, Recorded Investment [Line Items]    
Loans and leases 6,231us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_CreditScoreFicoAxis
= bac_RefreshedFICOScorebetween680and740Member
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_LegacyAssetsandServicingPortfolioResidentialFinancingReceivableMember
6,463us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_CreditScoreFicoAxis
= bac_RefreshedFICOScorebetween680and740Member
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_LegacyAssetsandServicingPortfolioResidentialFinancingReceivableMember
Consumer Real Estate | Greater than or equal to 680 and less than 740 | Residential Mortgage PCI    
Financing Receivable, Recorded Investment [Line Items]    
Loans and leases 3,288us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_CreditScoreFicoAxis
= bac_RefreshedFICOScorebetween680and740Member
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_ResidentialMortgagePurchaseCreditImpairedFinancingReceivableMember
3,310us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_CreditScoreFicoAxis
= bac_RefreshedFICOScorebetween680and740Member
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_ResidentialMortgagePurchaseCreditImpairedFinancingReceivableMember
Consumer Real Estate | Greater than or equal to 680 and less than 740 | Core Portfolio Home Equity    
Financing Receivable, Recorded Investment [Line Items]    
Loans and leases 10,067us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_CreditScoreFicoAxis
= bac_RefreshedFICOScorebetween680and740Member
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_CorePortfolioHomeEquityFinancingReceivableMember
10,231us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_CreditScoreFicoAxis
= bac_RefreshedFICOScorebetween680and740Member
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_CorePortfolioHomeEquityFinancingReceivableMember
Consumer Real Estate | Greater than or equal to 680 and less than 740 | Legacy Assets & Servicing Home Equity    
Financing Receivable, Recorded Investment [Line Items]    
Loans and leases 7,614us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_CreditScoreFicoAxis
= bac_RefreshedFICOScorebetween680and740Member
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_LegacyAssetsandServicingPortfolioHomeEquityFinancingReceivableMember
7,905us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_CreditScoreFicoAxis
= bac_RefreshedFICOScorebetween680and740Member
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_LegacyAssetsandServicingPortfolioHomeEquityFinancingReceivableMember
Consumer Real Estate | Greater than or equal to 680 and less than 740 | Home Equity PCI    
Financing Receivable, Recorded Investment [Line Items]    
Loans and leases 1,578us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_CreditScoreFicoAxis
= bac_RefreshedFICOScorebetween680and740Member
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_HomeEquityPurchaseCreditImpairedFinancingReceivableMember
1,651us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_CreditScoreFicoAxis
= bac_RefreshedFICOScorebetween680and740Member
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_HomeEquityPurchaseCreditImpairedFinancingReceivableMember
Consumer Real Estate | Greater than or equal to 740 | Core Portfolio Residential Mortgage    
Financing Receivable, Recorded Investment [Line Items]    
Loans and leases 78,158us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_CreditScoreFicoAxis
= bac_RefreshedFICOScoreGreaterThanOrEqualTo740Member
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_CorePortfolioResidentialFinancingReceivableMember
76,828us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_CreditScoreFicoAxis
= bac_RefreshedFICOScoreGreaterThanOrEqualTo740Member
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_CorePortfolioResidentialFinancingReceivableMember
Consumer Real Estate | Greater than or equal to 740 | Legacy Assets & Servicing Residential Mortgage    
Financing Receivable, Recorded Investment [Line Items]    
Loans and leases 9,680us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_CreditScoreFicoAxis
= bac_RefreshedFICOScoreGreaterThanOrEqualTo740Member
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_LegacyAssetsandServicingPortfolioResidentialFinancingReceivableMember
10,037us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_CreditScoreFicoAxis
= bac_RefreshedFICOScoreGreaterThanOrEqualTo740Member
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_LegacyAssetsandServicingPortfolioResidentialFinancingReceivableMember
Consumer Real Estate | Greater than or equal to 740 | Residential Mortgage PCI    
Financing Receivable, Recorded Investment [Line Items]    
Loans and leases 2,642us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_CreditScoreFicoAxis
= bac_RefreshedFICOScoreGreaterThanOrEqualTo740Member
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_ResidentialMortgagePurchaseCreditImpairedFinancingReceivableMember
2,719us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_CreditScoreFicoAxis
= bac_RefreshedFICOScoreGreaterThanOrEqualTo740Member
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_ResidentialMortgagePurchaseCreditImpairedFinancingReceivableMember
Consumer Real Estate | Greater than or equal to 740 | Core Portfolio Home Equity    
Financing Receivable, Recorded Investment [Line Items]    
Loans and leases 35,191us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_CreditScoreFicoAxis
= bac_RefreshedFICOScoreGreaterThanOrEqualTo740Member
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_CorePortfolioHomeEquityFinancingReceivableMember
35,804us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_CreditScoreFicoAxis
= bac_RefreshedFICOScoreGreaterThanOrEqualTo740Member
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_CorePortfolioHomeEquityFinancingReceivableMember
Consumer Real Estate | Greater than or equal to 740 | Legacy Assets & Servicing Home Equity    
Financing Receivable, Recorded Investment [Line Items]    
Loans and leases 11,788us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_CreditScoreFicoAxis
= bac_RefreshedFICOScoreGreaterThanOrEqualTo740Member
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_LegacyAssetsandServicingPortfolioHomeEquityFinancingReceivableMember
12,317us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_CreditScoreFicoAxis
= bac_RefreshedFICOScoreGreaterThanOrEqualTo740Member
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_LegacyAssetsandServicingPortfolioHomeEquityFinancingReceivableMember
Consumer Real Estate | Greater than or equal to 740 | Home Equity PCI    
Financing Receivable, Recorded Investment [Line Items]    
Loans and leases 2,011us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_CreditScoreFicoAxis
= bac_RefreshedFICOScoreGreaterThanOrEqualTo740Member
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_HomeEquityPurchaseCreditImpairedFinancingReceivableMember
2,107us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_CreditScoreFicoAxis
= bac_RefreshedFICOScoreGreaterThanOrEqualTo740Member
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_HomeEquityPurchaseCreditImpairedFinancingReceivableMember
Consumer Real Estate | Less than or equal to 90 percent | Core Portfolio Residential Mortgage    
Financing Receivable, Recorded Investment [Line Items]    
Loans and leases 101,243us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_CorePortfolioResidentialFinancingReceivableMember
/ us-gaap_InternalCreditAssessmentAxis
= bac_RefreshedLoanToValueLessThanOrEqualToNinetyPercentMember
100,255us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_CorePortfolioResidentialFinancingReceivableMember
/ us-gaap_InternalCreditAssessmentAxis
= bac_RefreshedLoanToValueLessThanOrEqualToNinetyPercentMember
Consumer Real Estate | Less than or equal to 90 percent | Legacy Assets & Servicing Residential Mortgage    
Financing Receivable, Recorded Investment [Line Items]    
Loans and leases 17,772us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_LegacyAssetsandServicingPortfolioResidentialFinancingReceivableMember
/ us-gaap_InternalCreditAssessmentAxis
= bac_RefreshedLoanToValueLessThanOrEqualToNinetyPercentMember
18,499us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_LegacyAssetsandServicingPortfolioResidentialFinancingReceivableMember
/ us-gaap_InternalCreditAssessmentAxis
= bac_RefreshedLoanToValueLessThanOrEqualToNinetyPercentMember
Consumer Real Estate | Less than or equal to 90 percent | Residential Mortgage PCI    
Financing Receivable, Recorded Investment [Line Items]    
Loans and leases 9,050us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_ResidentialMortgagePurchaseCreditImpairedFinancingReceivableMember
/ us-gaap_InternalCreditAssessmentAxis
= bac_RefreshedLoanToValueLessThanOrEqualToNinetyPercentMember
9,972us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_ResidentialMortgagePurchaseCreditImpairedFinancingReceivableMember
/ us-gaap_InternalCreditAssessmentAxis
= bac_RefreshedLoanToValueLessThanOrEqualToNinetyPercentMember
Consumer Real Estate | Less than or equal to 90 percent | Core Portfolio Home Equity    
Financing Receivable, Recorded Investment [Line Items]    
Loans and leases 44,705us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_CorePortfolioHomeEquityFinancingReceivableMember
/ us-gaap_InternalCreditAssessmentAxis
= bac_RefreshedLoanToValueLessThanOrEqualToNinetyPercentMember
45,414us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_CorePortfolioHomeEquityFinancingReceivableMember
/ us-gaap_InternalCreditAssessmentAxis
= bac_RefreshedLoanToValueLessThanOrEqualToNinetyPercentMember
Consumer Real Estate | Less than or equal to 90 percent | Legacy Assets & Servicing Home Equity    
Financing Receivable, Recorded Investment [Line Items]    
Loans and leases 16,671us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_LegacyAssetsandServicingPortfolioHomeEquityFinancingReceivableMember
/ us-gaap_InternalCreditAssessmentAxis
= bac_RefreshedLoanToValueLessThanOrEqualToNinetyPercentMember
17,453us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_LegacyAssetsandServicingPortfolioHomeEquityFinancingReceivableMember
/ us-gaap_InternalCreditAssessmentAxis
= bac_RefreshedLoanToValueLessThanOrEqualToNinetyPercentMember
Consumer Real Estate | Less than or equal to 90 percent | Home Equity PCI    
Financing Receivable, Recorded Investment [Line Items]    
Loans and leases 1,868us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_HomeEquityPurchaseCreditImpairedFinancingReceivableMember
/ us-gaap_InternalCreditAssessmentAxis
= bac_RefreshedLoanToValueLessThanOrEqualToNinetyPercentMember
2,046us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_HomeEquityPurchaseCreditImpairedFinancingReceivableMember
/ us-gaap_InternalCreditAssessmentAxis
= bac_RefreshedLoanToValueLessThanOrEqualToNinetyPercentMember
Consumer Real Estate | Greater than 90 percent but less than or equal to 100 percent | Core Portfolio Residential Mortgage    
Financing Receivable, Recorded Investment [Line Items]    
Loans and leases 5,004us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_CorePortfolioResidentialFinancingReceivableMember
/ us-gaap_InternalCreditAssessmentAxis
= bac_RefreshedLoanToValueGreaterThanNinetyPercentButLessThanOrEqualToHundredPercentMember
4,958us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_CorePortfolioResidentialFinancingReceivableMember
/ us-gaap_InternalCreditAssessmentAxis
= bac_RefreshedLoanToValueGreaterThanNinetyPercentButLessThanOrEqualToHundredPercentMember
Consumer Real Estate | Greater than 90 percent but less than or equal to 100 percent | Legacy Assets & Servicing Residential Mortgage    
Financing Receivable, Recorded Investment [Line Items]    
Loans and leases 2,938us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_LegacyAssetsandServicingPortfolioResidentialFinancingReceivableMember
/ us-gaap_InternalCreditAssessmentAxis
= bac_RefreshedLoanToValueGreaterThanNinetyPercentButLessThanOrEqualToHundredPercentMember
3,081us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_LegacyAssetsandServicingPortfolioResidentialFinancingReceivableMember
/ us-gaap_InternalCreditAssessmentAxis
= bac_RefreshedLoanToValueGreaterThanNinetyPercentButLessThanOrEqualToHundredPercentMember
Consumer Real Estate | Greater than 90 percent but less than or equal to 100 percent | Residential Mortgage PCI    
Financing Receivable, Recorded Investment [Line Items]    
Loans and leases 1,925us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_ResidentialMortgagePurchaseCreditImpairedFinancingReceivableMember
/ us-gaap_InternalCreditAssessmentAxis
= bac_RefreshedLoanToValueGreaterThanNinetyPercentButLessThanOrEqualToHundredPercentMember
2,005us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_ResidentialMortgagePurchaseCreditImpairedFinancingReceivableMember
/ us-gaap_InternalCreditAssessmentAxis
= bac_RefreshedLoanToValueGreaterThanNinetyPercentButLessThanOrEqualToHundredPercentMember
Consumer Real Estate | Greater than 90 percent but less than or equal to 100 percent | Core Portfolio Home Equity    
Financing Receivable, Recorded Investment [Line Items]    
Loans and leases 2,347us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_CorePortfolioHomeEquityFinancingReceivableMember
/ us-gaap_InternalCreditAssessmentAxis
= bac_RefreshedLoanToValueGreaterThanNinetyPercentButLessThanOrEqualToHundredPercentMember
2,442us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_CorePortfolioHomeEquityFinancingReceivableMember
/ us-gaap_InternalCreditAssessmentAxis
= bac_RefreshedLoanToValueGreaterThanNinetyPercentButLessThanOrEqualToHundredPercentMember
Consumer Real Estate | Greater than 90 percent but less than or equal to 100 percent | Legacy Assets & Servicing Home Equity    
Financing Receivable, Recorded Investment [Line Items]    
Loans and leases 3,124us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_LegacyAssetsandServicingPortfolioHomeEquityFinancingReceivableMember
/ us-gaap_InternalCreditAssessmentAxis
= bac_RefreshedLoanToValueGreaterThanNinetyPercentButLessThanOrEqualToHundredPercentMember
3,272us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_LegacyAssetsandServicingPortfolioHomeEquityFinancingReceivableMember
/ us-gaap_InternalCreditAssessmentAxis
= bac_RefreshedLoanToValueGreaterThanNinetyPercentButLessThanOrEqualToHundredPercentMember
Consumer Real Estate | Greater than 90 percent but less than or equal to 100 percent | Home Equity PCI    
Financing Receivable, Recorded Investment [Line Items]    
Loans and leases 960us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_HomeEquityPurchaseCreditImpairedFinancingReceivableMember
/ us-gaap_InternalCreditAssessmentAxis
= bac_RefreshedLoanToValueGreaterThanNinetyPercentButLessThanOrEqualToHundredPercentMember
1,048us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_HomeEquityPurchaseCreditImpairedFinancingReceivableMember
/ us-gaap_InternalCreditAssessmentAxis
= bac_RefreshedLoanToValueGreaterThanNinetyPercentButLessThanOrEqualToHundredPercentMember
Consumer Real Estate | Greater than 100 percent | Core Portfolio Residential Mortgage    
Financing Receivable, Recorded Investment [Line Items]    
Loans and leases 4,177us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_CorePortfolioResidentialFinancingReceivableMember
/ us-gaap_InternalCreditAssessmentAxis
= bac_RefreshedLoanToValueGreaterThanHundredPercentMember
4,017us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_CorePortfolioResidentialFinancingReceivableMember
/ us-gaap_InternalCreditAssessmentAxis
= bac_RefreshedLoanToValueGreaterThanHundredPercentMember
Consumer Real Estate | Greater than 100 percent | Legacy Assets & Servicing Residential Mortgage    
Financing Receivable, Recorded Investment [Line Items]    
Loans and leases 5,095us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_LegacyAssetsandServicingPortfolioResidentialFinancingReceivableMember
/ us-gaap_InternalCreditAssessmentAxis
= bac_RefreshedLoanToValueGreaterThanHundredPercentMember
5,265us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_LegacyAssetsandServicingPortfolioResidentialFinancingReceivableMember
/ us-gaap_InternalCreditAssessmentAxis
= bac_RefreshedLoanToValueGreaterThanHundredPercentMember
Consumer Real Estate | Greater than 100 percent | Residential Mortgage PCI    
Financing Receivable, Recorded Investment [Line Items]    
Loans and leases 3,210us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_ResidentialMortgagePurchaseCreditImpairedFinancingReceivableMember
/ us-gaap_InternalCreditAssessmentAxis
= bac_RefreshedLoanToValueGreaterThanHundredPercentMember
3,175us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_ResidentialMortgagePurchaseCreditImpairedFinancingReceivableMember
/ us-gaap_InternalCreditAssessmentAxis
= bac_RefreshedLoanToValueGreaterThanHundredPercentMember
Consumer Real Estate | Greater than 100 percent | Core Portfolio Home Equity    
Financing Receivable, Recorded Investment [Line Items]    
Loans and leases 3,977us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_CorePortfolioHomeEquityFinancingReceivableMember
/ us-gaap_InternalCreditAssessmentAxis
= bac_RefreshedLoanToValueGreaterThanHundredPercentMember
4,031us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_CorePortfolioHomeEquityFinancingReceivableMember
/ us-gaap_InternalCreditAssessmentAxis
= bac_RefreshedLoanToValueGreaterThanHundredPercentMember
Consumer Real Estate | Greater than 100 percent | Legacy Assets & Servicing Home Equity    
Financing Receivable, Recorded Investment [Line Items]    
Loans and leases 7,393us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_LegacyAssetsandServicingPortfolioHomeEquityFinancingReceivableMember
/ us-gaap_InternalCreditAssessmentAxis
= bac_RefreshedLoanToValueGreaterThanHundredPercentMember
7,496us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_LegacyAssetsandServicingPortfolioHomeEquityFinancingReceivableMember
/ us-gaap_InternalCreditAssessmentAxis
= bac_RefreshedLoanToValueGreaterThanHundredPercentMember
Consumer Real Estate | Greater than 100 percent | Home Equity PCI    
Financing Receivable, Recorded Investment [Line Items]    
Loans and leases 2,526us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_HomeEquityPurchaseCreditImpairedFinancingReceivableMember
/ us-gaap_InternalCreditAssessmentAxis
= bac_RefreshedLoanToValueGreaterThanHundredPercentMember
2,523us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_HomeEquityPurchaseCreditImpairedFinancingReceivableMember
/ us-gaap_InternalCreditAssessmentAxis
= bac_RefreshedLoanToValueGreaterThanHundredPercentMember
Consumer Real Estate | Fully Insured Loans | Core Portfolio Residential Mortgage    
Financing Receivable, Recorded Investment [Line Items]    
Loans and leases 46,464us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_CorePortfolioResidentialFinancingReceivableMember
/ us-gaap_InternalCreditAssessmentAxis
= bac_FullyInsuredLoansMember
52,990us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_CorePortfolioResidentialFinancingReceivableMember
/ us-gaap_InternalCreditAssessmentAxis
= bac_FullyInsuredLoansMember
Consumer Real Estate | Fully Insured Loans | Legacy Assets & Servicing Residential Mortgage    
Financing Receivable, Recorded Investment [Line Items]    
Loans and leases 11,047us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_LegacyAssetsandServicingPortfolioResidentialFinancingReceivableMember
/ us-gaap_InternalCreditAssessmentAxis
= bac_FullyInsuredLoansMember
11,980us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_LegacyAssetsandServicingPortfolioResidentialFinancingReceivableMember
/ us-gaap_InternalCreditAssessmentAxis
= bac_FullyInsuredLoansMember
Consumer Real Estate | Fully Insured Loans | Residential Mortgage PCI    
Financing Receivable, Recorded Investment [Line Items]    
Loans and leases 0us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_ResidentialMortgagePurchaseCreditImpairedFinancingReceivableMember
/ us-gaap_InternalCreditAssessmentAxis
= bac_FullyInsuredLoansMember
0us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_ResidentialMortgagePurchaseCreditImpairedFinancingReceivableMember
/ us-gaap_InternalCreditAssessmentAxis
= bac_FullyInsuredLoansMember
Consumer Real Estate | Fully Insured Loans | Core Portfolio Home Equity    
Financing Receivable, Recorded Investment [Line Items]    
Loans and leases 0us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_CorePortfolioHomeEquityFinancingReceivableMember
/ us-gaap_InternalCreditAssessmentAxis
= bac_FullyInsuredLoansMember
0us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_CorePortfolioHomeEquityFinancingReceivableMember
/ us-gaap_InternalCreditAssessmentAxis
= bac_FullyInsuredLoansMember
Consumer Real Estate | Fully Insured Loans | Legacy Assets & Servicing Home Equity    
Financing Receivable, Recorded Investment [Line Items]    
Loans and leases 0us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_LegacyAssetsandServicingPortfolioHomeEquityFinancingReceivableMember
/ us-gaap_InternalCreditAssessmentAxis
= bac_FullyInsuredLoansMember
0us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_LegacyAssetsandServicingPortfolioHomeEquityFinancingReceivableMember
/ us-gaap_InternalCreditAssessmentAxis
= bac_FullyInsuredLoansMember
Consumer Real Estate | Fully Insured Loans | Home Equity PCI    
Financing Receivable, Recorded Investment [Line Items]    
Loans and leases $ 0us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_HomeEquityPurchaseCreditImpairedFinancingReceivableMember
/ us-gaap_InternalCreditAssessmentAxis
= bac_FullyInsuredLoansMember
$ 0us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bac_HomeEquityPurchaseCreditImpairedFinancingReceivableMember
/ us-gaap_InternalCreditAssessmentAxis
= bac_FullyInsuredLoansMember