XML 99 R104.htm IDEA: XBRL DOCUMENT v2.4.1.9
Derivative Financial Instruments - Summary of Interest Rate and Foreign Currency Hedges (Details) (USD $)
In Millions, unless otherwise specified
Dec. 31, 2014
Dec. 31, 2013
Interest Rate Swap [Member] | Derivative [Member]    
Derivative [Line Items]    
Mark-to-market derivative assets (current assets) $ 15exc_InterestRateDerivativeAssetsCurrent
/ us-gaap_DerivativeByNatureAxis
= us-gaap_DerivativeMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
$ (1)exc_InterestRateDerivativeAssetsCurrent
/ us-gaap_DerivativeByNatureAxis
= us-gaap_DerivativeMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
Mark-to-market derivative assets (noncurrent assets) 8exc_InterestRateDerivativeAssetsNoncurrent
/ us-gaap_DerivativeByNatureAxis
= us-gaap_DerivativeMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
38exc_InterestRateDerivativeAssetsNoncurrent
/ us-gaap_DerivativeByNatureAxis
= us-gaap_DerivativeMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
Total mark-to-market derivative assets 23exc_TotalInterestRateMarkToMarketDerivativeAssets
/ us-gaap_DerivativeByNatureAxis
= us-gaap_DerivativeMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
37exc_TotalInterestRateMarkToMarketDerivativeAssets
/ us-gaap_DerivativeByNatureAxis
= us-gaap_DerivativeMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
Mark-to-market derivative liabilities (current liabilities) 1exc_InterestRateDerivativeLiabilitiesCurrent
/ us-gaap_DerivativeByNatureAxis
= us-gaap_DerivativeMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
(1)exc_InterestRateDerivativeLiabilitiesCurrent
/ us-gaap_DerivativeByNatureAxis
= us-gaap_DerivativeMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
Mark-to-market derivative liabilities (noncurrent liabilities) (114)exc_InterestRateDerivativeLiabilitiesNoncurrent
/ us-gaap_DerivativeByNatureAxis
= us-gaap_DerivativeMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
(15)exc_InterestRateDerivativeLiabilitiesNoncurrent
/ us-gaap_DerivativeByNatureAxis
= us-gaap_DerivativeMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
Total mark-to-market derivative liabilities (113)exc_TotalInterestRateMarkToMarketDerivativeLiabilities
/ us-gaap_DerivativeByNatureAxis
= us-gaap_DerivativeMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
(16)exc_TotalInterestRateMarkToMarketDerivativeLiabilities
/ us-gaap_DerivativeByNatureAxis
= us-gaap_DerivativeMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
Interest Rate Derivative Fair Value Of Derivative Net (90)exc_InterestRateDerivativeFairValueOfDerivativeNet
/ us-gaap_DerivativeByNatureAxis
= us-gaap_DerivativeMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
21exc_InterestRateDerivativeFairValueOfDerivativeNet
/ us-gaap_DerivativeByNatureAxis
= us-gaap_DerivativeMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
Interest Rate Swap [Member] | Exelon Generation Co L L C [Member]    
Derivative [Line Items]    
Mark-to-market derivative assets (current assets) 12exc_InterestRateDerivativeAssetsCurrent
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ dei_LegalEntityAxis
= exc_ExelonGenerationCoLLCMember
(1)exc_InterestRateDerivativeAssetsCurrent
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ dei_LegalEntityAxis
= exc_ExelonGenerationCoLLCMember
Mark-to-market derivative assets (noncurrent assets) 6exc_InterestRateDerivativeAssetsNoncurrent
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ dei_LegalEntityAxis
= exc_ExelonGenerationCoLLCMember
31exc_InterestRateDerivativeAssetsNoncurrent
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ dei_LegalEntityAxis
= exc_ExelonGenerationCoLLCMember
Total mark-to-market derivative assets 18exc_TotalInterestRateMarkToMarketDerivativeAssets
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ dei_LegalEntityAxis
= exc_ExelonGenerationCoLLCMember
30exc_TotalInterestRateMarkToMarketDerivativeAssets
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ dei_LegalEntityAxis
= exc_ExelonGenerationCoLLCMember
Mark-to-market derivative liabilities (current liabilities) 1exc_InterestRateDerivativeLiabilitiesCurrent
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ dei_LegalEntityAxis
= exc_ExelonGenerationCoLLCMember
(1)exc_InterestRateDerivativeLiabilitiesCurrent
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ dei_LegalEntityAxis
= exc_ExelonGenerationCoLLCMember
Mark-to-market derivative liabilities (noncurrent liabilities) (3)exc_InterestRateDerivativeLiabilitiesNoncurrent
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ dei_LegalEntityAxis
= exc_ExelonGenerationCoLLCMember
(11)exc_InterestRateDerivativeLiabilitiesNoncurrent
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ dei_LegalEntityAxis
= exc_ExelonGenerationCoLLCMember
Total mark-to-market derivative liabilities (2)exc_TotalInterestRateMarkToMarketDerivativeLiabilities
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ dei_LegalEntityAxis
= exc_ExelonGenerationCoLLCMember
(12)exc_TotalInterestRateMarkToMarketDerivativeLiabilities
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ dei_LegalEntityAxis
= exc_ExelonGenerationCoLLCMember
Interest Rate Derivative Fair Value Of Derivative Net 16exc_InterestRateDerivativeFairValueOfDerivativeNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ dei_LegalEntityAxis
= exc_ExelonGenerationCoLLCMember
18exc_InterestRateDerivativeFairValueOfDerivativeNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ dei_LegalEntityAxis
= exc_ExelonGenerationCoLLCMember
Interest Rate Swap [Member] | Exelon Generation Co L L C [Member] | Derivative [Member]    
Derivative [Line Items]    
Mark-to-market derivative assets (current assets) 7exc_InterestRateDerivativeAssetsCurrent
/ us-gaap_DerivativeByNatureAxis
= us-gaap_DerivativeMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ dei_LegalEntityAxis
= exc_ExelonGenerationCoLLCMember
3exc_InterestRateDerivativeAssetsCurrent
/ us-gaap_DerivativeByNatureAxis
= us-gaap_DerivativeMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ dei_LegalEntityAxis
= exc_ExelonGenerationCoLLCMember
Mark-to-market derivative assets (noncurrent assets) 5exc_InterestRateDerivativeAssetsNoncurrent
/ us-gaap_DerivativeByNatureAxis
= us-gaap_DerivativeMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ dei_LegalEntityAxis
= exc_ExelonGenerationCoLLCMember
3exc_InterestRateDerivativeAssetsNoncurrent
/ us-gaap_DerivativeByNatureAxis
= us-gaap_DerivativeMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ dei_LegalEntityAxis
= exc_ExelonGenerationCoLLCMember
Total mark-to-market derivative assets 12exc_TotalInterestRateMarkToMarketDerivativeAssets
/ us-gaap_DerivativeByNatureAxis
= us-gaap_DerivativeMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ dei_LegalEntityAxis
= exc_ExelonGenerationCoLLCMember
6exc_TotalInterestRateMarkToMarketDerivativeAssets
/ us-gaap_DerivativeByNatureAxis
= us-gaap_DerivativeMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ dei_LegalEntityAxis
= exc_ExelonGenerationCoLLCMember
Mark-to-market derivative liabilities (current liabilities) (2)exc_InterestRateDerivativeLiabilitiesCurrent
/ us-gaap_DerivativeByNatureAxis
= us-gaap_DerivativeMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ dei_LegalEntityAxis
= exc_ExelonGenerationCoLLCMember
(1)exc_InterestRateDerivativeLiabilitiesCurrent
/ us-gaap_DerivativeByNatureAxis
= us-gaap_DerivativeMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ dei_LegalEntityAxis
= exc_ExelonGenerationCoLLCMember
Mark-to-market derivative liabilities (noncurrent liabilities) 0exc_InterestRateDerivativeLiabilitiesNoncurrent
/ us-gaap_DerivativeByNatureAxis
= us-gaap_DerivativeMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ dei_LegalEntityAxis
= exc_ExelonGenerationCoLLCMember
(1)exc_InterestRateDerivativeLiabilitiesNoncurrent
/ us-gaap_DerivativeByNatureAxis
= us-gaap_DerivativeMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ dei_LegalEntityAxis
= exc_ExelonGenerationCoLLCMember
Total mark-to-market derivative liabilities (2)exc_TotalInterestRateMarkToMarketDerivativeLiabilities
/ us-gaap_DerivativeByNatureAxis
= us-gaap_DerivativeMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ dei_LegalEntityAxis
= exc_ExelonGenerationCoLLCMember
(2)exc_TotalInterestRateMarkToMarketDerivativeLiabilities
/ us-gaap_DerivativeByNatureAxis
= us-gaap_DerivativeMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ dei_LegalEntityAxis
= exc_ExelonGenerationCoLLCMember
Interest Rate Derivative Fair Value Of Derivative Net 10exc_InterestRateDerivativeFairValueOfDerivativeNet
/ us-gaap_DerivativeByNatureAxis
= us-gaap_DerivativeMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ dei_LegalEntityAxis
= exc_ExelonGenerationCoLLCMember
4exc_InterestRateDerivativeFairValueOfDerivativeNet
/ us-gaap_DerivativeByNatureAxis
= us-gaap_DerivativeMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ dei_LegalEntityAxis
= exc_ExelonGenerationCoLLCMember
Interest Rate Swap [Member] | Exelon Generation Co L L C [Member] | Proprietary Trading [Member]    
Derivative [Line Items]    
Mark-to-market derivative assets (current assets) 20exc_InterestRateDerivativeAssetsCurrent
/ us-gaap_DerivativeByNatureAxis
= exc_ProprietaryTradingMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ dei_LegalEntityAxis
= exc_ExelonGenerationCoLLCMember
[1] 15exc_InterestRateDerivativeAssetsCurrent
/ us-gaap_DerivativeByNatureAxis
= exc_ProprietaryTradingMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ dei_LegalEntityAxis
= exc_ExelonGenerationCoLLCMember
[1]
Mark-to-market derivative assets (noncurrent assets) 7exc_InterestRateDerivativeAssetsNoncurrent
/ us-gaap_DerivativeByNatureAxis
= exc_ProprietaryTradingMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ dei_LegalEntityAxis
= exc_ExelonGenerationCoLLCMember
[1] 15exc_InterestRateDerivativeAssetsNoncurrent
/ us-gaap_DerivativeByNatureAxis
= exc_ProprietaryTradingMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ dei_LegalEntityAxis
= exc_ExelonGenerationCoLLCMember
[1]
Total mark-to-market derivative assets 27exc_TotalInterestRateMarkToMarketDerivativeAssets
/ us-gaap_DerivativeByNatureAxis
= exc_ProprietaryTradingMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ dei_LegalEntityAxis
= exc_ExelonGenerationCoLLCMember
[1] 30exc_TotalInterestRateMarkToMarketDerivativeAssets
/ us-gaap_DerivativeByNatureAxis
= exc_ProprietaryTradingMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ dei_LegalEntityAxis
= exc_ExelonGenerationCoLLCMember
[1]
Mark-to-market derivative liabilities (current liabilities) (14)exc_InterestRateDerivativeLiabilitiesCurrent
/ us-gaap_DerivativeByNatureAxis
= exc_ProprietaryTradingMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ dei_LegalEntityAxis
= exc_ExelonGenerationCoLLCMember
[1] (18)exc_InterestRateDerivativeLiabilitiesCurrent
/ us-gaap_DerivativeByNatureAxis
= exc_ProprietaryTradingMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ dei_LegalEntityAxis
= exc_ExelonGenerationCoLLCMember
[1]
Mark-to-market derivative liabilities (noncurrent liabilities) (9)exc_InterestRateDerivativeLiabilitiesNoncurrent
/ us-gaap_DerivativeByNatureAxis
= exc_ProprietaryTradingMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ dei_LegalEntityAxis
= exc_ExelonGenerationCoLLCMember
[1] (13)exc_InterestRateDerivativeLiabilitiesNoncurrent
/ us-gaap_DerivativeByNatureAxis
= exc_ProprietaryTradingMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ dei_LegalEntityAxis
= exc_ExelonGenerationCoLLCMember
[1]
Total mark-to-market derivative liabilities (23)exc_TotalInterestRateMarkToMarketDerivativeLiabilities
/ us-gaap_DerivativeByNatureAxis
= exc_ProprietaryTradingMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ dei_LegalEntityAxis
= exc_ExelonGenerationCoLLCMember
[1] (31)exc_TotalInterestRateMarkToMarketDerivativeLiabilities
/ us-gaap_DerivativeByNatureAxis
= exc_ProprietaryTradingMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ dei_LegalEntityAxis
= exc_ExelonGenerationCoLLCMember
[1]
Interest Rate Derivative Fair Value Of Derivative Net 4exc_InterestRateDerivativeFairValueOfDerivativeNet
/ us-gaap_DerivativeByNatureAxis
= exc_ProprietaryTradingMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ dei_LegalEntityAxis
= exc_ExelonGenerationCoLLCMember
[1] (1)exc_InterestRateDerivativeFairValueOfDerivativeNet
/ us-gaap_DerivativeByNatureAxis
= exc_ProprietaryTradingMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ dei_LegalEntityAxis
= exc_ExelonGenerationCoLLCMember
[1]
Interest Rate Swap [Member] | Exelon Generation Co L L C [Member] | Collateral And Netting [Member]    
Derivative [Line Items]    
Mark-to-market derivative assets (current assets) (22)exc_InterestRateDerivativeAssetsCurrent
/ us-gaap_DerivativeByNatureAxis
= exc_CollateralAndNettingMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ dei_LegalEntityAxis
= exc_ExelonGenerationCoLLCMember
[2] (19)exc_InterestRateDerivativeAssetsCurrent
/ us-gaap_DerivativeByNatureAxis
= exc_CollateralAndNettingMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ dei_LegalEntityAxis
= exc_ExelonGenerationCoLLCMember
[2]
Mark-to-market derivative assets (noncurrent assets) (7)exc_InterestRateDerivativeAssetsNoncurrent
/ us-gaap_DerivativeByNatureAxis
= exc_CollateralAndNettingMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ dei_LegalEntityAxis
= exc_ExelonGenerationCoLLCMember
[2] (13)exc_InterestRateDerivativeAssetsNoncurrent
/ us-gaap_DerivativeByNatureAxis
= exc_CollateralAndNettingMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ dei_LegalEntityAxis
= exc_ExelonGenerationCoLLCMember
[2]
Total mark-to-market derivative assets (29)exc_TotalInterestRateMarkToMarketDerivativeAssets
/ us-gaap_DerivativeByNatureAxis
= exc_CollateralAndNettingMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ dei_LegalEntityAxis
= exc_ExelonGenerationCoLLCMember
[2] (32)exc_TotalInterestRateMarkToMarketDerivativeAssets
/ us-gaap_DerivativeByNatureAxis
= exc_CollateralAndNettingMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ dei_LegalEntityAxis
= exc_ExelonGenerationCoLLCMember
[2]
Mark-to-market derivative liabilities (current liabilities) 25exc_InterestRateDerivativeLiabilitiesCurrent
/ us-gaap_DerivativeByNatureAxis
= exc_CollateralAndNettingMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ dei_LegalEntityAxis
= exc_ExelonGenerationCoLLCMember
[2] 19exc_InterestRateDerivativeLiabilitiesCurrent
/ us-gaap_DerivativeByNatureAxis
= exc_CollateralAndNettingMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ dei_LegalEntityAxis
= exc_ExelonGenerationCoLLCMember
[2]
Mark-to-market derivative liabilities (noncurrent liabilities) 10exc_InterestRateDerivativeLiabilitiesNoncurrent
/ us-gaap_DerivativeByNatureAxis
= exc_CollateralAndNettingMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ dei_LegalEntityAxis
= exc_ExelonGenerationCoLLCMember
[2] 13exc_InterestRateDerivativeLiabilitiesNoncurrent
/ us-gaap_DerivativeByNatureAxis
= exc_CollateralAndNettingMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ dei_LegalEntityAxis
= exc_ExelonGenerationCoLLCMember
[2]
Total mark-to-market derivative liabilities 35exc_TotalInterestRateMarkToMarketDerivativeLiabilities
/ us-gaap_DerivativeByNatureAxis
= exc_CollateralAndNettingMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ dei_LegalEntityAxis
= exc_ExelonGenerationCoLLCMember
[2] 32exc_TotalInterestRateMarkToMarketDerivativeLiabilities
/ us-gaap_DerivativeByNatureAxis
= exc_CollateralAndNettingMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ dei_LegalEntityAxis
= exc_ExelonGenerationCoLLCMember
[2]
Interest Rate Derivative Fair Value Of Derivative Net 6exc_InterestRateDerivativeFairValueOfDerivativeNet
/ us-gaap_DerivativeByNatureAxis
= exc_CollateralAndNettingMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ dei_LegalEntityAxis
= exc_ExelonGenerationCoLLCMember
[2] 0exc_InterestRateDerivativeFairValueOfDerivativeNet
/ us-gaap_DerivativeByNatureAxis
= exc_CollateralAndNettingMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ dei_LegalEntityAxis
= exc_ExelonGenerationCoLLCMember
[2]
Other Segments [Member] | Interest Rate Swap [Member]    
Derivative [Line Items]    
Mark-to-market derivative assets (current assets) 3exc_InterestRateDerivativeAssetsCurrent
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
 
