XML 133 R94.htm IDEA: XBRL DOCUMENT v2.4.1.9
Fair Value Measurement - Changes in Level 3 Recurring Measurements (Details) (USD $)
In Millions, unless otherwise specified
12 Months Ended
Dec. 31, 2014
Dec. 31, 2013
Dec. 31, 2012
Net derivative receivables:      
Beginning balance $ 326us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs $ 1,893us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs $ 6,238us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs
Total realized/unrealized gains/(losses) (413)jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisNetDerivativeAssetLiabilityRealizedandUnrealizedGainsLosses 2,904jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisNetDerivativeAssetLiabilityRealizedandUnrealizedGainsLosses  
Purchases 2,654us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationPurchases 1,872us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationPurchases 1,995us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationPurchases
Sales (3,306)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSales (2,350)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSales (2,572)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSales
Settlements (1,110)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSettlements (4,525)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSettlements (5,874)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSettlements
Transfers into and/or out of level 3 (212)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationTransfersNet 532us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationTransfersNet 976us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationTransfersNet
Ending balance (2,061)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs 326us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs 1,893us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs
Change in unrealized gains/(losses) related to financial instruments held (625)jpm_FairValueNetDerivativeAssetLiabilityMeasuredonRecurringBasisChangeinUnrealizedGainLoss (170)jpm_FairValueNetDerivativeAssetLiabilityMeasuredonRecurringBasisChangeinUnrealizedGainLoss (2,903)jpm_FairValueNetDerivativeAssetLiabilityMeasuredonRecurringBasisChangeinUnrealizedGainLoss
Level 3 Rollforward Supplemental Data [Abstract]      
Level 3 liabilities as a percentage of total firm liabilities at fair value 15.00%jpm_LevelThreeLiabilitiesAsPercentageOfTotalFirmLiabilitiesAtFairValue 18.00%jpm_LevelThreeLiabilitiesAsPercentageOfTotalFirmLiabilitiesAtFairValue 18.00%jpm_LevelThreeLiabilitiesAsPercentageOfTotalFirmLiabilitiesAtFairValue
Deposits      
Liabilities      
Beginning balance 2,255us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_DepositsMember
1,983us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_DepositsMember
1,418us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_DepositsMember
Total realized/unrealized gains/(losses) 149jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisLiabilityRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_DepositsMember
(82)jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisLiabilityRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_DepositsMember
212jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisLiabilityRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_DepositsMember
Purchases 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySales
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_DepositsMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySales
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_DepositsMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySales
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_DepositsMember
Sales 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPurchases
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_DepositsMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPurchases
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_DepositsMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPurchases
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_DepositsMember
Issuances 1,578us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_DepositsMember
1,248us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_DepositsMember
1,236us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_DepositsMember
Settlements (197)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_DepositsMember
(222)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_DepositsMember
(380)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_DepositsMember
Transfers into and/or out of level 3 (926)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityTransfersNet
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_DepositsMember
(672)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityTransfersNet
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_DepositsMember
(503)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityTransfersNet
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_DepositsMember
Ending balance 2,859us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_DepositsMember
2,255us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_DepositsMember
1,983us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_DepositsMember
Change in unrealized gains(losses) related to financials instruments held 130us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_DepositsMember
(88)us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_DepositsMember
185us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_DepositsMember
Other borrowed funds      
Liabilities      
Beginning balance 2,074us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_BorrowingsMember
1,619us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_BorrowingsMember
1,507us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_BorrowingsMember
Total realized/unrealized gains/(losses) (596)jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisLiabilityRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_BorrowingsMember
(177)jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisLiabilityRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_BorrowingsMember
148jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisLiabilityRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_BorrowingsMember
Purchases 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySales
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_BorrowingsMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySales
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_BorrowingsMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySales
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_BorrowingsMember
Sales 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPurchases
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_BorrowingsMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPurchases
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_BorrowingsMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPurchases
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_BorrowingsMember
Issuances 5,377us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_BorrowingsMember
7,108us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_BorrowingsMember
1,646us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_BorrowingsMember
Settlements (6,127)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_BorrowingsMember
(6,845)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_BorrowingsMember
(1,774)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_BorrowingsMember
Transfers into and/or out of level 3 725us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityTransfersNet
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_BorrowingsMember
369us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityTransfersNet
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_BorrowingsMember
92us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityTransfersNet
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_BorrowingsMember
Ending balance 1,453us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_BorrowingsMember
2,074us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_BorrowingsMember
1,619us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_BorrowingsMember
Change in unrealized gains(losses) related to financials instruments held (415)us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_BorrowingsMember
291us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_BorrowingsMember
72us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_BorrowingsMember
Total debt and equity instruments      
Liabilities      
Beginning balance 113us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_DebtAndEquityInstrumentsMember
205us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_DebtAndEquityInstrumentsMember
211us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_DebtAndEquityInstrumentsMember
Total realized/unrealized gains/(losses) (5)jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisLiabilityRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_DebtAndEquityInstrumentsMember
(83)jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisLiabilityRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_DebtAndEquityInstrumentsMember
(16)jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisLiabilityRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_DebtAndEquityInstrumentsMember
Purchases (305)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySales
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_DebtAndEquityInstrumentsMember
(2,418)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySales
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_DebtAndEquityInstrumentsMember
(2,875)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySales
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_DebtAndEquityInstrumentsMember
Sales 323us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPurchases
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_DebtAndEquityInstrumentsMember
2,594us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPurchases
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_DebtAndEquityInstrumentsMember
2,940us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPurchases
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_DebtAndEquityInstrumentsMember
Issuances 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_DebtAndEquityInstrumentsMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_DebtAndEquityInstrumentsMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_DebtAndEquityInstrumentsMember
Settlements (5)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_DebtAndEquityInstrumentsMember
(54)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_DebtAndEquityInstrumentsMember
(50)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_DebtAndEquityInstrumentsMember
Transfers into and/or out of level 3 (49)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityTransfersNet
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_DebtAndEquityInstrumentsMember
(131)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityTransfersNet
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_DebtAndEquityInstrumentsMember
(5)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityTransfersNet
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_DebtAndEquityInstrumentsMember
Ending balance 72us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_DebtAndEquityInstrumentsMember
113us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_DebtAndEquityInstrumentsMember
205us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_DebtAndEquityInstrumentsMember
Change in unrealized gains(losses) related to financials instruments held 2us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_DebtAndEquityInstrumentsMember
(100)us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_DebtAndEquityInstrumentsMember
(12)us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_DebtAndEquityInstrumentsMember
Accounts payable and other liabilities      
Liabilities      
Beginning balance 25us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_AccountsPayableAndOtherLiabilitiesMember
36us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_AccountsPayableAndOtherLiabilitiesMember
51us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_AccountsPayableAndOtherLiabilitiesMember
Total realized/unrealized gains/(losses) 27jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisLiabilityRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_AccountsPayableAndOtherLiabilitiesMember
(2)jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisLiabilityRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_AccountsPayableAndOtherLiabilitiesMember
1jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisLiabilityRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_AccountsPayableAndOtherLiabilitiesMember
Purchases 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySales
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_AccountsPayableAndOtherLiabilitiesMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySales
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_AccountsPayableAndOtherLiabilitiesMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySales
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_AccountsPayableAndOtherLiabilitiesMember
Sales 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPurchases
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_AccountsPayableAndOtherLiabilitiesMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPurchases
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_AccountsPayableAndOtherLiabilitiesMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPurchases
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_AccountsPayableAndOtherLiabilitiesMember
Issuances 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_AccountsPayableAndOtherLiabilitiesMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_AccountsPayableAndOtherLiabilitiesMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_AccountsPayableAndOtherLiabilitiesMember
Settlements (16)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_AccountsPayableAndOtherLiabilitiesMember
(9)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_AccountsPayableAndOtherLiabilitiesMember
(16)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_AccountsPayableAndOtherLiabilitiesMember
Transfers into and/or out of level 3 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityTransfersNet
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_AccountsPayableAndOtherLiabilitiesMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityTransfersNet
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_AccountsPayableAndOtherLiabilitiesMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityTransfersNet
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_AccountsPayableAndOtherLiabilitiesMember
Ending balance 36us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_AccountsPayableAndOtherLiabilitiesMember
25us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_AccountsPayableAndOtherLiabilitiesMember
36us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_AccountsPayableAndOtherLiabilitiesMember
Change in unrealized gains(losses) related to financials instruments held 0us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_AccountsPayableAndOtherLiabilitiesMember
(2)us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_AccountsPayableAndOtherLiabilitiesMember
1us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_AccountsPayableAndOtherLiabilitiesMember
Beneficial interests issued by consolidated VIEs      
Liabilities      
Beginning balance 1,240us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_BeneficialInterestsIssuedByConsolidatedVariableInterestEntitiesMember
925us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_BeneficialInterestsIssuedByConsolidatedVariableInterestEntitiesMember
791us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_BeneficialInterestsIssuedByConsolidatedVariableInterestEntitiesMember
Total realized/unrealized gains/(losses) (4)jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisLiabilityRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_BeneficialInterestsIssuedByConsolidatedVariableInterestEntitiesMember
174jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisLiabilityRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_BeneficialInterestsIssuedByConsolidatedVariableInterestEntitiesMember
181jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisLiabilityRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_BeneficialInterestsIssuedByConsolidatedVariableInterestEntitiesMember
Purchases 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySales
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_BeneficialInterestsIssuedByConsolidatedVariableInterestEntitiesMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySales
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_BeneficialInterestsIssuedByConsolidatedVariableInterestEntitiesMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySales
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_BeneficialInterestsIssuedByConsolidatedVariableInterestEntitiesMember
Sales 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPurchases
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_BeneficialInterestsIssuedByConsolidatedVariableInterestEntitiesMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPurchases
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_BeneficialInterestsIssuedByConsolidatedVariableInterestEntitiesMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPurchases
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_BeneficialInterestsIssuedByConsolidatedVariableInterestEntitiesMember
Issuances 775us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_BeneficialInterestsIssuedByConsolidatedVariableInterestEntitiesMember
353us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_BeneficialInterestsIssuedByConsolidatedVariableInterestEntitiesMember
221us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_BeneficialInterestsIssuedByConsolidatedVariableInterestEntitiesMember
Settlements (763)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_BeneficialInterestsIssuedByConsolidatedVariableInterestEntitiesMember
(212)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_BeneficialInterestsIssuedByConsolidatedVariableInterestEntitiesMember
(268)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_BeneficialInterestsIssuedByConsolidatedVariableInterestEntitiesMember
Transfers into and/or out of level 3 (102)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityTransfersNet
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_BeneficialInterestsIssuedByConsolidatedVariableInterestEntitiesMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityTransfersNet
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_BeneficialInterestsIssuedByConsolidatedVariableInterestEntitiesMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityTransfersNet
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_BeneficialInterestsIssuedByConsolidatedVariableInterestEntitiesMember
Ending balance 1,146us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_BeneficialInterestsIssuedByConsolidatedVariableInterestEntitiesMember
1,240us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_BeneficialInterestsIssuedByConsolidatedVariableInterestEntitiesMember
925us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_BeneficialInterestsIssuedByConsolidatedVariableInterestEntitiesMember
Change in unrealized gains(losses) related to financials instruments held (22)us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_BeneficialInterestsIssuedByConsolidatedVariableInterestEntitiesMember
167us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_BeneficialInterestsIssuedByConsolidatedVariableInterestEntitiesMember
143us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_BeneficialInterestsIssuedByConsolidatedVariableInterestEntitiesMember
Long-term debt      
Liabilities      
Beginning balance 10,008us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_LongTermDebtMember
8,476us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_LongTermDebtMember
10,310us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_LongTermDebtMember
Total realized/unrealized gains/(losses) (40)jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisLiabilityRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_LongTermDebtMember
(435)jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisLiabilityRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_LongTermDebtMember
328jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisLiabilityRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_LongTermDebtMember
Purchases 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySales
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_LongTermDebtMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySales
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_LongTermDebtMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySales
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_LongTermDebtMember
Sales 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPurchases
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_LongTermDebtMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPurchases
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_LongTermDebtMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPurchases
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_LongTermDebtMember
Issuances 7,421us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_LongTermDebtMember
6,830us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_LongTermDebtMember
3,662us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_LongTermDebtMember
Settlements (5,231)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_LongTermDebtMember
(4,362)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_LongTermDebtMember
(4,511)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_LongTermDebtMember
Transfers into and/or out of level 3 (281)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityTransfersNet
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_LongTermDebtMember
(501)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityTransfersNet
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_LongTermDebtMember
(1,313)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityTransfersNet
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_LongTermDebtMember
Ending balance 11,877us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_LongTermDebtMember
10,008us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_LongTermDebtMember
8,476us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_LongTermDebtMember
Change in unrealized gains(losses) related to financials instruments held (9)us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_LongTermDebtMember
(85)us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_LongTermDebtMember
(101)us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_LongTermDebtMember
Interest rate contracts      
Net derivative receivables:      
Beginning balance 2,379us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
3,322us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
3,561us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
Total realized/unrealized gains/(losses) 184jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisNetDerivativeAssetLiabilityRealizedandUnrealizedGainsLosses
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
1,358jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisNetDerivativeAssetLiabilityRealizedandUnrealizedGainsLosses
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
6,930jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisNetDerivativeAssetLiabilityRealizedandUnrealizedGainsLosses
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
Purchases 198us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationPurchases
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
344us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationPurchases
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
406us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationPurchases
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
Sales (256)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSales
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
(220)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSales
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
(194)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSales
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
Settlements (1,771)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSettlements
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
(2,391)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSettlements
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
(7,071)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSettlements
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
Transfers into and/or out of level 3 (108)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationTransfersNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
(34)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationTransfersNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
(310)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationTransfersNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
Ending balance 626us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
2,379us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
3,322us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
Change in unrealized gains/(losses) related to financial instruments held (853)jpm_FairValueNetDerivativeAssetLiabilityMeasuredonRecurringBasisChangeinUnrealizedGainLoss
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
107jpm_FairValueNetDerivativeAssetLiabilityMeasuredonRecurringBasisChangeinUnrealizedGainLoss
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
905jpm_FairValueNetDerivativeAssetLiabilityMeasuredonRecurringBasisChangeinUnrealizedGainLoss
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
Credit derivatives      
Net derivative receivables:      
Beginning balance 95us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
1,873us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
7,732us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
Total realized/unrealized gains/(losses) (149)jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisNetDerivativeAssetLiabilityRealizedandUnrealizedGainsLosses
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
(1,697)jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisNetDerivativeAssetLiabilityRealizedandUnrealizedGainsLosses
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
(4,487)jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisNetDerivativeAssetLiabilityRealizedandUnrealizedGainsLosses
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
Purchases 272us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationPurchases
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
115us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationPurchases
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
124us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationPurchases
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
Sales (47)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSales
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
(12)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSales
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
(84)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSales
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
Settlements 92us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSettlements
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
(357)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSettlements
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
(1,416)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSettlements
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
Transfers into and/or out of level 3 (74)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationTransfersNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
173us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationTransfersNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
4us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationTransfersNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
Ending balance 189us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
95us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
1,873us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
Change in unrealized gains/(losses) related to financial instruments held (107)jpm_FairValueNetDerivativeAssetLiabilityMeasuredonRecurringBasisChangeinUnrealizedGainLoss
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
(1,449)jpm_FairValueNetDerivativeAssetLiabilityMeasuredonRecurringBasisChangeinUnrealizedGainLoss
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
(3,271)jpm_FairValueNetDerivativeAssetLiabilityMeasuredonRecurringBasisChangeinUnrealizedGainLoss
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
Foreign exchange contracts      
Net derivative receivables:      
Beginning balance (1,200)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
(1,750)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
(1,263)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
Total realized/unrealized gains/(losses) (137)jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisNetDerivativeAssetLiabilityRealizedandUnrealizedGainsLosses
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
(101)jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisNetDerivativeAssetLiabilityRealizedandUnrealizedGainsLosses
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
(800)jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisNetDerivativeAssetLiabilityRealizedandUnrealizedGainsLosses
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
Purchases 139us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationPurchases
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
3us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationPurchases
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
112us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationPurchases
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
Sales (27)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSales
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
(4)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSales
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
(184)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSales
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
Settlements 668us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSettlements
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
683us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSettlements
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
436us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSettlements
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
Transfers into and/or out of level 3 31us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationTransfersNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
(31)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationTransfersNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
(51)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationTransfersNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
Ending balance (526)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
(1,200)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
(1,750)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
Change in unrealized gains/(losses) related to financial instruments held (62)jpm_FairValueNetDerivativeAssetLiabilityMeasuredonRecurringBasisChangeinUnrealizedGainLoss
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
(110)jpm_FairValueNetDerivativeAssetLiabilityMeasuredonRecurringBasisChangeinUnrealizedGainLoss
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
(957)jpm_FairValueNetDerivativeAssetLiabilityMeasuredonRecurringBasisChangeinUnrealizedGainLoss
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
Equity      
Net derivative receivables:      
Beginning balance (1,063)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
(1,806)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
(3,105)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
Total realized/unrealized gains/(losses) 154jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisNetDerivativeAssetLiabilityRealizedandUnrealizedGainsLosses
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
2,528jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisNetDerivativeAssetLiabilityRealizedandUnrealizedGainsLosses
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
160jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisNetDerivativeAssetLiabilityRealizedandUnrealizedGainsLosses
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
Purchases 2,044us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationPurchases
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
1,305us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationPurchases
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
1,279us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationPurchases
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
Sales (2,863)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSales
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
(2,111)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSales
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
(2,174)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSales
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
Settlements 10us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSettlements
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
(1,353)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSettlements
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
899us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSettlements
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
Transfers into and/or out of level 3 (67)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationTransfersNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
374us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationTransfersNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
1,135us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationTransfersNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
Ending balance (1,785)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
(1,063)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
(1,806)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
Change in unrealized gains/(losses) related to financial instruments held 583jpm_FairValueNetDerivativeAssetLiabilityMeasuredonRecurringBasisChangeinUnrealizedGainLoss
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
872jpm_FairValueNetDerivativeAssetLiabilityMeasuredonRecurringBasisChangeinUnrealizedGainLoss
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
580jpm_FairValueNetDerivativeAssetLiabilityMeasuredonRecurringBasisChangeinUnrealizedGainLoss
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
Commodity contracts      
Net derivative receivables:      
Beginning balance 115us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
254us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
(687)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
Total realized/unrealized gains/(losses) (465)jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisNetDerivativeAssetLiabilityRealizedandUnrealizedGainsLosses
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
816jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisNetDerivativeAssetLiabilityRealizedandUnrealizedGainsLosses
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
(673)jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisNetDerivativeAssetLiabilityRealizedandUnrealizedGainsLosses
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
Purchases 1us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationPurchases
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
105us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationPurchases
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
74us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationPurchases
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
Sales (113)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSales
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
(3)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSales
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
64us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSales
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
Settlements (109)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSettlements
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
(1,107)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSettlements
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
1,278us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSettlements
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
Transfers into and/or out of level 3 6us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationTransfersNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
50us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationTransfersNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
198us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationTransfersNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
Ending balance (565)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
115us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
254us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
Change in unrealized gains/(losses) related to financial instruments held (186)jpm_FairValueNetDerivativeAssetLiabilityMeasuredonRecurringBasisChangeinUnrealizedGainLoss
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
410jpm_FairValueNetDerivativeAssetLiabilityMeasuredonRecurringBasisChangeinUnrealizedGainLoss
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
(160)jpm_FairValueNetDerivativeAssetLiabilityMeasuredonRecurringBasisChangeinUnrealizedGainLoss
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
Derivative      
Net derivative receivables:      
Total realized/unrealized gains/(losses)     1,130jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisNetDerivativeAssetLiabilityRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_DerivativeMember
Total debt and equity instruments      
Assets      
Fair Value, Beginning balance 27,224us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= jpm_DebtAndEquityInstrumentsMember
25,639us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= jpm_DebtAndEquityInstrumentsMember
32,967us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= jpm_DebtAndEquityInstrumentsMember
Total realized/unrealized gains/(losses) 1,066jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByAssetClassAxis
= jpm_DebtAndEquityInstrumentsMember
2,237jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByAssetClassAxis
= jpm_DebtAndEquityInstrumentsMember
1,251jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByAssetClassAxis
= jpm_DebtAndEquityInstrumentsMember
Purchases 26,494us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= jpm_DebtAndEquityInstrumentsMember
25,273us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= jpm_DebtAndEquityInstrumentsMember
19,087us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= jpm_DebtAndEquityInstrumentsMember
Sales (16,799)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= jpm_DebtAndEquityInstrumentsMember
(20,815)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= jpm_DebtAndEquityInstrumentsMember
(18,741)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= jpm_DebtAndEquityInstrumentsMember
Settlements (10,293)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= jpm_DebtAndEquityInstrumentsMember
(3,867)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= jpm_DebtAndEquityInstrumentsMember
(7,928)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= jpm_DebtAndEquityInstrumentsMember
Transfers into and/or out of level 3 (5,203)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet
/ us-gaap_FairValueByAssetClassAxis
= jpm_DebtAndEquityInstrumentsMember
(1,243)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet
/ us-gaap_FairValueByAssetClassAxis
= jpm_DebtAndEquityInstrumentsMember
(997)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet
/ us-gaap_FairValueByAssetClassAxis
= jpm_DebtAndEquityInstrumentsMember
Fair Value, Ending Balance 22,489us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= jpm_DebtAndEquityInstrumentsMember
27,224us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= jpm_DebtAndEquityInstrumentsMember
25,639us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= jpm_DebtAndEquityInstrumentsMember
Change in unrealized gains/(losses) related to financial instruments held 711us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= jpm_DebtAndEquityInstrumentsMember
2,420us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= jpm_DebtAndEquityInstrumentsMember
1,240us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= jpm_DebtAndEquityInstrumentsMember
Mortgage-backed securities      
Assets      
Fair Value, Beginning balance 2,163us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesMember
2,368us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesMember
2,640us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesMember
Total realized/unrealized gains/(losses) (14)jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesMember
690jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesMember
(52)jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesMember
Purchases 2,158us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesMember
2,440us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesMember
1,279us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesMember
Sales (1,861)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesMember
(2,931)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesMember
(1,111)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesMember
Settlements (222)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesMember
(399)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesMember
(265)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesMember
Transfers into and/or out of level 3 (333)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesMember
(5)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesMember
(123)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesMember
Fair Value, Ending Balance 1,891us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesMember
2,163us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesMember
2,368us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesMember
Change in unrealized gains/(losses) related to financial instruments held (119)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesMember
401us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesMember
(92)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesMember
Mortgage-backed securities, U.S. government agencies      
Assets      
Fair Value, Beginning balance 1,005us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentCorporationsAndAgenciesSecuritiesMember
498us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentCorporationsAndAgenciesSecuritiesMember
86us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentCorporationsAndAgenciesSecuritiesMember
Total realized/unrealized gains/(losses) (97)jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentCorporationsAndAgenciesSecuritiesMember
169jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentCorporationsAndAgenciesSecuritiesMember
(44)jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentCorporationsAndAgenciesSecuritiesMember
Purchases 351us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentCorporationsAndAgenciesSecuritiesMember
819us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentCorporationsAndAgenciesSecuritiesMember
575us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentCorporationsAndAgenciesSecuritiesMember
Sales (186)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentCorporationsAndAgenciesSecuritiesMember
(381)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentCorporationsAndAgenciesSecuritiesMember
(103)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentCorporationsAndAgenciesSecuritiesMember
Settlements (121)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentCorporationsAndAgenciesSecuritiesMember
(100)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentCorporationsAndAgenciesSecuritiesMember
(16)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentCorporationsAndAgenciesSecuritiesMember
Transfers into and/or out of level 3 (30)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentCorporationsAndAgenciesSecuritiesMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentCorporationsAndAgenciesSecuritiesMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentCorporationsAndAgenciesSecuritiesMember
Fair Value, Ending Balance 922us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentCorporationsAndAgenciesSecuritiesMember
1,005us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentCorporationsAndAgenciesSecuritiesMember
498us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentCorporationsAndAgenciesSecuritiesMember
Change in unrealized gains/(losses) related to financial instruments held (92)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentCorporationsAndAgenciesSecuritiesMember
200us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentCorporationsAndAgenciesSecuritiesMember
(21)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentCorporationsAndAgenciesSecuritiesMember
Mortgage-backed securities, Residential - nonagency      
Assets      
Fair Value, Beginning balance 726us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
663us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
796us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
Total realized/unrealized gains/(losses) 66jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
407jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
151jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
Purchases 827us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
780us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
417us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
Sales (761)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
(1,028)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
(533)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
Settlements (41)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
(91)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
(145)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
Transfers into and/or out of level 3 (154)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
(5)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
(23)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
Fair Value, Ending Balance 663us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
726us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
663us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
Change in unrealized gains/(losses) related to financial instruments held (15)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
205us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
74us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
Mortgage-backed securities, Commercial - nonagency      
Assets      
Fair Value, Beginning balance 432us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
1,207us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
1,758us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
Total realized/unrealized gains/(losses) 17jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
114jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
(159)jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
Purchases 980us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
841us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
287us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
Sales (914)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
(1,522)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
(475)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
Settlements (60)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
(208)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
(104)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
Transfers into and/or out of level 3 (149)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
(100)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
Fair Value, Ending Balance 306us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
432us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
1,207us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
Change in unrealized gains/(losses) related to financial instruments held (12)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
(4)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
(145)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
Obligations of U.S. states and municipalities      
Assets      
Fair Value, Beginning balance 1,382us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
1,436us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
1,619us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
Total realized/unrealized gains/(losses) 90jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
71jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
37jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
Purchases 298us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
472us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
336us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
Sales (358)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
(251)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
(552)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
Settlements (139)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
(346)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
(4)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
Transfers into and/or out of level 3 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
Fair Value, Ending Balance 1,273us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
1,382us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
1,436us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
Change in unrealized gains/(losses) related to financial instruments held (27)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
18us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
(15)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
Non-U.S. government debt securities      
Assets      
Fair Value, Beginning balance 143us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
67us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
104us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
Total realized/unrealized gains/(losses) 24jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
4jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
(6)jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
Purchases 719us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
1,449us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
661us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
Sales (617)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
(1,479)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
(668)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
Settlements (3)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
(8)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
(24)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
Transfers into and/or out of level 3 36us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
110us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
Fair Value, Ending Balance 302us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
143us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
67us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
Change in unrealized gains/(losses) related to financial instruments held 10us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
(1)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
(5)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
Corporate debt securities      
Assets      
Fair Value, Beginning balance 5,920us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CorporateDebtSecuritiesMember
5,308us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CorporateDebtSecuritiesMember
6,373us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CorporateDebtSecuritiesMember
Total realized/unrealized gains/(losses) 210jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CorporateDebtSecuritiesMember
103jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CorporateDebtSecuritiesMember
187jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CorporateDebtSecuritiesMember
Purchases 5,854us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CorporateDebtSecuritiesMember
7,602us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CorporateDebtSecuritiesMember
8,391us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CorporateDebtSecuritiesMember
Sales (3,372)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CorporateDebtSecuritiesMember
(5,975)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CorporateDebtSecuritiesMember
(6,186)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CorporateDebtSecuritiesMember
Settlements (4,531)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CorporateDebtSecuritiesMember
(1,882)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CorporateDebtSecuritiesMember
(3,045)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CorporateDebtSecuritiesMember
Transfers into and/or out of level 3 (1,092)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CorporateDebtSecuritiesMember
764us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CorporateDebtSecuritiesMember
(412)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CorporateDebtSecuritiesMember
Fair Value, Ending Balance 2,989us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CorporateDebtSecuritiesMember
5,920us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CorporateDebtSecuritiesMember
5,308us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CorporateDebtSecuritiesMember
Change in unrealized gains/(losses) related to financial instruments held 379us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CorporateDebtSecuritiesMember
466us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CorporateDebtSecuritiesMember
689us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CorporateDebtSecuritiesMember
Loans      
Assets      
Fair Value, Beginning balance 13,455us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= jpm_TradingLoansMember
10,787us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= jpm_TradingLoansMember
12,209us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= jpm_TradingLoansMember
Total realized/unrealized gains/(losses) 387jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByAssetClassAxis
= jpm_TradingLoansMember
665jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByAssetClassAxis
= jpm_TradingLoansMember
836jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByAssetClassAxis
= jpm_TradingLoansMember
Purchases 13,551us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= jpm_TradingLoansMember
10,411us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= jpm_TradingLoansMember
5,342us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= jpm_TradingLoansMember
Sales (7,917)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= jpm_TradingLoansMember
(7,431)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= jpm_TradingLoansMember
(3,269)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= jpm_TradingLoansMember
Settlements (4,623)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= jpm_TradingLoansMember
(685)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= jpm_TradingLoansMember
(3,801)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= jpm_TradingLoansMember
Transfers into and/or out of level 3 (1,566)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet
/ us-gaap_FairValueByAssetClassAxis
= jpm_TradingLoansMember
(292)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet
/ us-gaap_FairValueByAssetClassAxis
= jpm_TradingLoansMember
(530)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet
/ us-gaap_FairValueByAssetClassAxis
= jpm_TradingLoansMember
Fair Value, Ending Balance 13,287us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= jpm_TradingLoansMember
13,455us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= jpm_TradingLoansMember
10,787us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= jpm_TradingLoansMember
Change in unrealized gains/(losses) related to financial instruments held 123us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= jpm_TradingLoansMember
315us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= jpm_TradingLoansMember
411us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= jpm_TradingLoansMember
Asset-backed securities      
Assets      
Fair Value, Beginning balance 1,272us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= jpm_AssetBackedSecuritiesTradingAccountMember
3,696us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= jpm_AssetBackedSecuritiesTradingAccountMember
7,965us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= jpm_AssetBackedSecuritiesTradingAccountMember
Total realized/unrealized gains/(losses) 19jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByAssetClassAxis
= jpm_AssetBackedSecuritiesTradingAccountMember
191jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByAssetClassAxis
= jpm_AssetBackedSecuritiesTradingAccountMember
272jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByAssetClassAxis
= jpm_AssetBackedSecuritiesTradingAccountMember
Purchases 2,240us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= jpm_AssetBackedSecuritiesTradingAccountMember
1,912us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= jpm_AssetBackedSecuritiesTradingAccountMember
2,550us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= jpm_AssetBackedSecuritiesTradingAccountMember
Sales (2,126)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= jpm_AssetBackedSecuritiesTradingAccountMember
(2,379)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= jpm_AssetBackedSecuritiesTradingAccountMember
(6,468)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= jpm_AssetBackedSecuritiesTradingAccountMember
Settlements (283)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= jpm_AssetBackedSecuritiesTradingAccountMember
(292)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= jpm_AssetBackedSecuritiesTradingAccountMember
(614)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= jpm_AssetBackedSecuritiesTradingAccountMember
Transfers into and/or out of level 3 142us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet
/ us-gaap_FairValueByAssetClassAxis
= jpm_AssetBackedSecuritiesTradingAccountMember
(1,856)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet
/ us-gaap_FairValueByAssetClassAxis
= jpm_AssetBackedSecuritiesTradingAccountMember
(9)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet
/ us-gaap_FairValueByAssetClassAxis
= jpm_AssetBackedSecuritiesTradingAccountMember
Fair Value, Ending Balance 1,264us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= jpm_AssetBackedSecuritiesTradingAccountMember
1,272us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= jpm_AssetBackedSecuritiesTradingAccountMember
3,696us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= jpm_AssetBackedSecuritiesTradingAccountMember
Change in unrealized gains/(losses) related to financial instruments held (30)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= jpm_AssetBackedSecuritiesTradingAccountMember
105us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= jpm_AssetBackedSecuritiesTradingAccountMember
184us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= jpm_AssetBackedSecuritiesTradingAccountMember
Debt securities      
Assets      
Fair Value, Beginning balance 24,335us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_DebtSecuritiesMember
23,662us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_DebtSecuritiesMember
30,910us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_DebtSecuritiesMember
Total realized/unrealized gains/(losses) 716jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_DebtSecuritiesMember
1,724jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_DebtSecuritiesMember
1,274jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_DebtSecuritiesMember
Purchases 24,820us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_DebtSecuritiesMember
24,286us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_DebtSecuritiesMember
18,559us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_DebtSecuritiesMember
Sales (16,251)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_DebtSecuritiesMember
(20,446)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_DebtSecuritiesMember
(18,254)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_DebtSecuritiesMember
Settlements (9,801)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_DebtSecuritiesMember
(3,612)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_DebtSecuritiesMember
(7,753)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_DebtSecuritiesMember
Transfers into and/or out of level 3 (2,813)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_DebtSecuritiesMember
(1,279)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_DebtSecuritiesMember
(1,074)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_DebtSecuritiesMember
Fair Value, Ending Balance 21,006us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_DebtSecuritiesMember
24,335us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_DebtSecuritiesMember
23,662us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_DebtSecuritiesMember
Change in unrealized gains/(losses) related to financial instruments held 336us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_DebtSecuritiesMember
1,304us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_DebtSecuritiesMember
1,172us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_DebtSecuritiesMember
Equity securities      
Assets      
Fair Value, Beginning balance 885us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_EquitySecuritiesMember
1,114us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_EquitySecuritiesMember
1,177us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_EquitySecuritiesMember
Total realized/unrealized gains/(losses) 112jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_EquitySecuritiesMember
(41)jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_EquitySecuritiesMember
(209)jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_EquitySecuritiesMember
Purchases 248us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_EquitySecuritiesMember
328us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_EquitySecuritiesMember
460us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_EquitySecuritiesMember
Sales (272)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_EquitySecuritiesMember
(266)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_EquitySecuritiesMember
(379)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_EquitySecuritiesMember
Settlements (290)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_EquitySecuritiesMember
(135)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_EquitySecuritiesMember
(12)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_EquitySecuritiesMember
Transfers into and/or out of level 3 (252)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_EquitySecuritiesMember
(115)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_EquitySecuritiesMember
77us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_EquitySecuritiesMember
Fair Value, Ending Balance 431us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_EquitySecuritiesMember
885us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_EquitySecuritiesMember
1,114us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_EquitySecuritiesMember
Change in unrealized gains/(losses) related to financial instruments held 46us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_EquitySecuritiesMember
46us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_EquitySecuritiesMember
(112)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_EquitySecuritiesMember
Physical Commodities      
Assets      
Fair Value, Beginning balance 4us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= jpm_PhysicalCommoditiesMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= jpm_PhysicalCommoditiesMember
 
