XML 61 R62.htm IDEA: XBRL DOCUMENT v2.4.1.9
Fair Value Measurement - Changes in Level 3 Recurring Measurements (Details) (USD $)
In Millions, unless otherwise specified
3 Months Ended
Mar. 31, 2015
Mar. 31, 2014
Dec. 31, 2014
Net derivative receivables:      
Beginning balance $ (2,061)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs $ 326us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs  
Total realized/unrealized gains/(losses) 530jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisNetDerivativeAssetLiabilityRealizedandUnrealizedGainsLosses (373)jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisNetDerivativeAssetLiabilityRealizedandUnrealizedGainsLosses  
Purchases 531us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationPurchases 969us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationPurchases  
Sales (369)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSales (1,092)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSales  
Settlements (488)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSettlements 0us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSettlements  
Transfers into and/or out of level 3 9us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationTransfersNet 104us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationTransfersNet  
Ending balance (1,848)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs (66)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs  
Change in unrealized gains/(losses) related to financial instruments held 629jpm_FairValueNetDerivativeAssetLiabilityMeasuredonRecurringBasisChangeinUnrealizedGainLoss (266)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   15.00%jpm_LevelThreeLiabilitiesAsPercentageOfTotalFirmLiabilitiesAtFairValue
Deposits      
Liabilities      
Beginning balance 2,859us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_DepositsMember
2,255us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_DepositsMember
 
Total realized/unrealized gains/(losses) 92jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisLiabilityRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_DepositsMember
37jpm_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
 
Sales 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPurchases
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_DepositsMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPurchases
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_DepositsMember
 
Issuances 775us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_DepositsMember
290us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_DepositsMember
 
Settlements (115)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_DepositsMember
(42)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_DepositsMember
 
Transfers into and/or out of level 3 (271)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityTransfersNet
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_DepositsMember
(154)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityTransfersNet
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_DepositsMember
 
Ending balance 3,340us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_DepositsMember
2,386us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_DepositsMember
 
Change in unrealized gains(losses) related to financials instruments held 88us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_DepositsMember
28us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_DepositsMember
 
Other borrowed funds      
Liabilities      
Beginning balance 1,453us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_BorrowingsMember
2,074us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_BorrowingsMember
 
Total realized/unrealized gains/(losses) (119)jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisLiabilityRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_BorrowingsMember
39jpm_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
 
Sales 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPurchases
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_BorrowingsMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPurchases
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_BorrowingsMember
 
Issuances 1,048us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_BorrowingsMember
1,333us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_BorrowingsMember
 
Settlements (981)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_BorrowingsMember
(2,107)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_BorrowingsMember
 
Transfers into and/or out of level 3 (285)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityTransfersNet
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_BorrowingsMember
196us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityTransfersNet
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_BorrowingsMember
 
Ending balance 1,116us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_BorrowingsMember
1,535us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_BorrowingsMember
 
Change in unrealized gains(losses) related to financials instruments held (110)us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_BorrowingsMember
113us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_BorrowingsMember
 
Total debt and equity instruments      
Liabilities      
Beginning balance 72us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_DebtAndEquityInstrumentsMember
113us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_DebtAndEquityInstrumentsMember
 
Total realized/unrealized gains/(losses) 3jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisLiabilityRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_DebtAndEquityInstrumentsMember
0jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisLiabilityRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_DebtAndEquityInstrumentsMember
 
Purchases (108)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySales
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_DebtAndEquityInstrumentsMember
(216)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySales
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_DebtAndEquityInstrumentsMember
 
Sales 126us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPurchases
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_DebtAndEquityInstrumentsMember
208us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPurchases
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_DebtAndEquityInstrumentsMember
 
Issuances 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_DebtAndEquityInstrumentsMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_DebtAndEquityInstrumentsMember
 
Settlements (9)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_DebtAndEquityInstrumentsMember
(4)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_DebtAndEquityInstrumentsMember
 
Transfers into and/or out of level 3 (2)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityTransfersNet
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_DebtAndEquityInstrumentsMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityTransfersNet
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_DebtAndEquityInstrumentsMember
 
Ending balance 82us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_DebtAndEquityInstrumentsMember
101us-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
0us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_DebtAndEquityInstrumentsMember
 
Accounts payable and other liabilities      
Liabilities      
Beginning balance 26us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_AccountsPayableAndOtherLiabilitiesMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_AccountsPayableAndOtherLiabilitiesMember
 
