XML 32 R87.htm IDEA: XBRL DOCUMENT v2.4.1.9
Fair Value Recurring Changes in Fair Value (Details) (USD $)
In Millions, unless otherwise specified
Mar. 31, 2015
Dec. 31, 2014
Other assets [Abstract]    
Derivative assets, gross amount offset $ (5,626)us-gaap_DerivativeAssetFairValueGrossLiability $ (5,186)us-gaap_DerivativeAssetFairValueGrossLiability
Other liabilities [Abstract]    
Derivative liabilities, gross amount offset (12,036)us-gaap_DerivativeLiabilityFairValueGrossAsset (10,194)us-gaap_DerivativeLiabilityFairValueGrossAsset
Mortgage commitment derivatives [Member]    
Other assets [Abstract]    
Derivative assets, gross amount offset 0us-gaap_DerivativeAssetFairValueGrossLiability
/ us-gaap_DerivativeInstrumentRiskAxis
= fnm_MortgageCommitmentDerivativesMember
0us-gaap_DerivativeAssetFairValueGrossLiability
/ us-gaap_DerivativeInstrumentRiskAxis
= fnm_MortgageCommitmentDerivativesMember
Other liabilities [Abstract]    
Derivative liabilities, gross amount offset 0us-gaap_DerivativeLiabilityFairValueGrossAsset
/ us-gaap_DerivativeInstrumentRiskAxis
= fnm_MortgageCommitmentDerivativesMember
0us-gaap_DerivativeLiabilityFairValueGrossAsset
/ us-gaap_DerivativeInstrumentRiskAxis
= fnm_MortgageCommitmentDerivativesMember
Fannie Mae [Member]    
Liabilities [Abstract]    
Long-term debt, fair value 7,920us-gaap_LongTermDebtFairValue
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
6,403us-gaap_LongTermDebtFairValue
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
Consolidated Trusts [Member]    
Assets [Abstract]    
Mortgage loans held for investment, at fair value 15,570us-gaap_LoansReceivableFairValueDisclosure
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
15,629us-gaap_LoansReceivableFairValueDisclosure
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
Liabilities [Abstract]    
Long-term debt, fair value 21,373us-gaap_LongTermDebtFairValue
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
19,483us-gaap_LongTermDebtFairValue
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
Quoted Prices in Active Markets for Identical Assets (Level 1) [Member]    
Assets [Abstract]    
Trading Securities 19,367us-gaap_TradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
19,466us-gaap_TradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
Available-for-sale securities 0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
Mortgage loans held for investment, at fair value 0us-gaap_LoansReceivableFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
0us-gaap_LoansReceivableFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
Total assets at fair value 65,716us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
57,431us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
Other assets [Abstract]    
Derivatives assets at fair value 0us-gaap_DerivativeAssets
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
0us-gaap_DerivativeAssets
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
Liabilities [Abstract]    
Total liabilities at fair value 0us-gaap_LiabilitiesFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
0us-gaap_LiabilitiesFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
Other liabilities [Abstract]    
Derivative liabilities at fair value 0us-gaap_DerivativeLiabilities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
0us-gaap_DerivativeLiabilities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
Quoted Prices in Active Markets for Identical Assets (Level 1) [Member] | Fannie Mae [Member]    
Assets [Abstract]    
Mortgage loans held for investment, at fair value 0us-gaap_LoansReceivableFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
0us-gaap_LoansReceivableFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
Liabilities [Abstract]    
Long-term debt, fair value 0us-gaap_LongTermDebtFairValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
0us-gaap_LongTermDebtFairValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
Quoted Prices in Active Markets for Identical Assets (Level 1) [Member] | Consolidated Trusts [Member]    
Assets [Abstract]    
Mortgage loans held for investment, at fair value 0us-gaap_LoansReceivableFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
0us-gaap_LoansReceivableFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
Liabilities [Abstract]    
Long-term debt, fair value 0us-gaap_LongTermDebtFairValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
0us-gaap_LongTermDebtFairValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
Significant Other Observable Inputs (Level 2) [Member]    
Assets [Abstract]    
Trading Securities 9,633us-gaap_TradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
9,008us-gaap_TradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
Available-for-sale securities 14,261us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
15,574us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
Mortgage loans held for investment, at fair value 2,675,585us-gaap_LoansReceivableFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
2,687,759us-gaap_LoansReceivableFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
Total assets at fair value 2,751,816us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
2,771,628us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
Other assets [Abstract]    
Derivatives assets at fair value 7,103us-gaap_DerivativeAssets
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
6,489us-gaap_DerivativeAssets
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
Liabilities [Abstract]    
Total liabilities at fair value 3,306,127us-gaap_LiabilitiesFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
3,299,289us-gaap_LiabilitiesFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
Other liabilities [Abstract]    
Derivative liabilities at fair value 12,689us-gaap_DerivativeLiabilities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
10,671us-gaap_DerivativeLiabilities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
Significant Other Observable Inputs (Level 2) [Member] | Fannie Mae [Member]    
Assets [Abstract]    
Mortgage loans held for investment, at fair value 31,127us-gaap_LoansReceivableFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
29,896us-gaap_LoansReceivableFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
Liabilities [Abstract]    
Long-term debt, fair value 363,358us-gaap_LongTermDebtFairValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
367,703us-gaap_LongTermDebtFairValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
Significant Other Observable Inputs (Level 2) [Member] | Consolidated Trusts [Member]    
Assets [Abstract]    
Mortgage loans held for investment, at fair value 2,644,458us-gaap_LoansReceivableFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
2,657,863us-gaap_LoansReceivableFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
Liabilities [Abstract]    
Long-term debt, fair value 2,830,632us-gaap_LongTermDebtFairValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
2,815,843us-gaap_LongTermDebtFairValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
Significant Unobservable Inputs (Level 3) [Member]    
Assets [Abstract]    
Trading Securities 2,286us-gaap_TradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
3,030us-gaap_TradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Available-for-sale securities 13,471us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
15,080us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Mortgage loans held for investment, at fair value 419,199us-gaap_LoansReceivableFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
400,327us-gaap_LoansReceivableFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Total assets at fair value 436,780us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
419,874us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Other assets [Abstract]    
Derivatives assets at fair value 215us-gaap_DerivativeAssets
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
182us-gaap_DerivativeAssets
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Liabilities [Abstract]    
Total liabilities at fair value 26,968us-gaap_LiabilitiesFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
23,592us-gaap_LiabilitiesFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Other liabilities [Abstract]    
Derivative liabilities at fair value 149us-gaap_DerivativeLiabilities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
137us-gaap_DerivativeLiabilities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Significant Unobservable Inputs (Level 3) [Member] | Fannie Mae [Member]    
Assets [Abstract]    
Mortgage loans held for investment, at fair value 214,493us-gaap_LoansReceivableFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
217,064us-gaap_LoansReceivableFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
Liabilities [Abstract]    
Long-term debt, fair value 994us-gaap_LongTermDebtFairValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
982us-gaap_LongTermDebtFairValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
Significant Unobservable Inputs (Level 3) [Member] | Consolidated Trusts [Member]    
Assets [Abstract]    
Mortgage loans held for investment, at fair value 204,706us-gaap_LoansReceivableFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
183,263us-gaap_LoansReceivableFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
Liabilities [Abstract]    
Long-term debt, fair value 22,826us-gaap_LongTermDebtFairValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
19,334us-gaap_LongTermDebtFairValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
Recurring Fair Value Measurements [Member]    
Assets [Abstract]    
Trading Securities 31,286us-gaap_TradingSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
31,504us-gaap_TradingSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Available-for-sale securities 27,732us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
30,654us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Total assets at fair value 76,280us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
79,272us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Other assets [Abstract]    
Derivatives assets at fair value 1,692us-gaap_DerivativeAssets
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
1,485us-gaap_DerivativeAssets
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Derivative assets, gross amount offset (5,626)us-gaap_DerivativeAssetFairValueGrossLiability
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
(5,186)us-gaap_DerivativeAssetFairValueGrossLiability
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Liabilities [Abstract]    
Long-term debt, fair value 29,293us-gaap_LongTermDebtFairValue
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
25,886us-gaap_LongTermDebtFairValue
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Total liabilities at fair value 30,095us-gaap_LiabilitiesFairValueDisclosure
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
26,500us-gaap_LiabilitiesFairValueDisclosure
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Other liabilities [Abstract]    
Derivative liabilities at fair value 802us-gaap_DerivativeLiabilities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
614us-gaap_DerivativeLiabilities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Derivative liabilities, gross amount offset (12,036)us-gaap_DerivativeLiabilityFairValueGrossAsset
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
(10,194)us-gaap_DerivativeLiabilityFairValueGrossAsset
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring Fair Value Measurements [Member] | Swaps [Member]    
Other assets [Abstract]    
Derivatives assets at fair value 6,827us-gaap_DerivativeAssets
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_SwapMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
6,235us-gaap_DerivativeAssets
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_SwapMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Other liabilities [Abstract]    
Derivative liabilities at fair value 11,223us-gaap_DerivativeLiabilities
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_SwapMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
9,472us-gaap_DerivativeLiabilities
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_SwapMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring Fair Value Measurements [Member] | Swaptions [Member]    
Other assets [Abstract]    
Derivatives assets at fair value 52us-gaap_DerivativeAssets
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_SwaptionMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
153us-gaap_DerivativeAssets
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_SwaptionMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Other liabilities [Abstract]    
Derivative liabilities at fair value 1,047us-gaap_DerivativeLiabilities
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_SwaptionMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
991us-gaap_DerivativeLiabilities
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_SwaptionMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring Fair Value Measurements [Member] | Other [Member]    
Other assets [Abstract]    
Derivatives assets at fair value 27us-gaap_DerivativeAssets
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_OtherContractMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
28us-gaap_DerivativeAssets
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_OtherContractMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Other liabilities [Abstract]    
Derivative liabilities at fair value 1us-gaap_DerivativeLiabilities
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_OtherContractMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
1us-gaap_DerivativeLiabilities
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_OtherContractMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring Fair Value Measurements [Member] | Mortgage commitment derivatives [Member]    
Other assets [Abstract]    
Derivatives assets at fair value 412us-gaap_DerivativeAssets
/ us-gaap_DerivativeInstrumentRiskAxis
= fnm_MortgageCommitmentDerivativesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
255us-gaap_DerivativeAssets
/ us-gaap_DerivativeInstrumentRiskAxis
= fnm_MortgageCommitmentDerivativesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Other liabilities [Abstract]    
Derivative liabilities at fair value 567us-gaap_DerivativeLiabilities
/ us-gaap_DerivativeInstrumentRiskAxis
= fnm_MortgageCommitmentDerivativesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
344us-gaap_DerivativeLiabilities
/ us-gaap_DerivativeInstrumentRiskAxis
= fnm_MortgageCommitmentDerivativesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring Fair Value Measurements [Member] | Fannie Mae [Member]    
Liabilities [Abstract]    
Long-term debt, fair value 7,920us-gaap_LongTermDebtFairValue
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
6,403us-gaap_LongTermDebtFairValue
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
Recurring Fair Value Measurements [Member] | Fannie Mae [Member] | Senior Floating [Member]    
Liabilities [Abstract]    
Long-term debt, fair value 7,920us-gaap_LongTermDebtFairValue
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
/ us-gaap_LongtermDebtTypeAxis
= fnm_SeniorFloatingDebtMember
6,403us-gaap_LongTermDebtFairValue
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
/ us-gaap_LongtermDebtTypeAxis
= fnm_SeniorFloatingDebtMember
Recurring Fair Value Measurements [Member] | Consolidated Trusts [Member]    
Assets [Abstract]    
Mortgage loans held for investment, at fair value 15,570us-gaap_LoansReceivableFairValueDisclosure
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
15,629us-gaap_LoansReceivableFairValueDisclosure
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
Liabilities [Abstract]    
Long-term debt, fair value 21,373us-gaap_LongTermDebtFairValue
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
19,483us-gaap_LongTermDebtFairValue
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
Recurring Fair Value Measurements [Member] | Fannie Mae [Member]    
Assets [Abstract]    
Trading Securities 4,959us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_FederalNationalMortgageAssociationCertificatesAndObligationsFNMAMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
4,940us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_FederalNationalMortgageAssociationCertificatesAndObligationsFNMAMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Available-for-sale securities 5,407us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_FederalNationalMortgageAssociationCertificatesAndObligationsFNMAMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
5,639us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_FederalNationalMortgageAssociationCertificatesAndObligationsFNMAMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring Fair Value Measurements [Member] | Freddie Mac [Member]    
Assets [Abstract]    
Trading Securities 1,723us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_FederalHomeLoanMortgageCorporationCertificatesAndObligationsFHLMCMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
1,369us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_FederalHomeLoanMortgageCorporationCertificatesAndObligationsFHLMCMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Available-for-sale securities 5,257us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_FederalHomeLoanMortgageCorporationCertificatesAndObligationsFHLMCMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
5,528us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_FederalHomeLoanMortgageCorporationCertificatesAndObligationsFHLMCMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring Fair Value Measurements [Member] | Ginnie Mae [Member]    
Assets [Abstract]    
Trading Securities 214us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_GovernmentNationalMortgageAssociationCertificatesAndObligationsGNMAMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
166us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_GovernmentNationalMortgageAssociationCertificatesAndObligationsGNMAMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Available-for-sale securities 458us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_GovernmentNationalMortgageAssociationCertificatesAndObligationsGNMAMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
476us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_GovernmentNationalMortgageAssociationCertificatesAndObligationsGNMAMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring Fair Value Measurements [Member] | Alt-A private-label securities [Member]    
Assets [Abstract]    
Trading Securities 833us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
920us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Available-for-sale securities 4,464us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
5,678us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring Fair Value Measurements [Member] | Subprime private-label securities [Member]    
Assets [Abstract]    
Trading Securities 876us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
1,307us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Available-for-sale securities 4,608us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
5,240us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring Fair Value Measurements [Member] | CMBS [Member]    
Assets [Abstract]    
Trading Securities 2,478us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
2,515us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Available-for-sale securities 1,370us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
1,397us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring Fair Value Measurements [Member] | Mortgage revenue bonds [Member]    
Assets [Abstract]    
Trading Securities 742us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
722us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Available-for-sale securities 3,560us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
4,023us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring Fair Value Measurements [Member] | Other [Member]    
Assets [Abstract]    
Trading Securities 94us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesOtherMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
99us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesOtherMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Available-for-sale securities 2,608us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesOtherMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
2,673us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesOtherMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring Fair Value Measurements [Member] | U.S. Treasury securities [Member]    
Assets [Abstract]    
Trading Securities 19,367us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USTreasurySecuritiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
19,466us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USTreasurySecuritiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring Fair Value Measurements [Member] | Quoted Prices in Active Markets for Identical Assets (Level 1) [Member]    
Assets [Abstract]    
Trading Securities 19,367us-gaap_TradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
19,466us-gaap_TradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Available-for-sale securities 0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Total assets at fair value 19,367us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
19,466us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Other assets [Abstract]    
Derivatives assets at fair value 0us-gaap_DerivativeAssets
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
0us-gaap_DerivativeAssets
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Liabilities [Abstract]    
Long-term debt, fair value 0us-gaap_LongTermDebtFairValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
0us-gaap_LongTermDebtFairValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Total liabilities at fair value 0us-gaap_LiabilitiesFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
0us-gaap_LiabilitiesFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Other liabilities [Abstract]    
Derivative liabilities at fair value 0us-gaap_DerivativeLiabilities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
0us-gaap_DerivativeLiabilities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring Fair Value Measurements [Member] | Quoted Prices in Active Markets for Identical Assets (Level 1) [Member] | Swaps [Member]    
Other assets [Abstract]    
Derivatives assets at fair value 0us-gaap_DerivativeAssets
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_SwapMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
0us-gaap_DerivativeAssets
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_SwapMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Other liabilities [Abstract]    
Derivative liabilities at fair value 0us-gaap_DerivativeLiabilities
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_SwapMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
0us-gaap_DerivativeLiabilities
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_SwapMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring Fair Value Measurements [Member] | Quoted Prices in Active Markets for Identical Assets (Level 1) [Member] | Swaptions [Member]    
Other assets [Abstract]    
Derivatives assets at fair value 0us-gaap_DerivativeAssets
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_SwaptionMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
0us-gaap_DerivativeAssets
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_SwaptionMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Other liabilities [Abstract]    
Derivative liabilities at fair value 0us-gaap_DerivativeLiabilities
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_SwaptionMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
0us-gaap_DerivativeLiabilities
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_SwaptionMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring Fair Value Measurements [Member] | Quoted Prices in Active Markets for Identical Assets (Level 1) [Member] | Other [Member]    
Other assets [Abstract]    
Derivatives assets at fair value 0us-gaap_DerivativeAssets
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_OtherContractMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
0us-gaap_DerivativeAssets
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_OtherContractMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Other liabilities [Abstract]    
Derivative liabilities at fair value 0us-gaap_DerivativeLiabilities
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_OtherContractMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
0us-gaap_DerivativeLiabilities
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_OtherContractMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring Fair Value Measurements [Member] | Quoted Prices in Active Markets for Identical Assets (Level 1) [Member] | Mortgage commitment derivatives [Member]    
Other assets [Abstract]    
Derivatives assets at fair value 0us-gaap_DerivativeAssets
/ us-gaap_DerivativeInstrumentRiskAxis
= fnm_MortgageCommitmentDerivativesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
0us-gaap_DerivativeAssets
/ us-gaap_DerivativeInstrumentRiskAxis
= fnm_MortgageCommitmentDerivativesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Other liabilities [Abstract]    
Derivative liabilities at fair value 0us-gaap_DerivativeLiabilities
/ us-gaap_DerivativeInstrumentRiskAxis
= fnm_MortgageCommitmentDerivativesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
0us-gaap_DerivativeLiabilities
/ us-gaap_DerivativeInstrumentRiskAxis
= fnm_MortgageCommitmentDerivativesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring Fair Value Measurements [Member] | Quoted Prices in Active Markets for Identical Assets (Level 1) [Member] | Fannie Mae [Member]    
Liabilities [Abstract]    
Long-term debt, fair value 0us-gaap_LongTermDebtFairValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
0us-gaap_LongTermDebtFairValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
Recurring Fair Value Measurements [Member] | Quoted Prices in Active Markets for Identical Assets (Level 1) [Member] | Fannie Mae [Member] | Senior Floating [Member]    
Liabilities [Abstract]    
Long-term debt, fair value 0us-gaap_LongTermDebtFairValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
/ us-gaap_LongtermDebtTypeAxis
= fnm_SeniorFloatingDebtMember
0us-gaap_LongTermDebtFairValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
/ us-gaap_LongtermDebtTypeAxis
= fnm_SeniorFloatingDebtMember
Recurring Fair Value Measurements [Member] | Quoted Prices in Active Markets for Identical Assets (Level 1) [Member] | Consolidated Trusts [Member]    
Assets [Abstract]    
Mortgage loans held for investment, at fair value 0us-gaap_LoansReceivableFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
0us-gaap_LoansReceivableFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
Liabilities [Abstract]    
Long-term debt, fair value 0us-gaap_LongTermDebtFairValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
0us-gaap_LongTermDebtFairValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
Recurring Fair Value Measurements [Member] | Quoted Prices in Active Markets for Identical Assets (Level 1) [Member] | Fannie Mae [Member]    
Assets [Abstract]    
Trading Securities 0us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_FederalNationalMortgageAssociationCertificatesAndObligationsFNMAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
0us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_FederalNationalMortgageAssociationCertificatesAndObligationsFNMAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Available-for-sale securities 0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_FederalNationalMortgageAssociationCertificatesAndObligationsFNMAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_FederalNationalMortgageAssociationCertificatesAndObligationsFNMAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring Fair Value Measurements [Member] | Quoted Prices in Active Markets for Identical Assets (Level 1) [Member] | Freddie Mac [Member]    
Assets [Abstract]    
Trading Securities 0us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_FederalHomeLoanMortgageCorporationCertificatesAndObligationsFHLMCMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
0us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_FederalHomeLoanMortgageCorporationCertificatesAndObligationsFHLMCMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Available-for-sale securities 0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_FederalHomeLoanMortgageCorporationCertificatesAndObligationsFHLMCMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_FederalHomeLoanMortgageCorporationCertificatesAndObligationsFHLMCMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring Fair Value Measurements [Member] | Quoted Prices in Active Markets for Identical Assets (Level 1) [Member] | Ginnie Mae [Member]    
Assets [Abstract]    
Trading Securities 0us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_GovernmentNationalMortgageAssociationCertificatesAndObligationsGNMAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
0us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_GovernmentNationalMortgageAssociationCertificatesAndObligationsGNMAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Available-for-sale securities 0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_GovernmentNationalMortgageAssociationCertificatesAndObligationsGNMAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_GovernmentNationalMortgageAssociationCertificatesAndObligationsGNMAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring Fair Value Measurements [Member] | Quoted Prices in Active Markets for Identical Assets (Level 1) [Member] | Alt-A private-label securities [Member]    
Assets [Abstract]    
Trading Securities 0us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
0us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Available-for-sale securities 0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring Fair Value Measurements [Member] | Quoted Prices in Active Markets for Identical Assets (Level 1) [Member] | Subprime private-label securities [Member]    
Assets [Abstract]    
Trading Securities 0us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
0us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Available-for-sale securities 0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring Fair Value Measurements [Member] | Quoted Prices in Active Markets for Identical Assets (Level 1) [Member] | CMBS [Member]    
Assets [Abstract]    
Trading Securities 0us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
0us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Available-for-sale securities 0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring Fair Value Measurements [Member] | Quoted Prices in Active Markets for Identical Assets (Level 1) [Member] | Mortgage revenue bonds [Member]    
Assets [Abstract]    
Trading Securities 0us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
0us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Available-for-sale securities 0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring Fair Value Measurements [Member] | Quoted Prices in Active Markets for Identical Assets (Level 1) [Member] | Other [Member]    
Assets [Abstract]    
Trading Securities 0us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesOtherMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
0us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesOtherMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Available-for-sale securities 0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesOtherMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesOtherMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring Fair Value Measurements [Member] | Quoted Prices in Active Markets for Identical Assets (Level 1) [Member] | U.S. Treasury securities [Member]    
Assets [Abstract]    
Trading Securities 19,367us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USTreasurySecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
19,466us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USTreasurySecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring Fair Value Measurements [Member] | Significant Other Observable Inputs (Level 2) [Member]    
Assets [Abstract]    
Trading Securities 9,633us-gaap_TradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
9,008us-gaap_TradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Available-for-sale securities 14,261us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
15,574us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Total assets at fair value 44,757us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
44,867us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Other assets [Abstract]    
Derivatives assets at fair value 7,103us-gaap_DerivativeAssets
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
6,489us-gaap_DerivativeAssets
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Liabilities [Abstract]    
Long-term debt, fair value 28,355us-gaap_LongTermDebtFairValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
24,996us-gaap_LongTermDebtFairValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Total liabilities at fair value 41,044us-gaap_LiabilitiesFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
35,667us-gaap_LiabilitiesFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Other liabilities [Abstract]    
Derivative liabilities at fair value 12,689us-gaap_DerivativeLiabilities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
10,671us-gaap_DerivativeLiabilities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring Fair Value Measurements [Member] | Significant Other Observable Inputs (Level 2) [Member] | Swaps [Member]    
Other assets [Abstract]    
Derivatives assets at fair value 6,666us-gaap_DerivativeAssets
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_SwapMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
6,085us-gaap_DerivativeAssets
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_SwapMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Other liabilities [Abstract]    
Derivative liabilities at fair value 11,078us-gaap_DerivativeLiabilities
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_SwapMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
9,339us-gaap_DerivativeLiabilities
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_SwapMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring Fair Value Measurements [Member] | Significant Other Observable Inputs (Level 2) [Member] | Swaptions [Member]    
Other assets [Abstract]    
Derivatives assets at fair value 52us-gaap_DerivativeAssets
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_SwaptionMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
153us-gaap_DerivativeAssets
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_SwaptionMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Other liabilities [Abstract]    
Derivative liabilities at fair value 1,047us-gaap_DerivativeLiabilities
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_SwaptionMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
991us-gaap_DerivativeLiabilities
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_SwaptionMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring Fair Value Measurements [Member] | Significant Other Observable Inputs (Level 2) [Member] | Other [Member]    
Other assets [Abstract]    
Derivatives assets at fair value 0us-gaap_DerivativeAssets
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_OtherContractMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
0us-gaap_DerivativeAssets
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_OtherContractMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Other liabilities [Abstract]    
Derivative liabilities at fair value 0us-gaap_DerivativeLiabilities
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_OtherContractMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
0us-gaap_DerivativeLiabilities
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_OtherContractMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring Fair Value Measurements [Member] | Significant Other Observable Inputs (Level 2) [Member] | Mortgage commitment derivatives [Member]    
Other assets [Abstract]    
Derivatives assets at fair value 385us-gaap_DerivativeAssets
/ us-gaap_DerivativeInstrumentRiskAxis
= fnm_MortgageCommitmentDerivativesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
251us-gaap_DerivativeAssets
/ us-gaap_DerivativeInstrumentRiskAxis
= fnm_MortgageCommitmentDerivativesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Other liabilities [Abstract]    
Derivative liabilities at fair value 564us-gaap_DerivativeLiabilities
/ us-gaap_DerivativeInstrumentRiskAxis
= fnm_MortgageCommitmentDerivativesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
341us-gaap_DerivativeLiabilities
/ us-gaap_DerivativeInstrumentRiskAxis
= fnm_MortgageCommitmentDerivativesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring Fair Value Measurements [Member] | Significant Other Observable Inputs (Level 2) [Member] | Fannie Mae [Member]    
Liabilities [Abstract]    
Long-term debt, fair value 7,529us-gaap_LongTermDebtFairValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
6,040us-gaap_LongTermDebtFairValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
Recurring Fair Value Measurements [Member] | Significant Other Observable Inputs (Level 2) [Member] | Fannie Mae [Member] | Senior Floating [Member]    
Liabilities [Abstract]    
Long-term debt, fair value 7,529us-gaap_LongTermDebtFairValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
/ us-gaap_LongtermDebtTypeAxis
= fnm_SeniorFloatingDebtMember
6,040us-gaap_LongTermDebtFairValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
/ us-gaap_LongtermDebtTypeAxis
= fnm_SeniorFloatingDebtMember
Recurring Fair Value Measurements [Member] | Significant Other Observable Inputs (Level 2) [Member] | Consolidated Trusts [Member]    
Assets [Abstract]    
Mortgage loans held for investment, at fair value 13,760us-gaap_LoansReceivableFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
13,796us-gaap_LoansReceivableFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
Liabilities [Abstract]    
Long-term debt, fair value 20,826us-gaap_LongTermDebtFairValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
18,956us-gaap_LongTermDebtFairValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
Recurring Fair Value Measurements [Member] | Significant Other Observable Inputs (Level 2) [Member] | Fannie Mae [Member]    
Assets [Abstract]    
Trading Securities 4,957us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_FederalNationalMortgageAssociationCertificatesAndObligationsFNMAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
4,635us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_FederalNationalMortgageAssociationCertificatesAndObligationsFNMAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Available-for-sale securities 5,202us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_FederalNationalMortgageAssociationCertificatesAndObligationsFNMAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
5,639us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_FederalNationalMortgageAssociationCertificatesAndObligationsFNMAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring Fair Value Measurements [Member] | Significant Other Observable Inputs (Level 2) [Member] | Freddie Mac [Member]    
Assets [Abstract]    
Trading Securities 1,723us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_FederalHomeLoanMortgageCorporationCertificatesAndObligationsFHLMCMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
1,369us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_FederalHomeLoanMortgageCorporationCertificatesAndObligationsFHLMCMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Available-for-sale securities 5,252us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_FederalHomeLoanMortgageCorporationCertificatesAndObligationsFHLMCMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
5,522us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_FederalHomeLoanMortgageCorporationCertificatesAndObligationsFHLMCMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring Fair Value Measurements [Member] | Significant Other Observable Inputs (Level 2) [Member] | Ginnie Mae [Member]    
Assets [Abstract]    
Trading Securities 214us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_GovernmentNationalMortgageAssociationCertificatesAndObligationsGNMAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
166us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_GovernmentNationalMortgageAssociationCertificatesAndObligationsGNMAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Available-for-sale securities 458us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_GovernmentNationalMortgageAssociationCertificatesAndObligationsGNMAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
476us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_GovernmentNationalMortgageAssociationCertificatesAndObligationsGNMAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring Fair Value Measurements [Member] | Significant Other Observable Inputs (Level 2) [Member] | Alt-A private-label securities [Member]    
Assets [Abstract]    
Trading Securities 261us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
323us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Available-for-sale securities 1,978us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
2,538us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring Fair Value Measurements [Member] | Significant Other Observable Inputs (Level 2) [Member] | Subprime private-label securities [Member]    
Assets [Abstract]    
Trading Securities 0us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
0us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Available-for-sale securities 0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring Fair Value Measurements [Member] | Significant Other Observable Inputs (Level 2) [Member] | CMBS [Member]    
Assets [Abstract]    
Trading Securities 2,478us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
2,515us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Available-for-sale securities 1,370us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
1,397us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring Fair Value Measurements [Member] | Significant Other Observable Inputs (Level 2) [Member] | Mortgage revenue bonds [Member]    
Assets [Abstract]    
Trading Securities 0us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
0us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Available-for-sale securities 0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring Fair Value Measurements [Member] | Significant Other Observable Inputs (Level 2) [Member] | Other [Member]    
Assets [Abstract]    
Trading Securities 0us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesOtherMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
0us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesOtherMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Available-for-sale securities 1us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesOtherMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
2us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesOtherMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring Fair Value Measurements [Member] | Significant Other Observable Inputs (Level 2) [Member] | U.S. Treasury securities [Member]    
Assets [Abstract]    
Trading Securities 0us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USTreasurySecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
0us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USTreasurySecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring Fair Value Measurements [Member] | Significant Unobservable Inputs (Level 3) [Member]    
Assets [Abstract]    
Trading Securities 2,286us-gaap_TradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
3,030us-gaap_TradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Available-for-sale securities 13,471us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
15,080us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Total assets at fair value 17,782us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
20,125us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Other assets [Abstract]    
Derivatives assets at fair value 215us-gaap_DerivativeAssets
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
182us-gaap_DerivativeAssets
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Liabilities [Abstract]    
Long-term debt, fair value 938us-gaap_LongTermDebtFairValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
890us-gaap_LongTermDebtFairValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Total liabilities at fair value 1,087us-gaap_LiabilitiesFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
1,027us-gaap_LiabilitiesFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Other liabilities [Abstract]    
Derivative liabilities at fair value 149us-gaap_DerivativeLiabilities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
137us-gaap_DerivativeLiabilities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring Fair Value Measurements [Member] | Significant Unobservable Inputs (Level 3) [Member] | Swaps [Member]    
Other assets [Abstract]    
Derivatives assets at fair value 161us-gaap_DerivativeAssets
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_SwapMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
150us-gaap_DerivativeAssets
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_SwapMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Other liabilities [Abstract]    
Derivative liabilities at fair value 145us-gaap_DerivativeLiabilities
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_SwapMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
133us-gaap_DerivativeLiabilities
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_SwapMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring Fair Value Measurements [Member] | Significant Unobservable Inputs (Level 3) [Member] | Swaptions [Member]    
Other assets [Abstract]    
Derivatives assets at fair value 0us-gaap_DerivativeAssets
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_SwaptionMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
0us-gaap_DerivativeAssets
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_SwaptionMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Other liabilities [Abstract]    
Derivative liabilities at fair value 0us-gaap_DerivativeLiabilities
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_SwaptionMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
0us-gaap_DerivativeLiabilities
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_SwaptionMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring Fair Value Measurements [Member] | Significant Unobservable Inputs (Level 3) [Member] | Other [Member]    
Other assets [Abstract]    
Derivatives assets at fair value 27us-gaap_DerivativeAssets
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_OtherContractMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
28us-gaap_DerivativeAssets
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_OtherContractMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Other liabilities [Abstract]    
Derivative liabilities at fair value 1us-gaap_DerivativeLiabilities
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_OtherContractMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
1us-gaap_DerivativeLiabilities
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_OtherContractMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring Fair Value Measurements [Member] | Significant Unobservable Inputs (Level 3) [Member] | Mortgage commitment derivatives [Member]    
Other assets [Abstract]    
Derivatives assets at fair value 27us-gaap_DerivativeAssets
/ us-gaap_DerivativeInstrumentRiskAxis
= fnm_MortgageCommitmentDerivativesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
4us-gaap_DerivativeAssets
/ us-gaap_DerivativeInstrumentRiskAxis
= fnm_MortgageCommitmentDerivativesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Other liabilities [Abstract]    
Derivative liabilities at fair value 3us-gaap_DerivativeLiabilities
/ us-gaap_DerivativeInstrumentRiskAxis
= fnm_MortgageCommitmentDerivativesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
3us-gaap_DerivativeLiabilities
/ us-gaap_DerivativeInstrumentRiskAxis
= fnm_MortgageCommitmentDerivativesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring Fair Value Measurements [Member] | Significant Unobservable Inputs (Level 3) [Member] | Fannie Mae [Member]    
Liabilities [Abstract]    
Long-term debt, fair value 391us-gaap_LongTermDebtFairValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
363us-gaap_LongTermDebtFairValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
Recurring Fair Value Measurements [Member] | Significant Unobservable Inputs (Level 3) [Member] | Fannie Mae [Member] | Senior Floating [Member]    
Liabilities [Abstract]    
Long-term debt, fair value 391us-gaap_LongTermDebtFairValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
/ us-gaap_LongtermDebtTypeAxis
= fnm_SeniorFloatingDebtMember
363us-gaap_LongTermDebtFairValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
/ us-gaap_LongtermDebtTypeAxis
= fnm_SeniorFloatingDebtMember
Recurring Fair Value Measurements [Member] | Significant Unobservable Inputs (Level 3) [Member] | Consolidated Trusts [Member]    
Assets [Abstract]    
Mortgage loans held for investment, at fair value 1,810us-gaap_LoansReceivableFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
1,833us-gaap_LoansReceivableFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
Liabilities [Abstract]    
Long-term debt, fair value 547us-gaap_LongTermDebtFairValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
527us-gaap_LongTermDebtFairValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
Recurring Fair Value Measurements [Member] | Significant Unobservable Inputs (Level 3) [Member] | Fannie Mae [Member]    
Assets [Abstract]    
Trading Securities 2us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_FederalNationalMortgageAssociationCertificatesAndObligationsFNMAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
305us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_FederalNationalMortgageAssociationCertificatesAndObligationsFNMAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Available-for-sale securities 205us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_FederalNationalMortgageAssociationCertificatesAndObligationsFNMAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_FederalNationalMortgageAssociationCertificatesAndObligationsFNMAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring Fair Value Measurements [Member] | Significant Unobservable Inputs (Level 3) [Member] | Freddie Mac [Member]    
Assets [Abstract]    
Trading Securities 0us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_FederalHomeLoanMortgageCorporationCertificatesAndObligationsFHLMCMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
0us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_FederalHomeLoanMortgageCorporationCertificatesAndObligationsFHLMCMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Available-for-sale securities 5us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_FederalHomeLoanMortgageCorporationCertificatesAndObligationsFHLMCMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
6us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_FederalHomeLoanMortgageCorporationCertificatesAndObligationsFHLMCMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring Fair Value Measurements [Member] | Significant Unobservable Inputs (Level 3) [Member] | Ginnie Mae [Member]    
Assets [Abstract]    
Trading Securities 0us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_GovernmentNationalMortgageAssociationCertificatesAndObligationsGNMAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
0us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_GovernmentNationalMortgageAssociationCertificatesAndObligationsGNMAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Available-for-sale securities 0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_GovernmentNationalMortgageAssociationCertificatesAndObligationsGNMAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_GovernmentNationalMortgageAssociationCertificatesAndObligationsGNMAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring Fair Value Measurements [Member] | Significant Unobservable Inputs (Level 3) [Member] | Alt-A private-label securities [Member]    
Assets [Abstract]    
Trading Securities 572us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
597us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Available-for-sale securities 2,486us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
3,140us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring Fair Value Measurements [Member] | Significant Unobservable Inputs (Level 3) [Member] | Subprime private-label securities [Member]    
Assets [Abstract]    
Trading Securities 876us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
1,307us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Available-for-sale securities 4,608us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
5,240us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring Fair Value Measurements [Member] | Significant Unobservable Inputs (Level 3) [Member] | CMBS [Member]    
Assets [Abstract]    
Trading Securities 0us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
0us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Available-for-sale securities 0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring Fair Value Measurements [Member] | Significant Unobservable Inputs (Level 3) [Member] | Mortgage revenue bonds [Member]    
Assets [Abstract]    
Trading Securities 742us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
722us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Available-for-sale securities 3,560us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
4,023us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring Fair Value Measurements [Member] | Significant Unobservable Inputs (Level 3) [Member] | Other [Member]    
Assets [Abstract]    
Trading Securities 94us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesOtherMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
99us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesOtherMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Available-for-sale securities 2,607us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesOtherMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
2,671us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesOtherMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring Fair Value Measurements [Member] | Significant Unobservable Inputs (Level 3) [Member] | U.S. Treasury securities [Member]    
Assets [Abstract]    
Trading Securities $ 0us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USTreasurySecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
$ 0us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USTreasurySecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember