Allowance for Credit Losses (Details) (USD $) In Millions, unless otherwise specified
|
3 Months Ended |
12 Months Ended |
|
|
|
|
Allowance for Loan and Lease Losses [Roll Forward] |
|
|
|
|
Provision for credit losses |
|
$ 3,139us-gaap_ProvisionForLoanLeaseAndOtherLosses |
$ 225us-gaap_ProvisionForLoanLeaseAndOtherLosses |
$ 3,385us-gaap_ProvisionForLoanLeaseAndOtherLosses |
Loans by Impairment Methodology [Abstract] |
|
|
|
|
Asset-specific |
14,686us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment |
14,686us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment |
17,745us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment |
20,175us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment |
Formula-based |
686,122us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment |
686,122us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment |
653,371us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment |
646,904us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment |
Purchased credit-impaired |
46,700us-gaap_CertainLoansAcquiredInTransferNotAccountedForAsDebtSecuritiesConsumerOutstandingBalance |
46,700us-gaap_CertainLoansAcquiredInTransferNotAccountedForAsDebtSecuritiesConsumerOutstandingBalance |
53,061us-gaap_CertainLoansAcquiredInTransferNotAccountedForAsDebtSecuritiesConsumerOutstandingBalance |
59,756us-gaap_CertainLoansAcquiredInTransferNotAccountedForAsDebtSecuritiesConsumerOutstandingBalance |
Retained loans |
747,508jpm_LoansReceivableHeldForInvestmentNetOfDeferredIncome |
747,508jpm_LoansReceivableHeldForInvestmentNetOfDeferredIncome |
724,177jpm_LoansReceivableHeldForInvestmentNetOfDeferredIncome |
726,835jpm_LoansReceivableHeldForInvestmentNetOfDeferredIncome |
Lending-related commitments by impairment methodology |
|
|
|
|
Asset-specific |
103jpm_OffBalanceSheetLendingRelatedFinancialCommitmentsContractualAmountEvaluatedAtAssetSpecificImpairmentMethodology |
103jpm_OffBalanceSheetLendingRelatedFinancialCommitmentsContractualAmountEvaluatedAtAssetSpecificImpairmentMethodology |
206jpm_OffBalanceSheetLendingRelatedFinancialCommitmentsContractualAmountEvaluatedAtAssetSpecificImpairmentMethodology |
355jpm_OffBalanceSheetLendingRelatedFinancialCommitmentsContractualAmountEvaluatedAtAssetSpecificImpairmentMethodology |
Formula-based |
1,056,069jpm_OffBalanceSheetLendingRelatedFinancialCommitmentsContractualAmountEvaluatedAtFormulaBasedImpairmentMethodology |
1,056,069jpm_OffBalanceSheetLendingRelatedFinancialCommitmentsContractualAmountEvaluatedAtFormulaBasedImpairmentMethodology |
1,031,466jpm_OffBalanceSheetLendingRelatedFinancialCommitmentsContractualAmountEvaluatedAtFormulaBasedImpairmentMethodology |
1,027,633jpm_OffBalanceSheetLendingRelatedFinancialCommitmentsContractualAmountEvaluatedAtFormulaBasedImpairmentMethodology |
Total lending-related commitments |
1,056,172jpm_OffBalanceSheetLendingRelatedFinancialCommitmentsContractualAmount |
1,056,172jpm_OffBalanceSheetLendingRelatedFinancialCommitmentsContractualAmount |
1,031,672jpm_OffBalanceSheetLendingRelatedFinancialCommitmentsContractualAmount |
1,027,988jpm_OffBalanceSheetLendingRelatedFinancialCommitmentsContractualAmount |
Impaired collateral-dependent loans |
|
|
|
|
Allowance for Loan and Lease Losses [Roll Forward] |
|
|
|
|
Allowance for Loan and Lease Losses Write-offs, Net |
|
154us-gaap_AllowanceForLoanAndLeaseLossesWriteoffsNet / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = jpm_ImpairedCollateralDependentLoansMember |
272us-gaap_AllowanceForLoanAndLeaseLossesWriteoffsNet / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = jpm_ImpairedCollateralDependentLoansMember |
1,050us-gaap_AllowanceForLoanAndLeaseLossesWriteoffsNet / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = jpm_ImpairedCollateralDependentLoansMember |
Impaired Collateral Dependent Loans [Abstract] |
|
|
|
|
Loans measured at fair value of collateral less cost to sell |
3,351jpm_LoansAndLeasesReceivableImpairedCollateralDependentLoansAtFairValue / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = jpm_ImpairedCollateralDependentLoansMember |
3,351jpm_LoansAndLeasesReceivableImpairedCollateralDependentLoansAtFairValue / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = jpm_ImpairedCollateralDependentLoansMember |
3,467jpm_LoansAndLeasesReceivableImpairedCollateralDependentLoansAtFairValue / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = jpm_ImpairedCollateralDependentLoansMember |
3,717jpm_LoansAndLeasesReceivableImpairedCollateralDependentLoansAtFairValue / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = jpm_ImpairedCollateralDependentLoansMember |
Allowance for loan losses |
|
|
|
|
Allowance for Loan and Lease Losses [Roll Forward] |
|
|
|
|
Allowance for credit losses, beginning balance |
|
16,264us-gaap_FinancingReceivableAllowanceForCreditLosses / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
21,936us-gaap_FinancingReceivableAllowanceForCreditLosses / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
27,609us-gaap_FinancingReceivableAllowanceForCreditLosses / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
Gross charge-offs |
|
6,114us-gaap_AllowanceForLoanAndLeaseLossesWriteOffs / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
7,467us-gaap_AllowanceForLoanAndLeaseLossesWriteOffs / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
10,906us-gaap_AllowanceForLoanAndLeaseLossesWriteOffs / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
Gross (recoveries) |
|
(1,355)us-gaap_ValuationAllowancesAndReservesRecoveries / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
(1,665)us-gaap_ValuationAllowancesAndReservesRecoveries / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
(1,843)us-gaap_ValuationAllowancesAndReservesRecoveries / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
Allowance for Loan and Lease Losses Write-offs, Net |
|
4,759us-gaap_AllowanceForLoanAndLeaseLossesWriteoffsNet / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
5,802us-gaap_AllowanceForLoanAndLeaseLossesWriteoffsNet / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
9,063us-gaap_AllowanceForLoanAndLeaseLossesWriteoffsNet / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
Provision for credit losses |
|
3,224us-gaap_ProvisionForLoanLeaseAndOtherLosses / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
188us-gaap_ProvisionForLoanLeaseAndOtherLosses / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
3,387us-gaap_ProvisionForLoanLeaseAndOtherLosses / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
Other |
|
(11)us-gaap_AllowanceForLoanAndLeaseLossesAdjustmentsNet / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
(5)us-gaap_AllowanceForLoanAndLeaseLossesAdjustmentsNet / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
3us-gaap_AllowanceForLoanAndLeaseLossesAdjustmentsNet / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
Allowance for credit losses, ending balance |
14,185us-gaap_FinancingReceivableAllowanceForCreditLosses / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
14,185us-gaap_FinancingReceivableAllowanceForCreditLosses / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
16,264us-gaap_FinancingReceivableAllowanceForCreditLosses / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
21,936us-gaap_FinancingReceivableAllowanceForCreditLosses / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
Allowance For Lending Related Commitments, by Impairment Methodology [Abstract] |
|
|
|
|
Asset-specific, allowance |
1,126us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1 / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
1,126us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1 / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
1,753us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1 / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
2,729us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1 / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
Formula-based |
9,734us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
9,734us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
10,353us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
13,496us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
Purchased Credit Impaired |
3,325us-gaap_CertainLoansAndDebtSecuritiesAcquiredInTransferAllowanceForCreditLossesDueToSubsequentImpairment / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
3,325us-gaap_CertainLoansAndDebtSecuritiesAcquiredInTransferAllowanceForCreditLossesDueToSubsequentImpairment / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
4,158us-gaap_CertainLoansAndDebtSecuritiesAcquiredInTransferAllowanceForCreditLossesDueToSubsequentImpairment / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
5,711us-gaap_CertainLoansAndDebtSecuritiesAcquiredInTransferAllowanceForCreditLossesDueToSubsequentImpairment / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
Total allowance for loan losses |
14,185us-gaap_FinancingReceivableAllowanceForCreditLosses / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
14,185us-gaap_FinancingReceivableAllowanceForCreditLosses / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
16,264us-gaap_FinancingReceivableAllowanceForCreditLosses / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
21,936us-gaap_FinancingReceivableAllowanceForCreditLosses / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
Allowance for loan losses | Purchased Credit-Impaired |
|
|
|
|
Allowance for Loan and Lease Losses [Roll Forward] |
|
|
|
|
Gross charge-offs |
|
533us-gaap_AllowanceForLoanAndLeaseLossesWriteOffs / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = jpm_PurchasedCreditImpairedMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
53us-gaap_AllowanceForLoanAndLeaseLossesWriteOffs / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = jpm_PurchasedCreditImpairedMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
0us-gaap_AllowanceForLoanAndLeaseLossesWriteOffs / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = jpm_PurchasedCreditImpairedMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
Allowance for lending-related commitments |
|
|
|
|
Allowance for Loan and Lease Losses [Roll Forward] |
|
|
|
|
Allowance for credit losses, beginning balance |
|
705us-gaap_FinancingReceivableAllowanceForCreditLosses / us-gaap_ValuationAllowancesAndReservesTypeAxis = jpm_AllowanceForLendingRelatedCommitmentsMember |
668us-gaap_FinancingReceivableAllowanceForCreditLosses / us-gaap_ValuationAllowancesAndReservesTypeAxis = jpm_AllowanceForLendingRelatedCommitmentsMember |
673us-gaap_FinancingReceivableAllowanceForCreditLosses / us-gaap_ValuationAllowancesAndReservesTypeAxis = jpm_AllowanceForLendingRelatedCommitmentsMember |
Provision for credit losses |
|
(85)us-gaap_ProvisionForLoanLeaseAndOtherLosses / us-gaap_ValuationAllowancesAndReservesTypeAxis = jpm_AllowanceForLendingRelatedCommitmentsMember |
37us-gaap_ProvisionForLoanLeaseAndOtherLosses / us-gaap_ValuationAllowancesAndReservesTypeAxis = jpm_AllowanceForLendingRelatedCommitmentsMember |
(2)us-gaap_ProvisionForLoanLeaseAndOtherLosses / us-gaap_ValuationAllowancesAndReservesTypeAxis = jpm_AllowanceForLendingRelatedCommitmentsMember |
Other |
|
2us-gaap_AllowanceForLoanAndLeaseLossesAdjustmentsNet / us-gaap_ValuationAllowancesAndReservesTypeAxis = jpm_AllowanceForLendingRelatedCommitmentsMember |
0us-gaap_AllowanceForLoanAndLeaseLossesAdjustmentsNet / us-gaap_ValuationAllowancesAndReservesTypeAxis = jpm_AllowanceForLendingRelatedCommitmentsMember |
(3)us-gaap_AllowanceForLoanAndLeaseLossesAdjustmentsNet / us-gaap_ValuationAllowancesAndReservesTypeAxis = jpm_AllowanceForLendingRelatedCommitmentsMember |
Allowance for credit losses, ending balance |
622us-gaap_FinancingReceivableAllowanceForCreditLosses / us-gaap_ValuationAllowancesAndReservesTypeAxis = jpm_AllowanceForLendingRelatedCommitmentsMember |
622us-gaap_FinancingReceivableAllowanceForCreditLosses / us-gaap_ValuationAllowancesAndReservesTypeAxis = jpm_AllowanceForLendingRelatedCommitmentsMember |
705us-gaap_FinancingReceivableAllowanceForCreditLosses / us-gaap_ValuationAllowancesAndReservesTypeAxis = jpm_AllowanceForLendingRelatedCommitmentsMember |
668us-gaap_FinancingReceivableAllowanceForCreditLosses / us-gaap_ValuationAllowancesAndReservesTypeAxis = jpm_AllowanceForLendingRelatedCommitmentsMember |
Allowance For Lending Related Commitments, by Impairment Methodology [Abstract] |
|
|
|
|
Allowance for Lending-Related Commitments, Evaluated at Asset-Specific Impairment Methodology |
60jpm_AllowanceForLendingRelatedCommitmentsEvaluatedAtAssetSpecificImpairmentMethodology / us-gaap_ValuationAllowancesAndReservesTypeAxis = jpm_AllowanceForLendingRelatedCommitmentsMember |
60jpm_AllowanceForLendingRelatedCommitmentsEvaluatedAtAssetSpecificImpairmentMethodology / us-gaap_ValuationAllowancesAndReservesTypeAxis = jpm_AllowanceForLendingRelatedCommitmentsMember |
60jpm_AllowanceForLendingRelatedCommitmentsEvaluatedAtAssetSpecificImpairmentMethodology / us-gaap_ValuationAllowancesAndReservesTypeAxis = jpm_AllowanceForLendingRelatedCommitmentsMember |
97jpm_AllowanceForLendingRelatedCommitmentsEvaluatedAtAssetSpecificImpairmentMethodology / us-gaap_ValuationAllowancesAndReservesTypeAxis = jpm_AllowanceForLendingRelatedCommitmentsMember |
Allowance for Lending-Related Commitments, Evaluated at Formula-Based Impairment Methodology |
562jpm_AllowanceForLendingRelatedCommitmentsEvaluatedAtFormulaBasedImpairmentMethodology / us-gaap_ValuationAllowancesAndReservesTypeAxis = jpm_AllowanceForLendingRelatedCommitmentsMember |
562jpm_AllowanceForLendingRelatedCommitmentsEvaluatedAtFormulaBasedImpairmentMethodology / us-gaap_ValuationAllowancesAndReservesTypeAxis = jpm_AllowanceForLendingRelatedCommitmentsMember |
645jpm_AllowanceForLendingRelatedCommitmentsEvaluatedAtFormulaBasedImpairmentMethodology / us-gaap_ValuationAllowancesAndReservesTypeAxis = jpm_AllowanceForLendingRelatedCommitmentsMember |
571jpm_AllowanceForLendingRelatedCommitmentsEvaluatedAtFormulaBasedImpairmentMethodology / us-gaap_ValuationAllowancesAndReservesTypeAxis = jpm_AllowanceForLendingRelatedCommitmentsMember |
Total allowance for loan losses |
622us-gaap_FinancingReceivableAllowanceForCreditLosses / us-gaap_ValuationAllowancesAndReservesTypeAxis = jpm_AllowanceForLendingRelatedCommitmentsMember |
622us-gaap_FinancingReceivableAllowanceForCreditLosses / us-gaap_ValuationAllowancesAndReservesTypeAxis = jpm_AllowanceForLendingRelatedCommitmentsMember |
705us-gaap_FinancingReceivableAllowanceForCreditLosses / us-gaap_ValuationAllowancesAndReservesTypeAxis = jpm_AllowanceForLendingRelatedCommitmentsMember |
668us-gaap_FinancingReceivableAllowanceForCreditLosses / us-gaap_ValuationAllowancesAndReservesTypeAxis = jpm_AllowanceForLendingRelatedCommitmentsMember |
Consumer, excluding credit card |
|
|
|
|
Loans by Impairment Methodology [Abstract] |
|
|
|
|
Asset-specific |
12,020us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment / jpm_PortfolioSegmentAxis = jpm_ConsumerExcludingCreditCardLoanPortfolioSegmentMember |
12,020us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment / jpm_PortfolioSegmentAxis = jpm_ConsumerExcludingCreditCardLoanPortfolioSegmentMember |
13,785us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment / jpm_PortfolioSegmentAxis = jpm_ConsumerExcludingCreditCardLoanPortfolioSegmentMember |
13,938us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment / jpm_PortfolioSegmentAxis = jpm_ConsumerExcludingCreditCardLoanPortfolioSegmentMember |
Formula-based |
236,263us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment / jpm_PortfolioSegmentAxis = jpm_ConsumerExcludingCreditCardLoanPortfolioSegmentMember |
236,263us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment / jpm_PortfolioSegmentAxis = jpm_ConsumerExcludingCreditCardLoanPortfolioSegmentMember |
221,609us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment / jpm_PortfolioSegmentAxis = jpm_ConsumerExcludingCreditCardLoanPortfolioSegmentMember |
218,945us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment / jpm_PortfolioSegmentAxis = jpm_ConsumerExcludingCreditCardLoanPortfolioSegmentMember |
Purchased credit-impaired |
46,696us-gaap_CertainLoansAcquiredInTransferNotAccountedForAsDebtSecuritiesConsumerOutstandingBalance / jpm_PortfolioSegmentAxis = jpm_ConsumerExcludingCreditCardLoanPortfolioSegmentMember |
46,696us-gaap_CertainLoansAcquiredInTransferNotAccountedForAsDebtSecuritiesConsumerOutstandingBalance / jpm_PortfolioSegmentAxis = jpm_ConsumerExcludingCreditCardLoanPortfolioSegmentMember |
53,055us-gaap_CertainLoansAcquiredInTransferNotAccountedForAsDebtSecuritiesConsumerOutstandingBalance / jpm_PortfolioSegmentAxis = jpm_ConsumerExcludingCreditCardLoanPortfolioSegmentMember |
59,737us-gaap_CertainLoansAcquiredInTransferNotAccountedForAsDebtSecuritiesConsumerOutstandingBalance / jpm_PortfolioSegmentAxis = jpm_ConsumerExcludingCreditCardLoanPortfolioSegmentMember |
Retained loans |
294,979jpm_LoansReceivableHeldForInvestmentNetOfDeferredIncome / jpm_PortfolioSegmentAxis = jpm_ConsumerExcludingCreditCardLoanPortfolioSegmentMember |
294,979jpm_LoansReceivableHeldForInvestmentNetOfDeferredIncome / jpm_PortfolioSegmentAxis = jpm_ConsumerExcludingCreditCardLoanPortfolioSegmentMember |
288,449jpm_LoansReceivableHeldForInvestmentNetOfDeferredIncome / jpm_PortfolioSegmentAxis = jpm_ConsumerExcludingCreditCardLoanPortfolioSegmentMember |
292,620jpm_LoansReceivableHeldForInvestmentNetOfDeferredIncome / jpm_PortfolioSegmentAxis = jpm_ConsumerExcludingCreditCardLoanPortfolioSegmentMember |
Lending-related commitments by impairment methodology |
|
|
|
|
Asset-specific |
0jpm_OffBalanceSheetLendingRelatedFinancialCommitmentsContractualAmountEvaluatedAtAssetSpecificImpairmentMethodology / jpm_PortfolioSegmentAxis = jpm_ConsumerExcludingCreditCardLoanPortfolioSegmentMember |
0jpm_OffBalanceSheetLendingRelatedFinancialCommitmentsContractualAmountEvaluatedAtAssetSpecificImpairmentMethodology / jpm_PortfolioSegmentAxis = jpm_ConsumerExcludingCreditCardLoanPortfolioSegmentMember |
0jpm_OffBalanceSheetLendingRelatedFinancialCommitmentsContractualAmountEvaluatedAtAssetSpecificImpairmentMethodology / jpm_PortfolioSegmentAxis = jpm_ConsumerExcludingCreditCardLoanPortfolioSegmentMember |
0jpm_OffBalanceSheetLendingRelatedFinancialCommitmentsContractualAmountEvaluatedAtAssetSpecificImpairmentMethodology / jpm_PortfolioSegmentAxis = jpm_ConsumerExcludingCreditCardLoanPortfolioSegmentMember |
Formula-based |
58,153jpm_OffBalanceSheetLendingRelatedFinancialCommitmentsContractualAmountEvaluatedAtFormulaBasedImpairmentMethodology / jpm_PortfolioSegmentAxis = jpm_ConsumerExcludingCreditCardLoanPortfolioSegmentMember |
58,153jpm_OffBalanceSheetLendingRelatedFinancialCommitmentsContractualAmountEvaluatedAtFormulaBasedImpairmentMethodology / jpm_PortfolioSegmentAxis = jpm_ConsumerExcludingCreditCardLoanPortfolioSegmentMember |
56,057jpm_OffBalanceSheetLendingRelatedFinancialCommitmentsContractualAmountEvaluatedAtFormulaBasedImpairmentMethodology / jpm_PortfolioSegmentAxis = jpm_ConsumerExcludingCreditCardLoanPortfolioSegmentMember |
60,156jpm_OffBalanceSheetLendingRelatedFinancialCommitmentsContractualAmountEvaluatedAtFormulaBasedImpairmentMethodology / jpm_PortfolioSegmentAxis = jpm_ConsumerExcludingCreditCardLoanPortfolioSegmentMember |
Total lending-related commitments |
58,153jpm_OffBalanceSheetLendingRelatedFinancialCommitmentsContractualAmount / jpm_PortfolioSegmentAxis = jpm_ConsumerExcludingCreditCardLoanPortfolioSegmentMember |
58,153jpm_OffBalanceSheetLendingRelatedFinancialCommitmentsContractualAmount / jpm_PortfolioSegmentAxis = jpm_ConsumerExcludingCreditCardLoanPortfolioSegmentMember |
56,057jpm_OffBalanceSheetLendingRelatedFinancialCommitmentsContractualAmount / jpm_PortfolioSegmentAxis = jpm_ConsumerExcludingCreditCardLoanPortfolioSegmentMember |
60,156jpm_OffBalanceSheetLendingRelatedFinancialCommitmentsContractualAmount / jpm_PortfolioSegmentAxis = jpm_ConsumerExcludingCreditCardLoanPortfolioSegmentMember |
Consumer, excluding credit card | Purchased Credit-Impaired |
|
|
|
|
Loans by Impairment Methodology [Abstract] |
|
|
|
|
Retained loans |
46,696jpm_LoansReceivableHeldForInvestmentNetOfDeferredIncome / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = jpm_PurchasedCreditImpairedMember / jpm_PortfolioSegmentAxis = jpm_ConsumerExcludingCreditCardLoanPortfolioSegmentMember |
46,696jpm_LoansReceivableHeldForInvestmentNetOfDeferredIncome / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = jpm_PurchasedCreditImpairedMember / jpm_PortfolioSegmentAxis = jpm_ConsumerExcludingCreditCardLoanPortfolioSegmentMember |
53,055jpm_LoansReceivableHeldForInvestmentNetOfDeferredIncome / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = jpm_PurchasedCreditImpairedMember / jpm_PortfolioSegmentAxis = jpm_ConsumerExcludingCreditCardLoanPortfolioSegmentMember |
|
Consumer, excluding credit card | Impaired collateral-dependent loans |
|
|
|
|
Allowance for Loan and Lease Losses [Roll Forward] |
|
|
|
|
Allowance for Loan and Lease Losses Write-offs, Net |
|
133us-gaap_AllowanceForLoanAndLeaseLossesWriteoffsNet / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = jpm_ImpairedCollateralDependentLoansMember / jpm_PortfolioSegmentAxis = jpm_ConsumerExcludingCreditCardLoanPortfolioSegmentMember |
235us-gaap_AllowanceForLoanAndLeaseLossesWriteoffsNet / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = jpm_ImpairedCollateralDependentLoansMember / jpm_PortfolioSegmentAxis = jpm_ConsumerExcludingCreditCardLoanPortfolioSegmentMember |
973us-gaap_AllowanceForLoanAndLeaseLossesWriteoffsNet / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = jpm_ImpairedCollateralDependentLoansMember / jpm_PortfolioSegmentAxis = jpm_ConsumerExcludingCreditCardLoanPortfolioSegmentMember |
Impaired Collateral Dependent Loans [Abstract] |
|
|
|
|
Loans measured at fair value of collateral less cost to sell |
3,025jpm_LoansAndLeasesReceivableImpairedCollateralDependentLoansAtFairValue / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = jpm_ImpairedCollateralDependentLoansMember / jpm_PortfolioSegmentAxis = jpm_ConsumerExcludingCreditCardLoanPortfolioSegmentMember |
3,025jpm_LoansAndLeasesReceivableImpairedCollateralDependentLoansAtFairValue / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = jpm_ImpairedCollateralDependentLoansMember / jpm_PortfolioSegmentAxis = jpm_ConsumerExcludingCreditCardLoanPortfolioSegmentMember |
3,105jpm_LoansAndLeasesReceivableImpairedCollateralDependentLoansAtFairValue / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = jpm_ImpairedCollateralDependentLoansMember / jpm_PortfolioSegmentAxis = jpm_ConsumerExcludingCreditCardLoanPortfolioSegmentMember |
3,272jpm_LoansAndLeasesReceivableImpairedCollateralDependentLoansAtFairValue / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = jpm_ImpairedCollateralDependentLoansMember / jpm_PortfolioSegmentAxis = jpm_ConsumerExcludingCreditCardLoanPortfolioSegmentMember |
Consumer, excluding credit card | Allowance for loan losses |
|
|
|
|
Allowance for Loan and Lease Losses [Roll Forward] |
|
|
|
|
Allowance for credit losses, beginning balance |
|
8,456us-gaap_FinancingReceivableAllowanceForCreditLosses / jpm_PortfolioSegmentAxis = jpm_ConsumerExcludingCreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
12,292us-gaap_FinancingReceivableAllowanceForCreditLosses / jpm_PortfolioSegmentAxis = jpm_ConsumerExcludingCreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
16,294us-gaap_FinancingReceivableAllowanceForCreditLosses / jpm_PortfolioSegmentAxis = jpm_ConsumerExcludingCreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
Gross charge-offs |
|
2,132us-gaap_AllowanceForLoanAndLeaseLossesWriteOffs / jpm_PortfolioSegmentAxis = jpm_ConsumerExcludingCreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
2,754us-gaap_AllowanceForLoanAndLeaseLossesWriteOffs / jpm_PortfolioSegmentAxis = jpm_ConsumerExcludingCreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
4,805us-gaap_AllowanceForLoanAndLeaseLossesWriteOffs / jpm_PortfolioSegmentAxis = jpm_ConsumerExcludingCreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
Gross (recoveries) |
|
(814)us-gaap_ValuationAllowancesAndReservesRecoveries / jpm_PortfolioSegmentAxis = jpm_ConsumerExcludingCreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
(847)us-gaap_ValuationAllowancesAndReservesRecoveries / jpm_PortfolioSegmentAxis = jpm_ConsumerExcludingCreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
(508)us-gaap_ValuationAllowancesAndReservesRecoveries / jpm_PortfolioSegmentAxis = jpm_ConsumerExcludingCreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
Allowance for Loan and Lease Losses Write-offs, Net |
|
1,318us-gaap_AllowanceForLoanAndLeaseLossesWriteoffsNet / jpm_PortfolioSegmentAxis = jpm_ConsumerExcludingCreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
1,907us-gaap_AllowanceForLoanAndLeaseLossesWriteoffsNet / jpm_PortfolioSegmentAxis = jpm_ConsumerExcludingCreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
4,297us-gaap_AllowanceForLoanAndLeaseLossesWriteoffsNet / jpm_PortfolioSegmentAxis = jpm_ConsumerExcludingCreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
Provision for credit losses |
|
414us-gaap_ProvisionForLoanLeaseAndOtherLosses / jpm_PortfolioSegmentAxis = jpm_ConsumerExcludingCreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
(1,872)us-gaap_ProvisionForLoanLeaseAndOtherLosses / jpm_PortfolioSegmentAxis = jpm_ConsumerExcludingCreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
302us-gaap_ProvisionForLoanLeaseAndOtherLosses / jpm_PortfolioSegmentAxis = jpm_ConsumerExcludingCreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
Other |
|
31us-gaap_AllowanceForLoanAndLeaseLossesAdjustmentsNet / jpm_PortfolioSegmentAxis = jpm_ConsumerExcludingCreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
(4)us-gaap_AllowanceForLoanAndLeaseLossesAdjustmentsNet / jpm_PortfolioSegmentAxis = jpm_ConsumerExcludingCreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
(7)us-gaap_AllowanceForLoanAndLeaseLossesAdjustmentsNet / jpm_PortfolioSegmentAxis = jpm_ConsumerExcludingCreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
Allowance for credit losses, ending balance |
7,050us-gaap_FinancingReceivableAllowanceForCreditLosses / jpm_PortfolioSegmentAxis = jpm_ConsumerExcludingCreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
7,050us-gaap_FinancingReceivableAllowanceForCreditLosses / jpm_PortfolioSegmentAxis = jpm_ConsumerExcludingCreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
8,456us-gaap_FinancingReceivableAllowanceForCreditLosses / jpm_PortfolioSegmentAxis = jpm_ConsumerExcludingCreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
12,292us-gaap_FinancingReceivableAllowanceForCreditLosses / jpm_PortfolioSegmentAxis = jpm_ConsumerExcludingCreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
Allowance For Lending Related Commitments, by Impairment Methodology [Abstract] |
|
|
|
|
Asset-specific, allowance |
539us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1 / jpm_PortfolioSegmentAxis = jpm_ConsumerExcludingCreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
539us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1 / jpm_PortfolioSegmentAxis = jpm_ConsumerExcludingCreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
601us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1 / jpm_PortfolioSegmentAxis = jpm_ConsumerExcludingCreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
729us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1 / jpm_PortfolioSegmentAxis = jpm_ConsumerExcludingCreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
Formula-based |
3,186us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment / jpm_PortfolioSegmentAxis = jpm_ConsumerExcludingCreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
3,186us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment / jpm_PortfolioSegmentAxis = jpm_ConsumerExcludingCreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
3,697us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment / jpm_PortfolioSegmentAxis = jpm_ConsumerExcludingCreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
5,852us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment / jpm_PortfolioSegmentAxis = jpm_ConsumerExcludingCreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
Purchased Credit Impaired |
3,325us-gaap_CertainLoansAndDebtSecuritiesAcquiredInTransferAllowanceForCreditLossesDueToSubsequentImpairment / jpm_PortfolioSegmentAxis = jpm_ConsumerExcludingCreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
3,325us-gaap_CertainLoansAndDebtSecuritiesAcquiredInTransferAllowanceForCreditLossesDueToSubsequentImpairment / jpm_PortfolioSegmentAxis = jpm_ConsumerExcludingCreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
4,158us-gaap_CertainLoansAndDebtSecuritiesAcquiredInTransferAllowanceForCreditLossesDueToSubsequentImpairment / jpm_PortfolioSegmentAxis = jpm_ConsumerExcludingCreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
5,711us-gaap_CertainLoansAndDebtSecuritiesAcquiredInTransferAllowanceForCreditLossesDueToSubsequentImpairment / jpm_PortfolioSegmentAxis = jpm_ConsumerExcludingCreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
Total allowance for loan losses |
7,050us-gaap_FinancingReceivableAllowanceForCreditLosses / jpm_PortfolioSegmentAxis = jpm_ConsumerExcludingCreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
7,050us-gaap_FinancingReceivableAllowanceForCreditLosses / jpm_PortfolioSegmentAxis = jpm_ConsumerExcludingCreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
8,456us-gaap_FinancingReceivableAllowanceForCreditLosses / jpm_PortfolioSegmentAxis = jpm_ConsumerExcludingCreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
12,292us-gaap_FinancingReceivableAllowanceForCreditLosses / jpm_PortfolioSegmentAxis = jpm_ConsumerExcludingCreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
Consumer, excluding credit card | Allowance for loan losses | Purchased Credit-Impaired |
|
|
|
|
Allowance for Loan and Lease Losses [Roll Forward] |
|
|
|
|
Gross charge-offs |
291us-gaap_AllowanceForLoanAndLeaseLossesWriteOffs / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = jpm_PurchasedCreditImpairedMember / jpm_PortfolioSegmentAxis = jpm_ConsumerExcludingCreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
533us-gaap_AllowanceForLoanAndLeaseLossesWriteOffs / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = jpm_PurchasedCreditImpairedMember / jpm_PortfolioSegmentAxis = jpm_ConsumerExcludingCreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
53us-gaap_AllowanceForLoanAndLeaseLossesWriteOffs / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = jpm_PurchasedCreditImpairedMember / jpm_PortfolioSegmentAxis = jpm_ConsumerExcludingCreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
0us-gaap_AllowanceForLoanAndLeaseLossesWriteOffs / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = jpm_PurchasedCreditImpairedMember / jpm_PortfolioSegmentAxis = jpm_ConsumerExcludingCreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
Consumer, excluding credit card | Allowance for lending-related commitments |
|
|
|
|
Allowance for Loan and Lease Losses [Roll Forward] |
|
|
|
|
Allowance for credit losses, beginning balance |
|
8us-gaap_FinancingReceivableAllowanceForCreditLosses / jpm_PortfolioSegmentAxis = jpm_ConsumerExcludingCreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = jpm_AllowanceForLendingRelatedCommitmentsMember |
7us-gaap_FinancingReceivableAllowanceForCreditLosses / jpm_PortfolioSegmentAxis = jpm_ConsumerExcludingCreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = jpm_AllowanceForLendingRelatedCommitmentsMember |
7us-gaap_FinancingReceivableAllowanceForCreditLosses / jpm_PortfolioSegmentAxis = jpm_ConsumerExcludingCreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = jpm_AllowanceForLendingRelatedCommitmentsMember |
Provision for credit losses |
|
5us-gaap_ProvisionForLoanLeaseAndOtherLosses / jpm_PortfolioSegmentAxis = jpm_ConsumerExcludingCreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = jpm_AllowanceForLendingRelatedCommitmentsMember |
1us-gaap_ProvisionForLoanLeaseAndOtherLosses / jpm_PortfolioSegmentAxis = jpm_ConsumerExcludingCreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = jpm_AllowanceForLendingRelatedCommitmentsMember |
0us-gaap_ProvisionForLoanLeaseAndOtherLosses / jpm_PortfolioSegmentAxis = jpm_ConsumerExcludingCreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = jpm_AllowanceForLendingRelatedCommitmentsMember |
Other |
|
0us-gaap_AllowanceForLoanAndLeaseLossesAdjustmentsNet / jpm_PortfolioSegmentAxis = jpm_ConsumerExcludingCreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = jpm_AllowanceForLendingRelatedCommitmentsMember |
0us-gaap_AllowanceForLoanAndLeaseLossesAdjustmentsNet / jpm_PortfolioSegmentAxis = jpm_ConsumerExcludingCreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = jpm_AllowanceForLendingRelatedCommitmentsMember |
0us-gaap_AllowanceForLoanAndLeaseLossesAdjustmentsNet / jpm_PortfolioSegmentAxis = jpm_ConsumerExcludingCreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = jpm_AllowanceForLendingRelatedCommitmentsMember |
Allowance for credit losses, ending balance |
13us-gaap_FinancingReceivableAllowanceForCreditLosses / jpm_PortfolioSegmentAxis = jpm_ConsumerExcludingCreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = jpm_AllowanceForLendingRelatedCommitmentsMember |
13us-gaap_FinancingReceivableAllowanceForCreditLosses / jpm_PortfolioSegmentAxis = jpm_ConsumerExcludingCreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = jpm_AllowanceForLendingRelatedCommitmentsMember |
8us-gaap_FinancingReceivableAllowanceForCreditLosses / jpm_PortfolioSegmentAxis = jpm_ConsumerExcludingCreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = jpm_AllowanceForLendingRelatedCommitmentsMember |
7us-gaap_FinancingReceivableAllowanceForCreditLosses / jpm_PortfolioSegmentAxis = jpm_ConsumerExcludingCreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = jpm_AllowanceForLendingRelatedCommitmentsMember |
Allowance For Lending Related Commitments, by Impairment Methodology [Abstract] |
|
|
|
|
Allowance for Lending-Related Commitments, Evaluated at Asset-Specific Impairment Methodology |
0jpm_AllowanceForLendingRelatedCommitmentsEvaluatedAtAssetSpecificImpairmentMethodology / jpm_PortfolioSegmentAxis = jpm_ConsumerExcludingCreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = jpm_AllowanceForLendingRelatedCommitmentsMember |
0jpm_AllowanceForLendingRelatedCommitmentsEvaluatedAtAssetSpecificImpairmentMethodology / jpm_PortfolioSegmentAxis = jpm_ConsumerExcludingCreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = jpm_AllowanceForLendingRelatedCommitmentsMember |
0jpm_AllowanceForLendingRelatedCommitmentsEvaluatedAtAssetSpecificImpairmentMethodology / jpm_PortfolioSegmentAxis = jpm_ConsumerExcludingCreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = jpm_AllowanceForLendingRelatedCommitmentsMember |
0jpm_AllowanceForLendingRelatedCommitmentsEvaluatedAtAssetSpecificImpairmentMethodology / jpm_PortfolioSegmentAxis = jpm_ConsumerExcludingCreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = jpm_AllowanceForLendingRelatedCommitmentsMember |
Allowance for Lending-Related Commitments, Evaluated at Formula-Based Impairment Methodology |
13jpm_AllowanceForLendingRelatedCommitmentsEvaluatedAtFormulaBasedImpairmentMethodology / jpm_PortfolioSegmentAxis = jpm_ConsumerExcludingCreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = jpm_AllowanceForLendingRelatedCommitmentsMember |
13jpm_AllowanceForLendingRelatedCommitmentsEvaluatedAtFormulaBasedImpairmentMethodology / jpm_PortfolioSegmentAxis = jpm_ConsumerExcludingCreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = jpm_AllowanceForLendingRelatedCommitmentsMember |
8jpm_AllowanceForLendingRelatedCommitmentsEvaluatedAtFormulaBasedImpairmentMethodology / jpm_PortfolioSegmentAxis = jpm_ConsumerExcludingCreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = jpm_AllowanceForLendingRelatedCommitmentsMember |
7jpm_AllowanceForLendingRelatedCommitmentsEvaluatedAtFormulaBasedImpairmentMethodology / jpm_PortfolioSegmentAxis = jpm_ConsumerExcludingCreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = jpm_AllowanceForLendingRelatedCommitmentsMember |
Total allowance for loan losses |
13us-gaap_FinancingReceivableAllowanceForCreditLosses / jpm_PortfolioSegmentAxis = jpm_ConsumerExcludingCreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = jpm_AllowanceForLendingRelatedCommitmentsMember |
13us-gaap_FinancingReceivableAllowanceForCreditLosses / jpm_PortfolioSegmentAxis = jpm_ConsumerExcludingCreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = jpm_AllowanceForLendingRelatedCommitmentsMember |
8us-gaap_FinancingReceivableAllowanceForCreditLosses / jpm_PortfolioSegmentAxis = jpm_ConsumerExcludingCreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = jpm_AllowanceForLendingRelatedCommitmentsMember |
7us-gaap_FinancingReceivableAllowanceForCreditLosses / jpm_PortfolioSegmentAxis = jpm_ConsumerExcludingCreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = jpm_AllowanceForLendingRelatedCommitmentsMember |
Credit card |
|
|
|
|
Loans by Impairment Methodology [Abstract] |
|
|
|
|
Asset-specific |
2,029us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment / jpm_PortfolioSegmentAxis = jpm_CreditCardLoanPortfolioSegmentMember |
2,029us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment / jpm_PortfolioSegmentAxis = jpm_CreditCardLoanPortfolioSegmentMember |
3,115us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment / jpm_PortfolioSegmentAxis = jpm_CreditCardLoanPortfolioSegmentMember |
4,762us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment / jpm_PortfolioSegmentAxis = jpm_CreditCardLoanPortfolioSegmentMember |
Formula-based |
125,998us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment / jpm_PortfolioSegmentAxis = jpm_CreditCardLoanPortfolioSegmentMember |
125,998us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment / jpm_PortfolioSegmentAxis = jpm_CreditCardLoanPortfolioSegmentMember |
124,350us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment / jpm_PortfolioSegmentAxis = jpm_CreditCardLoanPortfolioSegmentMember |
123,231us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment / jpm_PortfolioSegmentAxis = jpm_CreditCardLoanPortfolioSegmentMember |
Purchased credit-impaired |
0us-gaap_CertainLoansAcquiredInTransferNotAccountedForAsDebtSecuritiesConsumerOutstandingBalance / jpm_PortfolioSegmentAxis = jpm_CreditCardLoanPortfolioSegmentMember |
0us-gaap_CertainLoansAcquiredInTransferNotAccountedForAsDebtSecuritiesConsumerOutstandingBalance / jpm_PortfolioSegmentAxis = jpm_CreditCardLoanPortfolioSegmentMember |
0us-gaap_CertainLoansAcquiredInTransferNotAccountedForAsDebtSecuritiesConsumerOutstandingBalance / jpm_PortfolioSegmentAxis = jpm_CreditCardLoanPortfolioSegmentMember |
0us-gaap_CertainLoansAcquiredInTransferNotAccountedForAsDebtSecuritiesConsumerOutstandingBalance / jpm_PortfolioSegmentAxis = jpm_CreditCardLoanPortfolioSegmentMember |
Retained loans |
128,027jpm_LoansReceivableHeldForInvestmentNetOfDeferredIncome / jpm_PortfolioSegmentAxis = jpm_CreditCardLoanPortfolioSegmentMember |
128,027jpm_LoansReceivableHeldForInvestmentNetOfDeferredIncome / jpm_PortfolioSegmentAxis = jpm_CreditCardLoanPortfolioSegmentMember |
127,465jpm_LoansReceivableHeldForInvestmentNetOfDeferredIncome / jpm_PortfolioSegmentAxis = jpm_CreditCardLoanPortfolioSegmentMember |
127,993jpm_LoansReceivableHeldForInvestmentNetOfDeferredIncome / jpm_PortfolioSegmentAxis = jpm_CreditCardLoanPortfolioSegmentMember |
Lending-related commitments by impairment methodology |
|
|
|
|
Asset-specific |
0jpm_OffBalanceSheetLendingRelatedFinancialCommitmentsContractualAmountEvaluatedAtAssetSpecificImpairmentMethodology / jpm_PortfolioSegmentAxis = jpm_CreditCardLoanPortfolioSegmentMember |
0jpm_OffBalanceSheetLendingRelatedFinancialCommitmentsContractualAmountEvaluatedAtAssetSpecificImpairmentMethodology / jpm_PortfolioSegmentAxis = jpm_CreditCardLoanPortfolioSegmentMember |
0jpm_OffBalanceSheetLendingRelatedFinancialCommitmentsContractualAmountEvaluatedAtAssetSpecificImpairmentMethodology / jpm_PortfolioSegmentAxis = jpm_CreditCardLoanPortfolioSegmentMember |
0jpm_OffBalanceSheetLendingRelatedFinancialCommitmentsContractualAmountEvaluatedAtAssetSpecificImpairmentMethodology / jpm_PortfolioSegmentAxis = jpm_CreditCardLoanPortfolioSegmentMember |
Formula-based |
525,963jpm_OffBalanceSheetLendingRelatedFinancialCommitmentsContractualAmountEvaluatedAtFormulaBasedImpairmentMethodology / jpm_PortfolioSegmentAxis = jpm_CreditCardLoanPortfolioSegmentMember |
525,963jpm_OffBalanceSheetLendingRelatedFinancialCommitmentsContractualAmountEvaluatedAtFormulaBasedImpairmentMethodology / jpm_PortfolioSegmentAxis = jpm_CreditCardLoanPortfolioSegmentMember |
529,383jpm_OffBalanceSheetLendingRelatedFinancialCommitmentsContractualAmountEvaluatedAtFormulaBasedImpairmentMethodology / jpm_PortfolioSegmentAxis = jpm_CreditCardLoanPortfolioSegmentMember |
533,018jpm_OffBalanceSheetLendingRelatedFinancialCommitmentsContractualAmountEvaluatedAtFormulaBasedImpairmentMethodology / jpm_PortfolioSegmentAxis = jpm_CreditCardLoanPortfolioSegmentMember |
Total lending-related commitments |
525,963jpm_OffBalanceSheetLendingRelatedFinancialCommitmentsContractualAmount / jpm_PortfolioSegmentAxis = jpm_CreditCardLoanPortfolioSegmentMember |
525,963jpm_OffBalanceSheetLendingRelatedFinancialCommitmentsContractualAmount / jpm_PortfolioSegmentAxis = jpm_CreditCardLoanPortfolioSegmentMember |
529,383jpm_OffBalanceSheetLendingRelatedFinancialCommitmentsContractualAmount / jpm_PortfolioSegmentAxis = jpm_CreditCardLoanPortfolioSegmentMember |
533,018jpm_OffBalanceSheetLendingRelatedFinancialCommitmentsContractualAmount / jpm_PortfolioSegmentAxis = jpm_CreditCardLoanPortfolioSegmentMember |
Credit card | Impaired collateral-dependent loans |
|
|
|
|
Allowance for Loan and Lease Losses [Roll Forward] |
|
|
|
|
Allowance for Loan and Lease Losses Write-offs, Net |
|
0us-gaap_AllowanceForLoanAndLeaseLossesWriteoffsNet / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = jpm_ImpairedCollateralDependentLoansMember / jpm_PortfolioSegmentAxis = jpm_CreditCardLoanPortfolioSegmentMember |
0us-gaap_AllowanceForLoanAndLeaseLossesWriteoffsNet / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = jpm_ImpairedCollateralDependentLoansMember / jpm_PortfolioSegmentAxis = jpm_CreditCardLoanPortfolioSegmentMember |
0us-gaap_AllowanceForLoanAndLeaseLossesWriteoffsNet / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = jpm_ImpairedCollateralDependentLoansMember / jpm_PortfolioSegmentAxis = jpm_CreditCardLoanPortfolioSegmentMember |
Impaired Collateral Dependent Loans [Abstract] |
|
|
|
|
Loans measured at fair value of collateral less cost to sell |
0jpm_LoansAndLeasesReceivableImpairedCollateralDependentLoansAtFairValue / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = jpm_ImpairedCollateralDependentLoansMember / jpm_PortfolioSegmentAxis = jpm_CreditCardLoanPortfolioSegmentMember |
0jpm_LoansAndLeasesReceivableImpairedCollateralDependentLoansAtFairValue / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = jpm_ImpairedCollateralDependentLoansMember / jpm_PortfolioSegmentAxis = jpm_CreditCardLoanPortfolioSegmentMember |
0jpm_LoansAndLeasesReceivableImpairedCollateralDependentLoansAtFairValue / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = jpm_ImpairedCollateralDependentLoansMember / jpm_PortfolioSegmentAxis = jpm_CreditCardLoanPortfolioSegmentMember |
0jpm_LoansAndLeasesReceivableImpairedCollateralDependentLoansAtFairValue / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = jpm_ImpairedCollateralDependentLoansMember / jpm_PortfolioSegmentAxis = jpm_CreditCardLoanPortfolioSegmentMember |
Credit card | Allowance for loan losses |
|
|
|
|
Allowance for Loan and Lease Losses [Roll Forward] |
|
|
|
|
Allowance for credit losses, beginning balance |
|
3,795us-gaap_FinancingReceivableAllowanceForCreditLosses / jpm_PortfolioSegmentAxis = jpm_CreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
5,501us-gaap_FinancingReceivableAllowanceForCreditLosses / jpm_PortfolioSegmentAxis = jpm_CreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
6,999us-gaap_FinancingReceivableAllowanceForCreditLosses / jpm_PortfolioSegmentAxis = jpm_CreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
Gross charge-offs |
|
3,831us-gaap_AllowanceForLoanAndLeaseLossesWriteOffs / jpm_PortfolioSegmentAxis = jpm_CreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
4,472us-gaap_AllowanceForLoanAndLeaseLossesWriteOffs / jpm_PortfolioSegmentAxis = jpm_CreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
5,755us-gaap_AllowanceForLoanAndLeaseLossesWriteOffs / jpm_PortfolioSegmentAxis = jpm_CreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
Gross (recoveries) |
|
(402)us-gaap_ValuationAllowancesAndReservesRecoveries / jpm_PortfolioSegmentAxis = jpm_CreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
(593)us-gaap_ValuationAllowancesAndReservesRecoveries / jpm_PortfolioSegmentAxis = jpm_CreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
(811)us-gaap_ValuationAllowancesAndReservesRecoveries / jpm_PortfolioSegmentAxis = jpm_CreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
Allowance for Loan and Lease Losses Write-offs, Net |
|
3,429us-gaap_AllowanceForLoanAndLeaseLossesWriteoffsNet / jpm_PortfolioSegmentAxis = jpm_CreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
3,879us-gaap_AllowanceForLoanAndLeaseLossesWriteoffsNet / jpm_PortfolioSegmentAxis = jpm_CreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
4,944us-gaap_AllowanceForLoanAndLeaseLossesWriteoffsNet / jpm_PortfolioSegmentAxis = jpm_CreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
Provision for credit losses |
|
3,079us-gaap_ProvisionForLoanLeaseAndOtherLosses / jpm_PortfolioSegmentAxis = jpm_CreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
2,179us-gaap_ProvisionForLoanLeaseAndOtherLosses / jpm_PortfolioSegmentAxis = jpm_CreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
3,444us-gaap_ProvisionForLoanLeaseAndOtherLosses / jpm_PortfolioSegmentAxis = jpm_CreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
Other |
|
(6)us-gaap_AllowanceForLoanAndLeaseLossesAdjustmentsNet / jpm_PortfolioSegmentAxis = jpm_CreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
(6)us-gaap_AllowanceForLoanAndLeaseLossesAdjustmentsNet / jpm_PortfolioSegmentAxis = jpm_CreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
2us-gaap_AllowanceForLoanAndLeaseLossesAdjustmentsNet / jpm_PortfolioSegmentAxis = jpm_CreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
Allowance for credit losses, ending balance |
3,439us-gaap_FinancingReceivableAllowanceForCreditLosses / jpm_PortfolioSegmentAxis = jpm_CreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
3,439us-gaap_FinancingReceivableAllowanceForCreditLosses / jpm_PortfolioSegmentAxis = jpm_CreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
3,795us-gaap_FinancingReceivableAllowanceForCreditLosses / jpm_PortfolioSegmentAxis = jpm_CreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
5,501us-gaap_FinancingReceivableAllowanceForCreditLosses / jpm_PortfolioSegmentAxis = jpm_CreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
Allowance For Lending Related Commitments, by Impairment Methodology [Abstract] |
|
|
|
|
Asset-specific, allowance |
500us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1 / jpm_PortfolioSegmentAxis = jpm_CreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
500us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1 / jpm_PortfolioSegmentAxis = jpm_CreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
971us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1 / jpm_PortfolioSegmentAxis = jpm_CreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
1,681us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1 / jpm_PortfolioSegmentAxis = jpm_CreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
Formula-based |
2,939us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment / jpm_PortfolioSegmentAxis = jpm_CreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
2,939us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment / jpm_PortfolioSegmentAxis = jpm_CreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
2,824us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment / jpm_PortfolioSegmentAxis = jpm_CreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
3,820us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment / jpm_PortfolioSegmentAxis = jpm_CreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
Purchased Credit Impaired |
0us-gaap_CertainLoansAndDebtSecuritiesAcquiredInTransferAllowanceForCreditLossesDueToSubsequentImpairment / jpm_PortfolioSegmentAxis = jpm_CreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
0us-gaap_CertainLoansAndDebtSecuritiesAcquiredInTransferAllowanceForCreditLossesDueToSubsequentImpairment / jpm_PortfolioSegmentAxis = jpm_CreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
0us-gaap_CertainLoansAndDebtSecuritiesAcquiredInTransferAllowanceForCreditLossesDueToSubsequentImpairment / jpm_PortfolioSegmentAxis = jpm_CreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
0us-gaap_CertainLoansAndDebtSecuritiesAcquiredInTransferAllowanceForCreditLossesDueToSubsequentImpairment / jpm_PortfolioSegmentAxis = jpm_CreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
Total allowance for loan losses |
3,439us-gaap_FinancingReceivableAllowanceForCreditLosses / jpm_PortfolioSegmentAxis = jpm_CreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
3,439us-gaap_FinancingReceivableAllowanceForCreditLosses / jpm_PortfolioSegmentAxis = jpm_CreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
3,795us-gaap_FinancingReceivableAllowanceForCreditLosses / jpm_PortfolioSegmentAxis = jpm_CreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
5,501us-gaap_FinancingReceivableAllowanceForCreditLosses / jpm_PortfolioSegmentAxis = jpm_CreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
Credit card | Allowance for loan losses | Purchased Credit-Impaired |
|
|
|
|
Allowance for Loan and Lease Losses [Roll Forward] |
|
|
|
|
Gross charge-offs |
|
0us-gaap_AllowanceForLoanAndLeaseLossesWriteOffs / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = jpm_PurchasedCreditImpairedMember / jpm_PortfolioSegmentAxis = jpm_CreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
0us-gaap_AllowanceForLoanAndLeaseLossesWriteOffs / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = jpm_PurchasedCreditImpairedMember / jpm_PortfolioSegmentAxis = jpm_CreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
0us-gaap_AllowanceForLoanAndLeaseLossesWriteOffs / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = jpm_PurchasedCreditImpairedMember / jpm_PortfolioSegmentAxis = jpm_CreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
Credit card | Allowance for lending-related commitments |
|
|
|
|
Allowance for Loan and Lease Losses [Roll Forward] |
|
|
|
|
Allowance for credit losses, beginning balance |
|
0us-gaap_FinancingReceivableAllowanceForCreditLosses / jpm_PortfolioSegmentAxis = jpm_CreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = jpm_AllowanceForLendingRelatedCommitmentsMember |
0us-gaap_FinancingReceivableAllowanceForCreditLosses / jpm_PortfolioSegmentAxis = jpm_CreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = jpm_AllowanceForLendingRelatedCommitmentsMember |
0us-gaap_FinancingReceivableAllowanceForCreditLosses / jpm_PortfolioSegmentAxis = jpm_CreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = jpm_AllowanceForLendingRelatedCommitmentsMember |
Provision for credit losses |
|
0us-gaap_ProvisionForLoanLeaseAndOtherLosses / jpm_PortfolioSegmentAxis = jpm_CreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = jpm_AllowanceForLendingRelatedCommitmentsMember |
0us-gaap_ProvisionForLoanLeaseAndOtherLosses / jpm_PortfolioSegmentAxis = jpm_CreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = jpm_AllowanceForLendingRelatedCommitmentsMember |
0us-gaap_ProvisionForLoanLeaseAndOtherLosses / jpm_PortfolioSegmentAxis = jpm_CreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = jpm_AllowanceForLendingRelatedCommitmentsMember |
Other |
|
0us-gaap_AllowanceForLoanAndLeaseLossesAdjustmentsNet / jpm_PortfolioSegmentAxis = jpm_CreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = jpm_AllowanceForLendingRelatedCommitmentsMember |
0us-gaap_AllowanceForLoanAndLeaseLossesAdjustmentsNet / jpm_PortfolioSegmentAxis = jpm_CreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = jpm_AllowanceForLendingRelatedCommitmentsMember |
0us-gaap_AllowanceForLoanAndLeaseLossesAdjustmentsNet / jpm_PortfolioSegmentAxis = jpm_CreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = jpm_AllowanceForLendingRelatedCommitmentsMember |
Allowance for credit losses, ending balance |
0us-gaap_FinancingReceivableAllowanceForCreditLosses / jpm_PortfolioSegmentAxis = jpm_CreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = jpm_AllowanceForLendingRelatedCommitmentsMember |
0us-gaap_FinancingReceivableAllowanceForCreditLosses / jpm_PortfolioSegmentAxis = jpm_CreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = jpm_AllowanceForLendingRelatedCommitmentsMember |
0us-gaap_FinancingReceivableAllowanceForCreditLosses / jpm_PortfolioSegmentAxis = jpm_CreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = jpm_AllowanceForLendingRelatedCommitmentsMember |
0us-gaap_FinancingReceivableAllowanceForCreditLosses / jpm_PortfolioSegmentAxis = jpm_CreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = jpm_AllowanceForLendingRelatedCommitmentsMember |
Allowance For Lending Related Commitments, by Impairment Methodology [Abstract] |
|
|
|
|
Allowance for Lending-Related Commitments, Evaluated at Asset-Specific Impairment Methodology |
0jpm_AllowanceForLendingRelatedCommitmentsEvaluatedAtAssetSpecificImpairmentMethodology / jpm_PortfolioSegmentAxis = jpm_CreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = jpm_AllowanceForLendingRelatedCommitmentsMember |
0jpm_AllowanceForLendingRelatedCommitmentsEvaluatedAtAssetSpecificImpairmentMethodology / jpm_PortfolioSegmentAxis = jpm_CreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = jpm_AllowanceForLendingRelatedCommitmentsMember |
0jpm_AllowanceForLendingRelatedCommitmentsEvaluatedAtAssetSpecificImpairmentMethodology / jpm_PortfolioSegmentAxis = jpm_CreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = jpm_AllowanceForLendingRelatedCommitmentsMember |
0jpm_AllowanceForLendingRelatedCommitmentsEvaluatedAtAssetSpecificImpairmentMethodology / jpm_PortfolioSegmentAxis = jpm_CreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = jpm_AllowanceForLendingRelatedCommitmentsMember |
Allowance for Lending-Related Commitments, Evaluated at Formula-Based Impairment Methodology |
0jpm_AllowanceForLendingRelatedCommitmentsEvaluatedAtFormulaBasedImpairmentMethodology / jpm_PortfolioSegmentAxis = jpm_CreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = jpm_AllowanceForLendingRelatedCommitmentsMember |
0jpm_AllowanceForLendingRelatedCommitmentsEvaluatedAtFormulaBasedImpairmentMethodology / jpm_PortfolioSegmentAxis = jpm_CreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = jpm_AllowanceForLendingRelatedCommitmentsMember |
0jpm_AllowanceForLendingRelatedCommitmentsEvaluatedAtFormulaBasedImpairmentMethodology / jpm_PortfolioSegmentAxis = jpm_CreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = jpm_AllowanceForLendingRelatedCommitmentsMember |
0jpm_AllowanceForLendingRelatedCommitmentsEvaluatedAtFormulaBasedImpairmentMethodology / jpm_PortfolioSegmentAxis = jpm_CreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = jpm_AllowanceForLendingRelatedCommitmentsMember |
Total allowance for loan losses |
0us-gaap_FinancingReceivableAllowanceForCreditLosses / jpm_PortfolioSegmentAxis = jpm_CreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = jpm_AllowanceForLendingRelatedCommitmentsMember |
0us-gaap_FinancingReceivableAllowanceForCreditLosses / jpm_PortfolioSegmentAxis = jpm_CreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = jpm_AllowanceForLendingRelatedCommitmentsMember |
0us-gaap_FinancingReceivableAllowanceForCreditLosses / jpm_PortfolioSegmentAxis = jpm_CreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = jpm_AllowanceForLendingRelatedCommitmentsMember |
0us-gaap_FinancingReceivableAllowanceForCreditLosses / jpm_PortfolioSegmentAxis = jpm_CreditCardLoanPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = jpm_AllowanceForLendingRelatedCommitmentsMember |
Wholesale |
|
|
|
|
Loans by Impairment Methodology [Abstract] |
|
|
|
|
Asset-specific |
637us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment / jpm_PortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember |
637us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment / jpm_PortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember |
845us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment / jpm_PortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember |
1,475us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment / jpm_PortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember |
Formula-based |
323,861us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment / jpm_PortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember |
323,861us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment / jpm_PortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember |
307,412us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment / jpm_PortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember |
304,728us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment / jpm_PortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember |
Purchased credit-impaired |
4us-gaap_CertainLoansAcquiredInTransferNotAccountedForAsDebtSecuritiesConsumerOutstandingBalance / jpm_PortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember |
4us-gaap_CertainLoansAcquiredInTransferNotAccountedForAsDebtSecuritiesConsumerOutstandingBalance / jpm_PortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember |
6us-gaap_CertainLoansAcquiredInTransferNotAccountedForAsDebtSecuritiesConsumerOutstandingBalance / jpm_PortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember |
19us-gaap_CertainLoansAcquiredInTransferNotAccountedForAsDebtSecuritiesConsumerOutstandingBalance / jpm_PortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember |
Retained loans |
324,502jpm_LoansReceivableHeldForInvestmentNetOfDeferredIncome / jpm_PortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember |
324,502jpm_LoansReceivableHeldForInvestmentNetOfDeferredIncome / jpm_PortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember |
308,263jpm_LoansReceivableHeldForInvestmentNetOfDeferredIncome / jpm_PortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember |
306,222jpm_LoansReceivableHeldForInvestmentNetOfDeferredIncome / jpm_PortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember |
Lending-related commitments by impairment methodology |
|
|
|
|
Asset-specific |
103jpm_OffBalanceSheetLendingRelatedFinancialCommitmentsContractualAmountEvaluatedAtAssetSpecificImpairmentMethodology / jpm_PortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember |
103jpm_OffBalanceSheetLendingRelatedFinancialCommitmentsContractualAmountEvaluatedAtAssetSpecificImpairmentMethodology / jpm_PortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember |
206jpm_OffBalanceSheetLendingRelatedFinancialCommitmentsContractualAmountEvaluatedAtAssetSpecificImpairmentMethodology / jpm_PortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember |
355jpm_OffBalanceSheetLendingRelatedFinancialCommitmentsContractualAmountEvaluatedAtAssetSpecificImpairmentMethodology / jpm_PortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember |
Formula-based |
471,953jpm_OffBalanceSheetLendingRelatedFinancialCommitmentsContractualAmountEvaluatedAtFormulaBasedImpairmentMethodology / jpm_PortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember |
471,953jpm_OffBalanceSheetLendingRelatedFinancialCommitmentsContractualAmountEvaluatedAtFormulaBasedImpairmentMethodology / jpm_PortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember |
446,026jpm_OffBalanceSheetLendingRelatedFinancialCommitmentsContractualAmountEvaluatedAtFormulaBasedImpairmentMethodology / jpm_PortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember |
434,459jpm_OffBalanceSheetLendingRelatedFinancialCommitmentsContractualAmountEvaluatedAtFormulaBasedImpairmentMethodology / jpm_PortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember |
Total lending-related commitments |
472,056jpm_OffBalanceSheetLendingRelatedFinancialCommitmentsContractualAmount / jpm_PortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember |
472,056jpm_OffBalanceSheetLendingRelatedFinancialCommitmentsContractualAmount / jpm_PortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember |
446,232jpm_OffBalanceSheetLendingRelatedFinancialCommitmentsContractualAmount / jpm_PortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember |
434,814jpm_OffBalanceSheetLendingRelatedFinancialCommitmentsContractualAmount / jpm_PortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember |
Wholesale | Impaired collateral-dependent loans |
|
|
|
|
Allowance for Loan and Lease Losses [Roll Forward] |
|
|
|
|
Allowance for Loan and Lease Losses Write-offs, Net |
|
21us-gaap_AllowanceForLoanAndLeaseLossesWriteoffsNet / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = jpm_ImpairedCollateralDependentLoansMember / jpm_PortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember |
37us-gaap_AllowanceForLoanAndLeaseLossesWriteoffsNet / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = jpm_ImpairedCollateralDependentLoansMember / jpm_PortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember |
77us-gaap_AllowanceForLoanAndLeaseLossesWriteoffsNet / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = jpm_ImpairedCollateralDependentLoansMember / jpm_PortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember |
Impaired Collateral Dependent Loans [Abstract] |
|
|
|
|
Loans measured at fair value of collateral less cost to sell |
326jpm_LoansAndLeasesReceivableImpairedCollateralDependentLoansAtFairValue / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = jpm_ImpairedCollateralDependentLoansMember / jpm_PortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember |
326jpm_LoansAndLeasesReceivableImpairedCollateralDependentLoansAtFairValue / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = jpm_ImpairedCollateralDependentLoansMember / jpm_PortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember |
362jpm_LoansAndLeasesReceivableImpairedCollateralDependentLoansAtFairValue / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = jpm_ImpairedCollateralDependentLoansMember / jpm_PortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember |
445jpm_LoansAndLeasesReceivableImpairedCollateralDependentLoansAtFairValue / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = jpm_ImpairedCollateralDependentLoansMember / jpm_PortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember |
Wholesale | Allowance for loan losses |
|
|
|
|
Allowance for Loan and Lease Losses [Roll Forward] |
|
|
|
|
Allowance for credit losses, beginning balance |
|
4,013us-gaap_FinancingReceivableAllowanceForCreditLosses / jpm_PortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
4,143us-gaap_FinancingReceivableAllowanceForCreditLosses / jpm_PortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
4,316us-gaap_FinancingReceivableAllowanceForCreditLosses / jpm_PortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
Gross charge-offs |
|
151us-gaap_AllowanceForLoanAndLeaseLossesWriteOffs / jpm_PortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
241us-gaap_AllowanceForLoanAndLeaseLossesWriteOffs / jpm_PortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
346us-gaap_AllowanceForLoanAndLeaseLossesWriteOffs / jpm_PortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
Gross (recoveries) |
|
(139)us-gaap_ValuationAllowancesAndReservesRecoveries / jpm_PortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
(225)us-gaap_ValuationAllowancesAndReservesRecoveries / jpm_PortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
(524)us-gaap_ValuationAllowancesAndReservesRecoveries / jpm_PortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
Allowance for Loan and Lease Losses Write-offs, Net |
|
12us-gaap_AllowanceForLoanAndLeaseLossesWriteoffsNet / jpm_PortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
16us-gaap_AllowanceForLoanAndLeaseLossesWriteoffsNet / jpm_PortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
(178)us-gaap_AllowanceForLoanAndLeaseLossesWriteoffsNet / jpm_PortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
Provision for credit losses |
|
(269)us-gaap_ProvisionForLoanLeaseAndOtherLosses / jpm_PortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
(119)us-gaap_ProvisionForLoanLeaseAndOtherLosses / jpm_PortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
(359)us-gaap_ProvisionForLoanLeaseAndOtherLosses / jpm_PortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
Other |
|
(36)us-gaap_AllowanceForLoanAndLeaseLossesAdjustmentsNet / jpm_PortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
5us-gaap_AllowanceForLoanAndLeaseLossesAdjustmentsNet / jpm_PortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
8us-gaap_AllowanceForLoanAndLeaseLossesAdjustmentsNet / jpm_PortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
Allowance for credit losses, ending balance |
3,696us-gaap_FinancingReceivableAllowanceForCreditLosses / jpm_PortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
3,696us-gaap_FinancingReceivableAllowanceForCreditLosses / jpm_PortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
4,013us-gaap_FinancingReceivableAllowanceForCreditLosses / jpm_PortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
4,143us-gaap_FinancingReceivableAllowanceForCreditLosses / jpm_PortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
Allowance For Lending Related Commitments, by Impairment Methodology [Abstract] |
|
|
|
|
Asset-specific, allowance |
87us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1 / jpm_PortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
87us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1 / jpm_PortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
181us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1 / jpm_PortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
319us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1 / jpm_PortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
Formula-based |
3,609us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment / jpm_PortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
3,609us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment / jpm_PortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
3,832us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment / jpm_PortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
3,824us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment / jpm_PortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
Purchased Credit Impaired |
0us-gaap_CertainLoansAndDebtSecuritiesAcquiredInTransferAllowanceForCreditLossesDueToSubsequentImpairment / jpm_PortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
0us-gaap_CertainLoansAndDebtSecuritiesAcquiredInTransferAllowanceForCreditLossesDueToSubsequentImpairment / jpm_PortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
0us-gaap_CertainLoansAndDebtSecuritiesAcquiredInTransferAllowanceForCreditLossesDueToSubsequentImpairment / jpm_PortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
0us-gaap_CertainLoansAndDebtSecuritiesAcquiredInTransferAllowanceForCreditLossesDueToSubsequentImpairment / jpm_PortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
Total allowance for loan losses |
3,696us-gaap_FinancingReceivableAllowanceForCreditLosses / jpm_PortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
3,696us-gaap_FinancingReceivableAllowanceForCreditLosses / jpm_PortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
4,013us-gaap_FinancingReceivableAllowanceForCreditLosses / jpm_PortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
4,143us-gaap_FinancingReceivableAllowanceForCreditLosses / jpm_PortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
Wholesale | Allowance for loan losses | Purchased Credit-Impaired |
|
|
|
|
Allowance for Loan and Lease Losses [Roll Forward] |
|
|
|
|
Gross charge-offs |
|
0us-gaap_AllowanceForLoanAndLeaseLossesWriteOffs / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = jpm_PurchasedCreditImpairedMember / jpm_PortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
0us-gaap_AllowanceForLoanAndLeaseLossesWriteOffs / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = jpm_PurchasedCreditImpairedMember / jpm_PortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
0us-gaap_AllowanceForLoanAndLeaseLossesWriteOffs / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = jpm_PurchasedCreditImpairedMember / jpm_PortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = us-gaap_AllowanceForLoansAndLeasesReceivableMember |
Wholesale | Allowance for lending-related commitments |
|
|
|
|
Allowance for Loan and Lease Losses [Roll Forward] |
|
|
|
|
Allowance for credit losses, beginning balance |
|
697us-gaap_FinancingReceivableAllowanceForCreditLosses / jpm_PortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = jpm_AllowanceForLendingRelatedCommitmentsMember |
661us-gaap_FinancingReceivableAllowanceForCreditLosses / jpm_PortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = jpm_AllowanceForLendingRelatedCommitmentsMember |
666us-gaap_FinancingReceivableAllowanceForCreditLosses / jpm_PortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = jpm_AllowanceForLendingRelatedCommitmentsMember |
Provision for credit losses |
|
(90)us-gaap_ProvisionForLoanLeaseAndOtherLosses / jpm_PortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = jpm_AllowanceForLendingRelatedCommitmentsMember |
36us-gaap_ProvisionForLoanLeaseAndOtherLosses / jpm_PortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = jpm_AllowanceForLendingRelatedCommitmentsMember |
(2)us-gaap_ProvisionForLoanLeaseAndOtherLosses / jpm_PortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = jpm_AllowanceForLendingRelatedCommitmentsMember |
Other |
|
2us-gaap_AllowanceForLoanAndLeaseLossesAdjustmentsNet / jpm_PortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = jpm_AllowanceForLendingRelatedCommitmentsMember |
0us-gaap_AllowanceForLoanAndLeaseLossesAdjustmentsNet / jpm_PortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = jpm_AllowanceForLendingRelatedCommitmentsMember |
(3)us-gaap_AllowanceForLoanAndLeaseLossesAdjustmentsNet / jpm_PortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = jpm_AllowanceForLendingRelatedCommitmentsMember |
Allowance for credit losses, ending balance |
609us-gaap_FinancingReceivableAllowanceForCreditLosses / jpm_PortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = jpm_AllowanceForLendingRelatedCommitmentsMember |
609us-gaap_FinancingReceivableAllowanceForCreditLosses / jpm_PortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = jpm_AllowanceForLendingRelatedCommitmentsMember |
697us-gaap_FinancingReceivableAllowanceForCreditLosses / jpm_PortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = jpm_AllowanceForLendingRelatedCommitmentsMember |
661us-gaap_FinancingReceivableAllowanceForCreditLosses / jpm_PortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = jpm_AllowanceForLendingRelatedCommitmentsMember |
Allowance For Lending Related Commitments, by Impairment Methodology [Abstract] |
|
|
|
|
Allowance for Lending-Related Commitments, Evaluated at Asset-Specific Impairment Methodology |
60jpm_AllowanceForLendingRelatedCommitmentsEvaluatedAtAssetSpecificImpairmentMethodology / jpm_PortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = jpm_AllowanceForLendingRelatedCommitmentsMember |
60jpm_AllowanceForLendingRelatedCommitmentsEvaluatedAtAssetSpecificImpairmentMethodology / jpm_PortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = jpm_AllowanceForLendingRelatedCommitmentsMember |
60jpm_AllowanceForLendingRelatedCommitmentsEvaluatedAtAssetSpecificImpairmentMethodology / jpm_PortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = jpm_AllowanceForLendingRelatedCommitmentsMember |
97jpm_AllowanceForLendingRelatedCommitmentsEvaluatedAtAssetSpecificImpairmentMethodology / jpm_PortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = jpm_AllowanceForLendingRelatedCommitmentsMember |
Allowance for Lending-Related Commitments, Evaluated at Formula-Based Impairment Methodology |
549jpm_AllowanceForLendingRelatedCommitmentsEvaluatedAtFormulaBasedImpairmentMethodology / jpm_PortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = jpm_AllowanceForLendingRelatedCommitmentsMember |
549jpm_AllowanceForLendingRelatedCommitmentsEvaluatedAtFormulaBasedImpairmentMethodology / jpm_PortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = jpm_AllowanceForLendingRelatedCommitmentsMember |
637jpm_AllowanceForLendingRelatedCommitmentsEvaluatedAtFormulaBasedImpairmentMethodology / jpm_PortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = jpm_AllowanceForLendingRelatedCommitmentsMember |
564jpm_AllowanceForLendingRelatedCommitmentsEvaluatedAtFormulaBasedImpairmentMethodology / jpm_PortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = jpm_AllowanceForLendingRelatedCommitmentsMember |
Total allowance for loan losses |
$ 609us-gaap_FinancingReceivableAllowanceForCreditLosses / jpm_PortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = jpm_AllowanceForLendingRelatedCommitmentsMember |
$ 609us-gaap_FinancingReceivableAllowanceForCreditLosses / jpm_PortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = jpm_AllowanceForLendingRelatedCommitmentsMember |
$ 697us-gaap_FinancingReceivableAllowanceForCreditLosses / jpm_PortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = jpm_AllowanceForLendingRelatedCommitmentsMember |
$ 661us-gaap_FinancingReceivableAllowanceForCreditLosses / jpm_PortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_ValuationAllowancesAndReservesTypeAxis = jpm_AllowanceForLendingRelatedCommitmentsMember |