Total realized/unrealized gains/(losses) 0jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisLiabilityRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_AccountsPayableAndOtherLiabilitiesMember
0jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisLiabilityRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_AccountsPayableAndOtherLiabilitiesMember
 
Purchases 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
 
Issuances 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_AccountsPayableAndOtherLiabilitiesMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_AccountsPayableAndOtherLiabilitiesMember
 
Settlements (3)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_AccountsPayableAndOtherLiabilitiesMember
0us-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
 
Ending balance 23us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_AccountsPayableAndOtherLiabilitiesMember
0us-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
0us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_AccountsPayableAndOtherLiabilitiesMember
 
Beneficial interests issued by consolidated VIEs      
Liabilities      
Beginning balance 1,146us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_BeneficialInterestsIssuedByConsolidatedVariableInterestEntitiesMember
1,240us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_BeneficialInterestsIssuedByConsolidatedVariableInterestEntitiesMember
 
Total realized/unrealized gains/(losses) (53)jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisLiabilityRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_BeneficialInterestsIssuedByConsolidatedVariableInterestEntitiesMember
47jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisLiabilityRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_BeneficialInterestsIssuedByConsolidatedVariableInterestEntitiesMember
 
Purchases 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
 
Issuances 2us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_BeneficialInterestsIssuedByConsolidatedVariableInterestEntitiesMember
78us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_BeneficialInterestsIssuedByConsolidatedVariableInterestEntitiesMember
 
Settlements (72)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_BeneficialInterestsIssuedByConsolidatedVariableInterestEntitiesMember
(205)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_BeneficialInterestsIssuedByConsolidatedVariableInterestEntitiesMember
 
Transfers into and/or out of level 3 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityTransfersNet
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_BeneficialInterestsIssuedByConsolidatedVariableInterestEntitiesMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityTransfersNet
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_BeneficialInterestsIssuedByConsolidatedVariableInterestEntitiesMember
 
Ending balance 1,023us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_BeneficialInterestsIssuedByConsolidatedVariableInterestEntitiesMember
1,160us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_BeneficialInterestsIssuedByConsolidatedVariableInterestEntitiesMember
 
Change in unrealized gains(losses) related to financials instruments held (47)us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_BeneficialInterestsIssuedByConsolidatedVariableInterestEntitiesMember
50us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByLiabilityClassAxis
= jpm_BeneficialInterestsIssuedByConsolidatedVariableInterestEntitiesMember
 
Long-term debt      
Liabilities      
Beginning balance 11,877us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_LongTermDebtMember
10,008us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_LongTermDebtMember
 
Total realized/unrealized gains/(losses) (105)jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisLiabilityRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_LongTermDebtMember
102jpm_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
 
Sales (12)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPurchases
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_LongTermDebtMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPurchases
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_LongTermDebtMember
 
Issuances 2,837us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_LongTermDebtMember
1,832us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_LongTermDebtMember
 
Settlements (2,371)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_LongTermDebtMember
(1,010)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_LongTermDebtMember
 
Transfers into and/or out of level 3 (223)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityTransfersNet
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_LongTermDebtMember
271us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityTransfersNet
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_LongTermDebtMember
 
Ending balance 12,003us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_LongTermDebtMember
11,203us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_LongTermDebtMember
 
Change in unrealized gains(losses) related to financials instruments held (96)us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_LongTermDebtMember
129us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_LongTermDebtMember
 
Interest rate contracts      
Net derivative receivables:      
Beginning balance 626us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
2,379us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
 
Total realized/unrealized gains/(losses) 142jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisNetDerivativeAssetLiabilityRealizedandUnrealizedGainsLosses
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
24jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisNetDerivativeAssetLiabilityRealizedandUnrealizedGainsLosses
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
 
Purchases 309us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationPurchases
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
48us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationPurchases
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
 
Sales (74)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSales
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
(43)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSales
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
 
Settlements (255)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSettlements
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
(338)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSettlements
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
 
Transfers into and/or out of level 3 (98)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationTransfersNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
20us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationTransfersNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
 
Ending balance 650us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
2,090us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
 
Change in unrealized gains/(losses) related to financial instruments held 308jpm_FairValueNetDerivativeAssetLiabilityMeasuredonRecurringBasisChangeinUnrealizedGainLoss
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
(342)jpm_FairValueNetDerivativeAssetLiabilityMeasuredonRecurringBasisChangeinUnrealizedGainLoss
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
 
Credit derivatives      
Net derivative receivables:      
Beginning balance 189us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
95us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
 