Total realized/unrealized gains/(losses) (1)jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByAssetClassAxis
= jpm_PhysicalCommoditiesMember
(4)jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByAssetClassAxis
= jpm_PhysicalCommoditiesMember
 
Purchases 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= jpm_PhysicalCommoditiesMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= jpm_PhysicalCommoditiesMember
 
Sales 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= jpm_PhysicalCommoditiesMember
(8)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= jpm_PhysicalCommoditiesMember
 
Settlements (1)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= jpm_PhysicalCommoditiesMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= jpm_PhysicalCommoditiesMember
 
Transfers into and/or out of level 3 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet
/ us-gaap_FairValueByAssetClassAxis
= jpm_PhysicalCommoditiesMember
16us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet
/ us-gaap_FairValueByAssetClassAxis
= jpm_PhysicalCommoditiesMember
 
Fair Value, Ending Balance 2us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= jpm_PhysicalCommoditiesMember
4us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= jpm_PhysicalCommoditiesMember
 
Change in unrealized gains/(losses) related to financial instruments held 0us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= jpm_PhysicalCommoditiesMember
(4)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= jpm_PhysicalCommoditiesMember
 
Other debt and equity instruments      
Assets      
Fair Value, Beginning balance 2,000us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= jpm_OtherDebtAndEquityInstrumentsMember
863us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= jpm_OtherDebtAndEquityInstrumentsMember
880us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= jpm_OtherDebtAndEquityInstrumentsMember
Total realized/unrealized gains/(losses) 239jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByAssetClassAxis
= jpm_OtherDebtAndEquityInstrumentsMember
558jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByAssetClassAxis
= jpm_OtherDebtAndEquityInstrumentsMember
186jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByAssetClassAxis
= jpm_OtherDebtAndEquityInstrumentsMember
Purchases 1,426us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= jpm_OtherDebtAndEquityInstrumentsMember
659us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= jpm_OtherDebtAndEquityInstrumentsMember
68us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= jpm_OtherDebtAndEquityInstrumentsMember
Sales (276)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= jpm_OtherDebtAndEquityInstrumentsMember
(95)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= jpm_OtherDebtAndEquityInstrumentsMember
(108)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= jpm_OtherDebtAndEquityInstrumentsMember
Settlements (201)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= jpm_OtherDebtAndEquityInstrumentsMember
(120)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= jpm_OtherDebtAndEquityInstrumentsMember
(163)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= jpm_OtherDebtAndEquityInstrumentsMember
Transfers into and/or out of level 3 (2,138)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet
/ us-gaap_FairValueByAssetClassAxis
= jpm_OtherDebtAndEquityInstrumentsMember
135us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet
/ us-gaap_FairValueByAssetClassAxis
= jpm_OtherDebtAndEquityInstrumentsMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet
/ us-gaap_FairValueByAssetClassAxis
= jpm_OtherDebtAndEquityInstrumentsMember
Fair Value, Ending Balance 1,050us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= jpm_OtherDebtAndEquityInstrumentsMember
2,000us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= jpm_OtherDebtAndEquityInstrumentsMember
863us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= jpm_OtherDebtAndEquityInstrumentsMember
Change in unrealized gains/(losses) related to financial instruments held 329us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= jpm_OtherDebtAndEquityInstrumentsMember
1,074us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= jpm_OtherDebtAndEquityInstrumentsMember
180us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= jpm_OtherDebtAndEquityInstrumentsMember
AFS securities      
Assets      
Fair Value, Beginning balance 2,322us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AvailableforsaleSecuritiesMember
28,916us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AvailableforsaleSecuritiesMember
25,486us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AvailableforsaleSecuritiesMember
Total realized/unrealized gains/(losses) (60)jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AvailableforsaleSecuritiesMember
30jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AvailableforsaleSecuritiesMember
190jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AvailableforsaleSecuritiesMember
Purchases 397us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AvailableforsaleSecuritiesMember
1,087us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AvailableforsaleSecuritiesMember
9,947us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AvailableforsaleSecuritiesMember
Sales (2)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AvailableforsaleSecuritiesMember
(273)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AvailableforsaleSecuritiesMember
(3,474)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AvailableforsaleSecuritiesMember
Settlements (324)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AvailableforsaleSecuritiesMember
(63)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AvailableforsaleSecuritiesMember
(3,349)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AvailableforsaleSecuritiesMember
Transfers into and/or out of level 3 (1,296)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AvailableforsaleSecuritiesMember
(27,375)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AvailableforsaleSecuritiesMember
116us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AvailableforsaleSecuritiesMember
Fair Value, Ending Balance 1,037us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AvailableforsaleSecuritiesMember
2,322us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AvailableforsaleSecuritiesMember
28,916us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AvailableforsaleSecuritiesMember
Change in unrealized gains/(losses) related to financial instruments held (42)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AvailableforsaleSecuritiesMember
29us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AvailableforsaleSecuritiesMember
177us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AvailableforsaleSecuritiesMember
Level 3 Rollforward Supplemental Data [Abstract]      
Realized gains/(losses) recorded in income (43)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AvailableforsaleSecuritiesMember
17us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AvailableforsaleSecuritiesMember
145us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AvailableforsaleSecuritiesMember
Unrealized gains/(losses) recorded in OCI (16)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AvailableforsaleSecuritiesMember
13us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AvailableforsaleSecuritiesMember
45us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AvailableforsaleSecuritiesMember
Asset-backed AFS securities      
Assets      
Fair Value, Beginning balance 1,088us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= jpm_AssetBackedSecurityAvailableForSaleMember
28,024us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= jpm_AssetBackedSecurityAvailableForSaleMember
24,958us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= jpm_AssetBackedSecurityAvailableForSaleMember
Total realized/unrealized gains/(losses) (41)jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByAssetClassAxis
= jpm_AssetBackedSecurityAvailableForSaleMember
4jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByAssetClassAxis
= jpm_AssetBackedSecurityAvailableForSaleMember
135jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByAssetClassAxis
= jpm_AssetBackedSecurityAvailableForSaleMember
Purchases 275us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= jpm_AssetBackedSecurityAvailableForSaleMember
579us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= jpm_AssetBackedSecurityAvailableForSaleMember
9,280us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= jpm_AssetBackedSecurityAvailableForSaleMember
Sales (2)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= jpm_AssetBackedSecurityAvailableForSaleMember
(57)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= jpm_AssetBackedSecurityAvailableForSaleMember
(3,361)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= jpm_AssetBackedSecurityAvailableForSaleMember
Settlements (101)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= jpm_AssetBackedSecurityAvailableForSaleMember
(57)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= jpm_AssetBackedSecurityAvailableForSaleMember
(3,104)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= jpm_AssetBackedSecurityAvailableForSaleMember
Transfers into and/or out of level 3 (311)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet
/ us-gaap_FairValueByAssetClassAxis
= jpm_AssetBackedSecurityAvailableForSaleMember
(27,405)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet
/ us-gaap_FairValueByAssetClassAxis
= jpm_AssetBackedSecurityAvailableForSaleMember
116us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet
/ us-gaap_FairValueByAssetClassAxis
= jpm_AssetBackedSecurityAvailableForSaleMember
Fair Value, Ending Balance 908us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= jpm_AssetBackedSecurityAvailableForSaleMember
1,088us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= jpm_AssetBackedSecurityAvailableForSaleMember
28,024us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= jpm_AssetBackedSecurityAvailableForSaleMember
Change in unrealized gains/(losses) related to financial instruments held (40)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= jpm_AssetBackedSecurityAvailableForSaleMember
4us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= jpm_AssetBackedSecurityAvailableForSaleMember
118us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= jpm_AssetBackedSecurityAvailableForSaleMember
Other Available For Sale Securities      
Assets      
Fair Value, Beginning balance 1,234us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= jpm_OtherAvailableForSaleSecuritiesMember
892us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= jpm_OtherAvailableForSaleSecuritiesMember
528us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= jpm_OtherAvailableForSaleSecuritiesMember
Total realized/unrealized gains/(losses) (19)jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByAssetClassAxis
= jpm_OtherAvailableForSaleSecuritiesMember
26jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByAssetClassAxis
= jpm_OtherAvailableForSaleSecuritiesMember
55jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByAssetClassAxis
= jpm_OtherAvailableForSaleSecuritiesMember
Purchases 122us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= jpm_OtherAvailableForSaleSecuritiesMember
508us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= jpm_OtherAvailableForSaleSecuritiesMember
667us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= jpm_OtherAvailableForSaleSecuritiesMember
Sales 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= jpm_OtherAvailableForSaleSecuritiesMember
(216)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= jpm_OtherAvailableForSaleSecuritiesMember
(113)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= jpm_OtherAvailableForSaleSecuritiesMember
Settlements (223)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= jpm_OtherAvailableForSaleSecuritiesMember
(6)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= jpm_OtherAvailableForSaleSecuritiesMember
(245)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= jpm_OtherAvailableForSaleSecuritiesMember
Transfers into and/or out of level 3 (985)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet
/ us-gaap_FairValueByAssetClassAxis
= jpm_OtherAvailableForSaleSecuritiesMember
30us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet
/ us-gaap_FairValueByAssetClassAxis
= jpm_OtherAvailableForSaleSecuritiesMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet
/ us-gaap_FairValueByAssetClassAxis
= jpm_OtherAvailableForSaleSecuritiesMember
Fair Value, Ending Balance 129us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= jpm_OtherAvailableForSaleSecuritiesMember
1,234us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= jpm_OtherAvailableForSaleSecuritiesMember
892us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= jpm_OtherAvailableForSaleSecuritiesMember
Change in unrealized gains/(losses) related to financial instruments held (2)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= jpm_OtherAvailableForSaleSecuritiesMember
25us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= jpm_OtherAvailableForSaleSecuritiesMember
59us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= jpm_OtherAvailableForSaleSecuritiesMember
Loans      
Assets      
Fair Value, Beginning balance 1,931us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= jpm_LoansReceivableNotForTradingMember
2,282us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= jpm_LoansReceivableNotForTradingMember
1,647us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= jpm_LoansReceivableNotForTradingMember
Total realized/unrealized gains/(losses) (254)jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByAssetClassAxis
= jpm_LoansReceivableNotForTradingMember
81jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByAssetClassAxis
= jpm_LoansReceivableNotForTradingMember
695jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByAssetClassAxis
= jpm_LoansReceivableNotForTradingMember
Purchases 3,258us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= jpm_LoansReceivableNotForTradingMember
1,065us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= jpm_LoansReceivableNotForTradingMember
1,536us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= jpm_LoansReceivableNotForTradingMember
Sales (845)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= jpm_LoansReceivableNotForTradingMember
(191)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= jpm_LoansReceivableNotForTradingMember
(22)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= jpm_LoansReceivableNotForTradingMember
Settlements (1,549)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= jpm_LoansReceivableNotForTradingMember
(1,306)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= jpm_LoansReceivableNotForTradingMember
(1,718)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= jpm_LoansReceivableNotForTradingMember
Transfers into and/or out of level 3 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet
/ us-gaap_FairValueByAssetClassAxis
= jpm_LoansReceivableNotForTradingMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet
/ us-gaap_FairValueByAssetClassAxis
= jpm_LoansReceivableNotForTradingMember
144us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet
/ us-gaap_FairValueByAssetClassAxis
= jpm_LoansReceivableNotForTradingMember
Fair Value, Ending Balance 2,541us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= jpm_LoansReceivableNotForTradingMember
1,931us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= jpm_LoansReceivableNotForTradingMember
2,282us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= jpm_LoansReceivableNotForTradingMember
Change in unrealized gains/(losses) related to financial instruments held (234)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= jpm_LoansReceivableNotForTradingMember
(21)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= jpm_LoansReceivableNotForTradingMember
12us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= jpm_LoansReceivableNotForTradingMember
Mortgage servicing rights      
Assets      
Fair Value, Beginning balance 9,614us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ServicingContractsMember
7,614us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ServicingContractsMember
7,223us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ServicingContractsMember
Total realized/unrealized gains/(losses) (1,826)jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ServicingContractsMember
1,612jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ServicingContractsMember
(635)jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ServicingContractsMember
Purchases 768us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ServicingContractsMember
2,215us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ServicingContractsMember
2,833us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ServicingContractsMember
Sales (209)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ServicingContractsMember
(725)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ServicingContractsMember
(579)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ServicingContractsMember
Settlements (911)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ServicingContractsMember
(1,102)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ServicingContractsMember
(1,228)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ServicingContractsMember
Transfers into and/or out of level 3 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ServicingContractsMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ServicingContractsMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ServicingContractsMember
Fair Value, Ending Balance 7,436us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ServicingContractsMember
9,614us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ServicingContractsMember
7,614us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ServicingContractsMember
Change in unrealized gains/(losses) related to financial instruments held (1,826)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ServicingContractsMember
1,612us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ServicingContractsMember
(635)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ServicingContractsMember
Private equity      
Assets      
Fair Value, Beginning balance 6,474us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_PrivateEquityFundsMember
7,181us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_PrivateEquityFundsMember
6,751us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_PrivateEquityFundsMember
Total realized/unrealized gains/(losses) 443jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_PrivateEquityFundsMember
645jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_PrivateEquityFundsMember
420jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_PrivateEquityFundsMember
Purchases 164us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_PrivateEquityFundsMember
673us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_PrivateEquityFundsMember
1,545us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_PrivateEquityFundsMember
Sales (1,967)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_PrivateEquityFundsMember
(1,137)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_PrivateEquityFundsMember
(512)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_PrivateEquityFundsMember
Settlements (360)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_PrivateEquityFundsMember
(687)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_PrivateEquityFundsMember
(977)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_PrivateEquityFundsMember
Transfers into and/or out of level 3 (2,279)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_PrivateEquityFundsMember
(201)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_PrivateEquityFundsMember
(46)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_PrivateEquityFundsMember
Fair Value, Ending Balance 2,475us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_PrivateEquityFundsMember
6,474us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_PrivateEquityFundsMember
7,181us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_PrivateEquityFundsMember
Change in unrealized gains/(losses) related to financial instruments held 26us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_PrivateEquityFundsMember
262us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_PrivateEquityFundsMember
333us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_PrivateEquityFundsMember
All other assets      
Assets      
Fair Value, Beginning balance 3,176us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= jpm_AllOtherAssetClassesMember
4,258us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= jpm_AllOtherAssetClassesMember
4,374us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= jpm_AllOtherAssetClassesMember
Total realized/unrealized gains/(losses) 33jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByAssetClassAxis
= jpm_AllOtherAssetClassesMember
98jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByAssetClassAxis
= jpm_AllOtherAssetClassesMember
(195)jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByAssetClassAxis
= jpm_AllOtherAssetClassesMember
Purchases 190us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= jpm_AllOtherAssetClassesMember
272us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= jpm_AllOtherAssetClassesMember
818us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= jpm_AllOtherAssetClassesMember
Sales (451)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= jpm_AllOtherAssetClassesMember
(730)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= jpm_AllOtherAssetClassesMember
(238)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= jpm_AllOtherAssetClassesMember
Settlements (577)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= jpm_AllOtherAssetClassesMember
(722)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= jpm_AllOtherAssetClassesMember
(501)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= jpm_AllOtherAssetClassesMember
Transfers into and/or out of level 3 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet
/ us-gaap_FairValueByAssetClassAxis
= jpm_AllOtherAssetClassesMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet
/ us-gaap_FairValueByAssetClassAxis
= jpm_AllOtherAssetClassesMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet
/ us-gaap_FairValueByAssetClassAxis
= jpm_AllOtherAssetClassesMember
Fair Value, Ending Balance 2,371us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= jpm_AllOtherAssetClassesMember
3,176us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= jpm_AllOtherAssetClassesMember
4,258us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= jpm_AllOtherAssetClassesMember
Change in unrealized gains/(losses) related to financial instruments held $ 11us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= jpm_AllOtherAssetClassesMember
$ 53us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= jpm_AllOtherAssetClassesMember
$ (200)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= jpm_AllOtherAssetClassesMember