Mark-to-market derivative assets (noncurrent assets) 2exc_InterestRateDerivativeAssetsNoncurrent
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
 
Total mark-to-market derivative assets 5exc_TotalInterestRateMarkToMarketDerivativeAssets
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
 
Mark-to-market derivative liabilities (current liabilities) 0exc_InterestRateDerivativeLiabilitiesCurrent
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
 
Mark-to-market derivative liabilities (noncurrent liabilities) (111)exc_InterestRateDerivativeLiabilitiesNoncurrent
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
 
Total mark-to-market derivative liabilities (111)exc_TotalInterestRateMarkToMarketDerivativeLiabilities
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
 
Interest Rate Derivative Fair Value Of Derivative Net (106)exc_InterestRateDerivativeFairValueOfDerivativeNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
 
Other Segments [Member] | Interest Rate Swap [Member] | Derivative [Member]    
Derivative [Line Items]    
Mark-to-market derivative assets (current assets) 0exc_InterestRateDerivativeAssetsCurrent
/ us-gaap_DerivativeByNatureAxis
= us-gaap_DerivativeMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
 
Mark-to-market derivative assets (noncurrent assets) 1exc_InterestRateDerivativeAssetsNoncurrent
/ us-gaap_DerivativeByNatureAxis
= us-gaap_DerivativeMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
 