Total realized/unrealized gains/(losses) 77jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisNetDerivativeAssetLiabilityRealizedandUnrealizedGainsLosses
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
(115)jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisNetDerivativeAssetLiabilityRealizedandUnrealizedGainsLosses
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
 
Purchases 9us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationPurchases
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
58us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationPurchases
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
 
Sales (3)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSales
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
0us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSales
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
 
Settlements 19us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSettlements
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
206us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSettlements
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
 
Transfers into and/or out of level 3 (16)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationTransfersNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
0us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationTransfersNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
 
Ending balance 275us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
244us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
 
Change in unrealized gains/(losses) related to financial instruments held 75jpm_FairValueNetDerivativeAssetLiabilityMeasuredonRecurringBasisChangeinUnrealizedGainLoss
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
(97)jpm_FairValueNetDerivativeAssetLiabilityMeasuredonRecurringBasisChangeinUnrealizedGainLoss
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditRiskContractMember
 
Foreign exchange contracts      
Net derivative receivables:      
Beginning balance (526)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
(1,200)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
 
Total realized/unrealized gains/(losses) 827jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisNetDerivativeAssetLiabilityRealizedandUnrealizedGainsLosses
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
(199)jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisNetDerivativeAssetLiabilityRealizedandUnrealizedGainsLosses
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
 
Purchases 5us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationPurchases
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
61us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationPurchases
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
 
Sales (3)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSales
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
(16)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSales
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
 
Settlements 201us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSettlements
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
49us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSettlements
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
 
Transfers into and/or out of level 3 203us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationTransfersNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
23us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationTransfersNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
 
Ending balance 707us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
(1,282)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
 
Change in unrealized gains/(losses) related to financial instruments held 779jpm_FairValueNetDerivativeAssetLiabilityMeasuredonRecurringBasisChangeinUnrealizedGainLoss
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
(349)jpm_FairValueNetDerivativeAssetLiabilityMeasuredonRecurringBasisChangeinUnrealizedGainLoss
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
 
Equity      
Net derivative receivables:      
Beginning balance (1,785)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
(1,063)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
 
Total realized/unrealized gains/(losses) (476)jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisNetDerivativeAssetLiabilityRealizedandUnrealizedGainsLosses
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
71jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisNetDerivativeAssetLiabilityRealizedandUnrealizedGainsLosses
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
 
Purchases 208us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationPurchases
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
801us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationPurchases
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
 
Sales (289)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSales
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
(1,033)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSales
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
 
Settlements (355)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSettlements
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
125us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSettlements
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
 
Transfers into and/or out of level 3 (48)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationTransfersNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
39us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationTransfersNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
 
Ending balance (2,745)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
(1,060)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
 
Change in unrealized gains/(losses) related to financial instruments held (484)jpm_FairValueNetDerivativeAssetLiabilityMeasuredonRecurringBasisChangeinUnrealizedGainLoss
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
582jpm_FairValueNetDerivativeAssetLiabilityMeasuredonRecurringBasisChangeinUnrealizedGainLoss
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_EquityContractMember
 
Commodity contracts      
Net derivative receivables:      
Beginning balance (565)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
115us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
 
Total realized/unrealized gains/(losses) (40)jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisNetDerivativeAssetLiabilityRealizedandUnrealizedGainsLosses
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
(154)jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisNetDerivativeAssetLiabilityRealizedandUnrealizedGainsLosses
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
 
Purchases 0us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationPurchases
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
1us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationPurchases
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
 
Sales 0us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSales
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
0us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSales
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
 
Settlements (98)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSettlements
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
(42)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSettlements
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
 
Transfers into and/or out of level 3 (32)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationTransfersNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
22us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationTransfersNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
 
Ending balance (735)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
(58)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
 
Change in unrealized gains/(losses) related to financial instruments held (49)jpm_FairValueNetDerivativeAssetLiabilityMeasuredonRecurringBasisChangeinUnrealizedGainLoss
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
(60)jpm_FairValueNetDerivativeAssetLiabilityMeasuredonRecurringBasisChangeinUnrealizedGainLoss
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
 
Total debt and equity instruments      
Assets      
Fair Value, Beginning balance 22,489us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= jpm_DebtAndEquityInstrumentsMember
27,224us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= jpm_DebtAndEquityInstrumentsMember
 
Total realized/unrealized gains/(losses) (394)jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByAssetClassAxis
= jpm_DebtAndEquityInstrumentsMember
650jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByAssetClassAxis
= jpm_DebtAndEquityInstrumentsMember
 
Purchases 3,071us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= jpm_DebtAndEquityInstrumentsMember
5,249us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= jpm_DebtAndEquityInstrumentsMember
 
Sales (4,386)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= jpm_DebtAndEquityInstrumentsMember
(5,129)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= jpm_DebtAndEquityInstrumentsMember
 
Settlements (721)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= jpm_DebtAndEquityInstrumentsMember
(2,499)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= jpm_DebtAndEquityInstrumentsMember
 
Transfers into and/or out of level 3 (887)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet
/ us-gaap_FairValueByAssetClassAxis
= jpm_DebtAndEquityInstrumentsMember
(1,172)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet
/ us-gaap_FairValueByAssetClassAxis
= jpm_DebtAndEquityInstrumentsMember
 
Fair Value, Ending Balance 19,172us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= jpm_DebtAndEquityInstrumentsMember
24,323us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= jpm_DebtAndEquityInstrumentsMember
 
Change in unrealized gains/(losses) related to financial instruments held (392)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= jpm_DebtAndEquityInstrumentsMember
638us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= jpm_DebtAndEquityInstrumentsMember
 
Mortgage-backed securities      
Assets      
Fair Value, Beginning balance 1,891us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesMember
2,163us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesMember
 
Total realized/unrealized gains/(losses) (74)jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesMember
47jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesMember
 
Purchases 308us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesMember
844us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesMember
 
Sales (515)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesMember
(656)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesMember
 
Settlements (54)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesMember
(53)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesMember
 
Transfers into and/or out of level 3 (8)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesMember
(15)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesMember
 
Fair Value, Ending Balance 1,548us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesMember
2,330us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesMember
 
Change in unrealized gains/(losses) related to financial instruments held (102)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesMember
29us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesMember
 
Mortgage-backed securities, U.S. government agencies      
Assets      
Fair Value, Beginning balance 922us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentCorporationsAndAgenciesSecuritiesMember
1,005us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentCorporationsAndAgenciesSecuritiesMember
 
Total realized/unrealized gains/(losses) (53)jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentCorporationsAndAgenciesSecuritiesMember
3jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentCorporationsAndAgenciesSecuritiesMember
 
Purchases 74us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentCorporationsAndAgenciesSecuritiesMember
331us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentCorporationsAndAgenciesSecuritiesMember
 
Sales (17)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentCorporationsAndAgenciesSecuritiesMember
(162)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentCorporationsAndAgenciesSecuritiesMember
 
Settlements (40)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentCorporationsAndAgenciesSecuritiesMember
(27)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentCorporationsAndAgenciesSecuritiesMember
 
Transfers into and/or out of level 3 2us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentCorporationsAndAgenciesSecuritiesMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentCorporationsAndAgenciesSecuritiesMember
 
Fair Value, Ending Balance 888us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentCorporationsAndAgenciesSecuritiesMember
1,150us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentCorporationsAndAgenciesSecuritiesMember
 
Change in unrealized gains/(losses) related to financial instruments held (52)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentCorporationsAndAgenciesSecuritiesMember
5us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentCorporationsAndAgenciesSecuritiesMember
 
Mortgage-backed securities, Residential - nonagency      
Assets      
Fair Value, Beginning balance 663us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
726us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
 
Total realized/unrealized gains/(losses) (10)jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
24jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
 
Purchases 152us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
192us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
 
Sales (347)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
(200)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
 
Settlements (6)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
(12)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
 
Transfers into and/or out of level 3 (3)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
(15)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
 
Fair Value, Ending Balance 449us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
715us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
 
Change in unrealized gains/(losses) related to financial instruments held (34)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
14us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
 
Mortgage-backed securities, Commercial - nonagency      
Assets      
Fair Value, Beginning balance 306us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
432us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
 
Total realized/unrealized gains/(losses) (11)jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
20jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
 
Purchases 82us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
321us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
 
Sales (151)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
(294)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
 
Settlements (8)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
(14)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
 
Transfers into and/or out of level 3 (7)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
 
Fair Value, Ending Balance 211us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
465us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
 
Change in unrealized gains/(losses) related to financial instruments held (16)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
10us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
 
Obligations of U.S. states and municipalities      
Assets      
Fair Value, Beginning balance 1,273us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
1,382us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
 
Total realized/unrealized gains/(losses) 10jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
22jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
 
Purchases 144us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
 
Sales (71)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
(185)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
 
Settlements (25)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
0us-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
 
Fair Value, Ending Balance 1,331us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
1,219us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
 