Total mark-to-market derivative assets 1exc_TotalInterestRateMarkToMarketDerivativeAssets
/ us-gaap_DerivativeByNatureAxis
= us-gaap_DerivativeMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
 
Mark-to-market derivative liabilities (current liabilities) 0exc_InterestRateDerivativeLiabilitiesCurrent
/ us-gaap_DerivativeByNatureAxis
= us-gaap_DerivativeMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
 
Mark-to-market derivative liabilities (noncurrent liabilities) (101)exc_InterestRateDerivativeLiabilitiesNoncurrent
/ us-gaap_DerivativeByNatureAxis
= us-gaap_DerivativeMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
 
Total mark-to-market derivative liabilities (101)exc_TotalInterestRateMarkToMarketDerivativeLiabilities
/ us-gaap_DerivativeByNatureAxis
= us-gaap_DerivativeMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
 
Interest Rate Derivative Fair Value Of Derivative Net (100)exc_InterestRateDerivativeFairValueOfDerivativeNet
/ us-gaap_DerivativeByNatureAxis
= us-gaap_DerivativeMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
 
Other Segments [Member] | Interest Rate Swap [Member] | Collateral And Netting [Member]    
Derivative [Line Items]    
Mark-to-market derivative assets (current assets) 0exc_InterestRateDerivativeAssetsCurrent
/ us-gaap_DerivativeByNatureAxis
= exc_CollateralAndNettingMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
[2]  
Mark-to-market derivative assets (noncurrent assets) (19)exc_InterestRateDerivativeAssetsNoncurrent
/ us-gaap_DerivativeByNatureAxis
= exc_CollateralAndNettingMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
[2]  
Total mark-to-market derivative assets (19)exc_TotalInterestRateMarkToMarketDerivativeAssets
/ us-gaap_DerivativeByNatureAxis
= exc_CollateralAndNettingMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
[2]  
Mark-to-market derivative liabilities (current liabilities) 0exc_InterestRateDerivativeLiabilitiesCurrent
/ us-gaap_DerivativeByNatureAxis
= exc_CollateralAndNettingMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
[2]  
Mark-to-market derivative liabilities (noncurrent liabilities) 19exc_InterestRateDerivativeLiabilitiesNoncurrent
/ us-gaap_DerivativeByNatureAxis
= exc_CollateralAndNettingMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
[2]  
Total mark-to-market derivative liabilities 19exc_TotalInterestRateMarkToMarketDerivativeLiabilities
/ us-gaap_DerivativeByNatureAxis
= exc_CollateralAndNettingMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
[2]  
Interest Rate Derivative Fair Value Of Derivative Net 0exc_InterestRateDerivativeFairValueOfDerivativeNet
/ us-gaap_DerivativeByNatureAxis
= exc_CollateralAndNettingMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
[2]  
Designated as Hedging Instrument [Member] | Interest Rate Swap [Member] | Exelon Generation Co L L C [Member]    
Derivative [Line Items]    
Mark-to-market derivative assets (current assets) 7exc_InterestRateDerivativeAssetsCurrent
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
/ dei_LegalEntityAxis
= exc_ExelonGenerationCoLLCMember
0exc_InterestRateDerivativeAssetsCurrent
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
/ dei_LegalEntityAxis
= exc_ExelonGenerationCoLLCMember
Mark-to-market derivative assets (noncurrent assets) 1exc_InterestRateDerivativeAssetsNoncurrent
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
/ dei_LegalEntityAxis
= exc_ExelonGenerationCoLLCMember
26exc_InterestRateDerivativeAssetsNoncurrent
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
/ dei_LegalEntityAxis
= exc_ExelonGenerationCoLLCMember
Total mark-to-market derivative assets 8exc_TotalInterestRateMarkToMarketDerivativeAssets
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
/ dei_LegalEntityAxis
= exc_ExelonGenerationCoLLCMember
26exc_TotalInterestRateMarkToMarketDerivativeAssets
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
/ dei_LegalEntityAxis
= exc_ExelonGenerationCoLLCMember
Mark-to-market derivative liabilities (current liabilities) (8)exc_InterestRateDerivativeLiabilitiesCurrent
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
/ dei_LegalEntityAxis
= exc_ExelonGenerationCoLLCMember
(1)exc_InterestRateDerivativeLiabilitiesCurrent
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
/ dei_LegalEntityAxis
= exc_ExelonGenerationCoLLCMember
Mark-to-market derivative liabilities (noncurrent liabilities) (4)exc_InterestRateDerivativeLiabilitiesNoncurrent
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
/ dei_LegalEntityAxis
= exc_ExelonGenerationCoLLCMember
(10)exc_InterestRateDerivativeLiabilitiesNoncurrent
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
/ dei_LegalEntityAxis
= exc_ExelonGenerationCoLLCMember
Total mark-to-market derivative liabilities (12)exc_TotalInterestRateMarkToMarketDerivativeLiabilities
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
/ dei_LegalEntityAxis
= exc_ExelonGenerationCoLLCMember
(11)exc_TotalInterestRateMarkToMarketDerivativeLiabilities
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
/ dei_LegalEntityAxis
= exc_ExelonGenerationCoLLCMember
Interest Rate Derivative Fair Value Of Derivative Net (4)exc_InterestRateDerivativeFairValueOfDerivativeNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
/ dei_LegalEntityAxis
= exc_ExelonGenerationCoLLCMember
15exc_InterestRateDerivativeFairValueOfDerivativeNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
/ dei_LegalEntityAxis
= exc_ExelonGenerationCoLLCMember
Designated as Hedging Instrument [Member] | Other Segments [Member]    
Derivative [Line Items]    
Mark-to-market derivative liabilities (current liabilities) 0exc_InterestRateDerivativeLiabilitiesCurrent
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
 