Change in unrealized gains/(losses) related to financial instruments held 8us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
9us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
 
Non-U.S. government debt securities      
Assets      
Fair Value, Beginning balance 302us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
143us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
 
Total realized/unrealized gains/(losses) 1jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
16jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
 
Purchases 101us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
410us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
 
Sales (92)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
(516)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
 
Settlements (31)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
(1)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
 
Transfers into and/or out of level 3 (101)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
 
Fair Value, Ending Balance 180us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
52us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
 
Change in unrealized gains/(losses) related to financial instruments held 1us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
22us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
 
Corporate debt securities      
Assets      
Fair Value, Beginning balance 2,989us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CorporateDebtSecuritiesMember
5,920us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CorporateDebtSecuritiesMember
 
Total realized/unrealized gains/(losses) (55)jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CorporateDebtSecuritiesMember
238jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CorporateDebtSecuritiesMember
 
Purchases 533us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CorporateDebtSecuritiesMember
1,197us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CorporateDebtSecuritiesMember
 
Sales (496)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CorporateDebtSecuritiesMember
(1,352)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CorporateDebtSecuritiesMember
 
Settlements (92)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CorporateDebtSecuritiesMember
(841)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CorporateDebtSecuritiesMember
 
Transfers into and/or out of level 3 (120)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CorporateDebtSecuritiesMember
(289)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CorporateDebtSecuritiesMember
 
Fair Value, Ending Balance 2,759us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CorporateDebtSecuritiesMember
4,873us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CorporateDebtSecuritiesMember
 
Change in unrealized gains/(losses) related to financial instruments held (26)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CorporateDebtSecuritiesMember
213us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CorporateDebtSecuritiesMember
 
Loans      
Assets      
Fair Value, Beginning balance 13,287us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= jpm_TradingLoansMember
13,455us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= jpm_TradingLoansMember
 
Total realized/unrealized gains/(losses) (285)jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByAssetClassAxis
= jpm_TradingLoansMember
319jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByAssetClassAxis
= jpm_TradingLoansMember
 
Purchases 736us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= jpm_TradingLoansMember
2,158us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= jpm_TradingLoansMember
 
Sales (1,997)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= jpm_TradingLoansMember
(1,794)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= jpm_TradingLoansMember
 
Settlements (469)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= jpm_TradingLoansMember
(1,546)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= jpm_TradingLoansMember
 
Transfers into and/or out of level 3 (509)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet
/ us-gaap_FairValueByAssetClassAxis
= jpm_TradingLoansMember
(71)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet
/ us-gaap_FairValueByAssetClassAxis
= jpm_TradingLoansMember
 
Fair Value, Ending Balance 10,763us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= jpm_TradingLoansMember
12,521us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= jpm_TradingLoansMember
 
Change in unrealized gains/(losses) related to financial instruments held (275)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= jpm_TradingLoansMember
295us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= jpm_TradingLoansMember
 
Asset-backed securities      
Assets      
Fair Value, Beginning balance 1,264us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= jpm_AssetBackedSecuritiesTradingAccountMember
1,272us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= jpm_AssetBackedSecuritiesTradingAccountMember
 
Total realized/unrealized gains/(losses) (37)jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByAssetClassAxis
= jpm_AssetBackedSecuritiesTradingAccountMember
24jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByAssetClassAxis
= jpm_AssetBackedSecuritiesTradingAccountMember
 
Purchases 559us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= jpm_AssetBackedSecuritiesTradingAccountMember
550us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= jpm_AssetBackedSecuritiesTradingAccountMember
 
Sales (521)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= jpm_AssetBackedSecuritiesTradingAccountMember
(556)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= jpm_AssetBackedSecuritiesTradingAccountMember
 
Settlements 32us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= jpm_AssetBackedSecuritiesTradingAccountMember
(20)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= jpm_AssetBackedSecuritiesTradingAccountMember
 
Transfers into and/or out of level 3 (64)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet
/ us-gaap_FairValueByAssetClassAxis
= jpm_AssetBackedSecuritiesTradingAccountMember
(114)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet
/ us-gaap_FairValueByAssetClassAxis
= jpm_AssetBackedSecuritiesTradingAccountMember
 
Fair Value, Ending Balance 1,233us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= jpm_AssetBackedSecuritiesTradingAccountMember
1,156us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= jpm_AssetBackedSecuritiesTradingAccountMember
 
Change in unrealized gains/(losses) related to financial instruments held (44)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= jpm_AssetBackedSecuritiesTradingAccountMember
19us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= jpm_AssetBackedSecuritiesTradingAccountMember
 
Debt securities      
Assets      
Fair Value, Beginning balance 21,006us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_DebtSecuritiesMember
24,335us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_DebtSecuritiesMember
 
Total realized/unrealized gains/(losses) (440)jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_DebtSecuritiesMember
666jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_DebtSecuritiesMember
 
Purchases 2,381us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_DebtSecuritiesMember
5,159us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_DebtSecuritiesMember
 
Sales (3,692)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_DebtSecuritiesMember
(5,059)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_DebtSecuritiesMember
 
Settlements (639)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_DebtSecuritiesMember
(2,461)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_DebtSecuritiesMember
 
Transfers into and/or out of level 3 (802)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_DebtSecuritiesMember
(489)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_DebtSecuritiesMember
 
Fair Value, Ending Balance 17,814us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_DebtSecuritiesMember
22,151us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_DebtSecuritiesMember
 
Change in unrealized gains/(losses) related to financial instruments held (438)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_DebtSecuritiesMember
587us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_DebtSecuritiesMember
 
Equity securities      
Assets      
Fair Value, Beginning balance 431us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_EquitySecuritiesMember
885us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_EquitySecuritiesMember
 
Total realized/unrealized gains/(losses) 38jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_EquitySecuritiesMember
81jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_EquitySecuritiesMember
 
Purchases 29us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_EquitySecuritiesMember
36us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_EquitySecuritiesMember
 
Sales (110)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_EquitySecuritiesMember
(19)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_EquitySecuritiesMember
 
Settlements (3)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_EquitySecuritiesMember
(9)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_EquitySecuritiesMember
 
Transfers into and/or out of level 3 (68)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_EquitySecuritiesMember
(89)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_EquitySecuritiesMember
 
Fair Value, Ending Balance 317us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_EquitySecuritiesMember
885us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_EquitySecuritiesMember
 
Change in unrealized gains/(losses) related to financial instruments held 31us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_EquitySecuritiesMember
70us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_EquitySecuritiesMember
 
Physical Commodities      
Assets      
Fair Value, Beginning balance   4us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= jpm_PhysicalCommoditiesMember
 
Total realized/unrealized gains/(losses)   0jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByAssetClassAxis
= jpm_PhysicalCommoditiesMember
 
Purchases   0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= jpm_PhysicalCommoditiesMember
 
Sales   0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= jpm_PhysicalCommoditiesMember
 
Settlements   (1)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= jpm_PhysicalCommoditiesMember
 
Transfers into and/or out of level 3   0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet
/ us-gaap_FairValueByAssetClassAxis
= jpm_PhysicalCommoditiesMember
 
Fair Value, Ending Balance   3us-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
 
Other debt and equity instruments      
Assets      
Fair Value, Beginning balance 1,052us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= jpm_OtherDebtAndEquityInstrumentsMember
2,000us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= jpm_OtherDebtAndEquityInstrumentsMember
 
Total realized/unrealized gains/(losses) 8jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByAssetClassAxis
= jpm_OtherDebtAndEquityInstrumentsMember
(97)jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByAssetClassAxis
= jpm_OtherDebtAndEquityInstrumentsMember
 
Purchases 661us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= jpm_OtherDebtAndEquityInstrumentsMember
54us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= jpm_OtherDebtAndEquityInstrumentsMember
 
Sales (584)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= jpm_OtherDebtAndEquityInstrumentsMember
(51)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= jpm_OtherDebtAndEquityInstrumentsMember
 
Settlements (79)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= jpm_OtherDebtAndEquityInstrumentsMember
(28)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= jpm_OtherDebtAndEquityInstrumentsMember
 
Transfers into and/or out of level 3 (17)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet
/ us-gaap_FairValueByAssetClassAxis
= jpm_OtherDebtAndEquityInstrumentsMember
(594)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet
/ us-gaap_FairValueByAssetClassAxis
= jpm_OtherDebtAndEquityInstrumentsMember
 
Fair Value, Ending Balance 1,041us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= jpm_OtherDebtAndEquityInstrumentsMember
1,284us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= jpm_OtherDebtAndEquityInstrumentsMember
 
Change in unrealized gains/(losses) related to financial instruments held 15us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= jpm_OtherDebtAndEquityInstrumentsMember
(19)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= jpm_OtherDebtAndEquityInstrumentsMember
 
AFS securities      
Assets      
Fair Value, Beginning balance 1,037us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AvailableforsaleSecuritiesMember
2,322us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AvailableforsaleSecuritiesMember
 