Designated as Hedging Instrument [Member] | Other Segments [Member] | Interest Rate Swap [Member]    
Derivative [Line Items]    
Mark-to-market derivative assets (current assets) 3exc_InterestRateDerivativeAssetsCurrent
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
0exc_InterestRateDerivativeAssetsCurrent
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
Mark-to-market derivative assets (noncurrent assets) 20exc_InterestRateDerivativeAssetsNoncurrent
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
7exc_InterestRateDerivativeAssetsNoncurrent
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
Total mark-to-market derivative assets 23exc_TotalInterestRateMarkToMarketDerivativeAssets
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
7exc_TotalInterestRateMarkToMarketDerivativeAssets
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
Mark-to-market derivative liabilities (current liabilities)   0exc_InterestRateDerivativeLiabilitiesCurrent
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
Mark-to-market derivative liabilities (noncurrent liabilities) (29)exc_InterestRateDerivativeLiabilitiesNoncurrent
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
(4)exc_InterestRateDerivativeLiabilitiesNoncurrent
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
Total mark-to-market derivative liabilities (29)exc_TotalInterestRateMarkToMarketDerivativeLiabilities
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
(4)exc_TotalInterestRateMarkToMarketDerivativeLiabilities
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
Interest Rate Derivative Fair Value Of Derivative Net $ (6)exc_InterestRateDerivativeFairValueOfDerivativeNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
$ 3exc_InterestRateDerivativeFairValueOfDerivativeNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
[1] Generation enters into interest rate derivative contracts to economically hedge risk associated with the interest rate component of commodity positions. The characterization of the interest rate derivative contracts between the proprietary trading activity in the above table is driven by the corresponding characterization of the underlying commodity position that gives rise to the interest rate exposure. Generation does not utilize proprietary trading interest rate derivatives with the objective of benefiting from shifts or changes in market interest rates.
[2] Represents the netting of fair value balances with the same counterparty and any associated cash collateral.