Total realized/unrealized gains/(losses) (9)jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AvailableforsaleSecuritiesMember
(5)jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AvailableforsaleSecuritiesMember
 
Purchases 49us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AvailableforsaleSecuritiesMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AvailableforsaleSecuritiesMember
 
Sales (43)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AvailableforsaleSecuritiesMember
(2)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AvailableforsaleSecuritiesMember
 
Settlements (31)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AvailableforsaleSecuritiesMember
(61)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AvailableforsaleSecuritiesMember
 
Transfers into and/or out of level 3 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AvailableforsaleSecuritiesMember
63us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AvailableforsaleSecuritiesMember
 
Fair Value, Ending Balance 1,003us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AvailableforsaleSecuritiesMember
2,317us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AvailableforsaleSecuritiesMember
 
Change in unrealized gains/(losses) related to financial instruments held (4)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AvailableforsaleSecuritiesMember
(5)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AvailableforsaleSecuritiesMember
 
Level 3 Rollforward Supplemental Data [Abstract]      
Realized gains/(losses) recorded in income (7)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AvailableforsaleSecuritiesMember
(1)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AvailableforsaleSecuritiesMember
 
Unrealized gains/(losses) recorded in OCI (2)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AvailableforsaleSecuritiesMember
(4)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInOtherComprehensiveIncomeLoss
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AvailableforsaleSecuritiesMember
 
Asset-backed AFS securities      
Assets      
Fair Value, Beginning balance 908us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= jpm_AssetBackedSecurityAvailableForSaleMember
1,088us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= jpm_AssetBackedSecurityAvailableForSaleMember
 
Total realized/unrealized gains/(losses) (9)jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByAssetClassAxis
= jpm_AssetBackedSecurityAvailableForSaleMember
(2)jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByAssetClassAxis
= jpm_AssetBackedSecurityAvailableForSaleMember
 
Purchases 49us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= jpm_AssetBackedSecurityAvailableForSaleMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= jpm_AssetBackedSecurityAvailableForSaleMember
 
Sales (43)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= jpm_AssetBackedSecurityAvailableForSaleMember
(2)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= jpm_AssetBackedSecurityAvailableForSaleMember
 
Settlements (24)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= jpm_AssetBackedSecurityAvailableForSaleMember
(20)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= jpm_AssetBackedSecurityAvailableForSaleMember
 
Transfers into and/or out of level 3 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet
/ us-gaap_FairValueByAssetClassAxis
= jpm_AssetBackedSecurityAvailableForSaleMember
63us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet
/ us-gaap_FairValueByAssetClassAxis
= jpm_AssetBackedSecurityAvailableForSaleMember
 
Fair Value, Ending Balance 881us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= jpm_AssetBackedSecurityAvailableForSaleMember
1,127us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= jpm_AssetBackedSecurityAvailableForSaleMember
 
Change in unrealized gains/(losses) related to financial instruments held (4)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= jpm_AssetBackedSecurityAvailableForSaleMember
(2)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= jpm_AssetBackedSecurityAvailableForSaleMember
 
Other Available For Sale Securities      
Assets      
Fair Value, Beginning balance 129us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= jpm_OtherAvailableForSaleSecuritiesMember
1,234us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= jpm_OtherAvailableForSaleSecuritiesMember
 
Total realized/unrealized gains/(losses) 0jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByAssetClassAxis
= jpm_OtherAvailableForSaleSecuritiesMember
(3)jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByAssetClassAxis
= jpm_OtherAvailableForSaleSecuritiesMember
 
Purchases 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= jpm_OtherAvailableForSaleSecuritiesMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= jpm_OtherAvailableForSaleSecuritiesMember
 
Sales 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= jpm_OtherAvailableForSaleSecuritiesMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= jpm_OtherAvailableForSaleSecuritiesMember
 
Settlements (7)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= jpm_OtherAvailableForSaleSecuritiesMember
(41)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= jpm_OtherAvailableForSaleSecuritiesMember
 
Transfers into and/or out of level 3 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet
/ us-gaap_FairValueByAssetClassAxis
= jpm_OtherAvailableForSaleSecuritiesMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet
/ us-gaap_FairValueByAssetClassAxis
= jpm_OtherAvailableForSaleSecuritiesMember
 
Fair Value, Ending Balance 122us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= jpm_OtherAvailableForSaleSecuritiesMember
1,190us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= jpm_OtherAvailableForSaleSecuritiesMember
 
Change in unrealized gains/(losses) related to financial instruments held 0us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= jpm_OtherAvailableForSaleSecuritiesMember
(3)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= jpm_OtherAvailableForSaleSecuritiesMember
 
Loans      
Assets      
Fair Value, Beginning balance 2,541us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= jpm_LoansReceivableNotForTradingMember
1,931us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= jpm_LoansReceivableNotForTradingMember
 
Total realized/unrealized gains/(losses) (205)jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByAssetClassAxis
= jpm_LoansReceivableNotForTradingMember
32jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByAssetClassAxis
= jpm_LoansReceivableNotForTradingMember
 
Purchases 120us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= jpm_LoansReceivableNotForTradingMember
684us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= jpm_LoansReceivableNotForTradingMember
 
Sales (83)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= jpm_LoansReceivableNotForTradingMember
(142)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= jpm_LoansReceivableNotForTradingMember
 
Settlements (151)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= jpm_LoansReceivableNotForTradingMember
(234)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
 
Fair Value, Ending Balance 2,222us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= jpm_LoansReceivableNotForTradingMember
2,271us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= jpm_LoansReceivableNotForTradingMember
 
Change in unrealized gains/(losses) related to financial instruments held (205)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= jpm_LoansReceivableNotForTradingMember
28us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= jpm_LoansReceivableNotForTradingMember
 
Mortgage servicing rights      
Assets      
Fair Value, Beginning balance 7,436us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ServicingContractsMember
9,614us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ServicingContractsMember
 
Total realized/unrealized gains/(losses) (579)jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ServicingContractsMember
(822)jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ServicingContractsMember
 
Purchases 156us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ServicingContractsMember
195us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ServicingContractsMember
 
Sales (157)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ServicingContractsMember
(188)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ServicingContractsMember
 
Settlements (215)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ServicingContractsMember
(247)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
 
Fair Value, Ending Balance 6,641us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ServicingContractsMember
8,552us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ServicingContractsMember
 
Change in unrealized gains/(losses) related to financial instruments held (579)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ServicingContractsMember
(822)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ServicingContractsMember
 
Private equity      
Assets      
Fair Value, Beginning balance 2,475us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_PrivateEquityFundsMember
6,474us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_PrivateEquityFundsMember
 
Total realized/unrealized gains/(losses) 36jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_PrivateEquityFundsMember
96jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_PrivateEquityFundsMember
 
Purchases 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_PrivateEquityFundsMember
87us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_PrivateEquityFundsMember
 
Sales 0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_PrivateEquityFundsMember
(1,018)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_PrivateEquityFundsMember
 
Settlements (71)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_PrivateEquityFundsMember
(304)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_PrivateEquityFundsMember
 
Transfers into and/or out of level 3 (126)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_PrivateEquityFundsMember
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_PrivateEquityFundsMember
 
Fair Value, Ending Balance 2,314us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_PrivateEquityFundsMember
5,335us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_PrivateEquityFundsMember
 
Change in unrealized gains/(losses) related to financial instruments held 21us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_PrivateEquityFundsMember
(3)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_PrivateEquityFundsMember
 
All other assets      
Assets      
Fair Value, Beginning balance 1,914us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= jpm_AllOtherAssetClassesMember
2,589us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= jpm_AllOtherAssetClassesMember
 
Total realized/unrealized gains/(losses) 19jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByAssetClassAxis
= jpm_AllOtherAssetClassesMember
(34)jpm_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetRealizedandUnrealizedGainsLosses
/ us-gaap_FairValueByAssetClassAxis
= jpm_AllOtherAssetClassesMember
 
Purchases 95us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= jpm_AllOtherAssetClassesMember
73us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases
/ us-gaap_FairValueByAssetClassAxis
= jpm_AllOtherAssetClassesMember
 
Sales (88)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= jpm_AllOtherAssetClassesMember
(37)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales
/ us-gaap_FairValueByAssetClassAxis
= jpm_AllOtherAssetClassesMember
 
Settlements (124)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements
/ us-gaap_FairValueByAssetClassAxis
= jpm_AllOtherAssetClassesMember
(155)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
 
Fair Value, Ending Balance 1,816us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= jpm_AllOtherAssetClassesMember
2,436us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
/ us-gaap_FairValueByAssetClassAxis
= jpm_AllOtherAssetClassesMember
 
Change in unrealized gains/(losses) related to financial instruments held $ 2us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= jpm_AllOtherAssetClassesMember
$ (44)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
/ us-gaap_FairValueByAssetClassAxis
= jpm_AllOtherAssetClassesMember