XML 24 R124.htm IDEA: XBRL DOCUMENT v2.4.1.9
Fair Value Level 3 Valuation Inputs - Recurring (Details) (USD $)
In Millions, unless otherwise specified
12 Months Ended
Dec. 31, 2014
Dec. 31, 2013
Fair Value Inputs, Quantitative Information [Line Items]    
Derivatives 1,457us-gaap_DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral 334us-gaap_DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral
Mortgage commitment derivatives [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Derivatives 255us-gaap_DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral
/ us-gaap_DerivativeInstrumentRiskAxis
= fnm_MortgageCommitmentDerivativesMember
265us-gaap_DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral
/ us-gaap_DerivativeInstrumentRiskAxis
= fnm_MortgageCommitmentDerivativesMember
Fannie Mae [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Long-term debt (6,403)us-gaap_LongTermDebtFairValue
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
(1,308)us-gaap_LongTermDebtFairValue
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
Consolidated Trusts [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Mortgage loans held for investment 15,629us-gaap_LoansReceivableFairValueDisclosure
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
14,268us-gaap_LoansReceivableFairValueDisclosure
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
Long-term debt (19,483)us-gaap_LongTermDebtFairValue
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
(14,976)us-gaap_LongTermDebtFairValue
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
Significant Unobservable Inputs (Level 3) [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Trading securities 3,030us-gaap_TradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
2,774us-gaap_TradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Available-for-sale securities 15,080us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
19,012us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Mortgage loans held for sale, at lower of cost or fair value 169us-gaap_MortgagesHeldForSaleFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
195us-gaap_MortgagesHeldForSaleFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Mortgage loans held for investment 400,327us-gaap_LoansReceivableFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
392,355us-gaap_LoansReceivableFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Total assets at fair value 419,874us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
415,630us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Significant Unobservable Inputs (Level 3) [Member] | Fannie Mae [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Mortgage loans held for investment 217,064us-gaap_LoansReceivableFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
215,960us-gaap_LoansReceivableFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
Long-term debt (982)us-gaap_LongTermDebtFairValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
(1,557)us-gaap_LongTermDebtFairValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
Significant Unobservable Inputs (Level 3) [Member] | Consolidated Trusts [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Mortgage loans held for investment 183,263us-gaap_LoansReceivableFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
176,395us-gaap_LoansReceivableFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
Long-term debt (19,334)us-gaap_LongTermDebtFairValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
(13,362)us-gaap_LongTermDebtFairValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Trading securities 3,030us-gaap_TradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
2,774us-gaap_TradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Available-for-sale securities 15,080us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
19,012us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Derivatives 45us-gaap_DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
(40)us-gaap_DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Long-term debt (890)us-gaap_LongTermDebtFairValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
(1,473)us-gaap_LongTermDebtFairValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Total assets at fair value 20,125us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
24,555us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Agency [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Trading securities 305us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesIssuedByUSGovernmentSponsoredEnterprisesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
44us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesIssuedByUSGovernmentSponsoredEnterprisesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Available-for-sale securities 6us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesIssuedByUSGovernmentSponsoredEnterprisesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
15us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesIssuedByUSGovernmentSponsoredEnterprisesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Alt-A private-label securities [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Trading securities 597us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
618us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Available-for-sale securities 3,140us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
3,791us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Subprime private-label securities [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Trading securities 1,307us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
1,448us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Available-for-sale securities 5,240us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
7,068us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Mortgage revenue bonds [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Trading securities 722us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
565us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Available-for-sale securities 4,023us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
5,253us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Other [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Trading securities 99us-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,671us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesOtherMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
2,885us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesOtherMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Single Vendor With Inputs [Member] | Agency [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Trading securities 153us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesIssuedByUSGovernmentSponsoredEnterprisesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
 
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Single Vendor With Inputs [Member] | Agency [Member] | Trading securities [Member] | Minimum [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Prepayment Speed (%) 100.00%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesIssuedByUSGovernmentSponsoredEnterprisesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
 
Spread (bps) 2.565%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesIssuedByUSGovernmentSponsoredEnterprisesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
 
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Single Vendor With Inputs [Member] | Agency [Member] | Trading securities [Member] | Maximum [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Prepayment Speed (%) 100.00%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesIssuedByUSGovernmentSponsoredEnterprisesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
 
Spread (bps) 3.508%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesIssuedByUSGovernmentSponsoredEnterprisesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
 
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Single Vendor With Inputs [Member] | Agency [Member] | Trading securities [Member] | Weighted Average [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Prepayment Speed (%) 100.00%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesIssuedByUSGovernmentSponsoredEnterprisesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
 
Spread (bps) 2.934%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesIssuedByUSGovernmentSponsoredEnterprisesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
 
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Single Vendor With Inputs [Member] | Alt-A private-label securities [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Trading securities 290us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
60us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
Available-for-sale securities 322us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
139us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Single Vendor With Inputs [Member] | Alt-A private-label securities [Member] | Trading securities [Member] | Minimum [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Default Rate (%) 8.30%us-gaap_FairValueInputsProbabilityOfDefault
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
6.00%us-gaap_FairValueInputsProbabilityOfDefault
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
Prepayment Speed (%) 2.90%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
4.10%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
Severity (%) 79.50%us-gaap_FairValueInputsLossSeverity
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
76.10%us-gaap_FairValueInputsLossSeverity
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
Spread (bps) 2.672%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
4.143%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Single Vendor With Inputs [Member] | Alt-A private-label securities [Member] | Trading securities [Member] | Maximum [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Default Rate (%) 9.10%us-gaap_FairValueInputsProbabilityOfDefault
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
10.80%us-gaap_FairValueInputsProbabilityOfDefault
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
Prepayment Speed (%) 3.20%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
5.40%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
Severity (%) 95.00%us-gaap_FairValueInputsLossSeverity
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
92.70%us-gaap_FairValueInputsLossSeverity
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
Spread (bps) 3.082%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
4.217%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Single Vendor With Inputs [Member] | Alt-A private-label securities [Member] | Trading securities [Member] | Weighted Average [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Default Rate (%) 8.50%us-gaap_FairValueInputsProbabilityOfDefault
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
8.70%us-gaap_FairValueInputsProbabilityOfDefault
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
Prepayment Speed (%) 3.10%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
4.60%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
Severity (%) 90.40%us-gaap_FairValueInputsLossSeverity
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
83.10%us-gaap_FairValueInputsLossSeverity
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
Spread (bps) 2.794%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
4.175%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Single Vendor With Inputs [Member] | Alt-A private-label securities [Member] | Available-for-sale Securities [Member] | Minimum [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Default Rate (%) 0.20%us-gaap_FairValueInputsProbabilityOfDefault
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
0.90%us-gaap_FairValueInputsProbabilityOfDefault
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
Prepayment Speed (%) 0.20%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
9.30%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
Severity (%) 27.80%us-gaap_FairValueInputsLossSeverity
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
53.70%us-gaap_FairValueInputsLossSeverity
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
Spread (bps) 1.90%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
3.00%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Single Vendor With Inputs [Member] | Alt-A private-label securities [Member] | Available-for-sale Securities [Member] | Maximum [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Default Rate (%) 13.10%us-gaap_FairValueInputsProbabilityOfDefault
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
6.40%us-gaap_FairValueInputsProbabilityOfDefault
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
Prepayment Speed (%) 20.50%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
11.90%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
Severity (%) 89.70%us-gaap_FairValueInputsLossSeverity
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
82.60%us-gaap_FairValueInputsLossSeverity
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
Spread (bps) 3.15%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
4.00%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Single Vendor With Inputs [Member] | Alt-A private-label securities [Member] | Available-for-sale Securities [Member] | Weighted Average [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Default Rate (%) 4.60%us-gaap_FairValueInputsProbabilityOfDefault
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
3.90%us-gaap_FairValueInputsProbabilityOfDefault
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
Prepayment Speed (%) 8.20%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
11.30%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
Severity (%) 61.00%us-gaap_FairValueInputsLossSeverity
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
68.80%us-gaap_FairValueInputsLossSeverity
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
Spread (bps) 2.649%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
3.493%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Single Vendor With Inputs [Member] | Subprime private-label securities [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Trading securities   113us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
Available-for-sale securities 383us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
442us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Single Vendor With Inputs [Member] | Subprime private-label securities [Member] | Trading securities [Member] | Minimum [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Default Rate (%)   3.10%us-gaap_FairValueInputsProbabilityOfDefault
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
Prepayment Speed (%)   1.80%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
Severity (%)   75.00%us-gaap_FairValueInputsLossSeverity
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
Spread (bps)   3.25%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Single Vendor With Inputs [Member] | Subprime private-label securities [Member] | Trading securities [Member] | Maximum [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Default Rate (%)   7.50%us-gaap_FairValueInputsProbabilityOfDefault
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
Prepayment Speed (%)   2.50%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
Severity (%)   87.20%us-gaap_FairValueInputsLossSeverity
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
Spread (bps)   3.25%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Single Vendor With Inputs [Member] | Subprime private-label securities [Member] | Trading securities [Member] | Weighted Average [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Default Rate (%)   3.90%us-gaap_FairValueInputsProbabilityOfDefault
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
Prepayment Speed (%)   2.00%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
Severity (%)   75.80%us-gaap_FairValueInputsLossSeverity
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
Spread (bps)   3.25%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Single Vendor With Inputs [Member] | Subprime private-label securities [Member] | Available-for-sale Securities [Member] | Minimum [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Default Rate (%) 2.10%us-gaap_FairValueInputsProbabilityOfDefault
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
1.80%us-gaap_FairValueInputsProbabilityOfDefault
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
Prepayment Speed (%) 1.50%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
1.00%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
Severity (%) 65.40%us-gaap_FairValueInputsLossSeverity
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
65.00%us-gaap_FairValueInputsLossSeverity
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
Spread (bps) 2.15%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
2.75%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Single Vendor With Inputs [Member] | Subprime private-label securities [Member] | Available-for-sale Securities [Member] | Maximum [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Default Rate (%) 8.30%us-gaap_FairValueInputsProbabilityOfDefault
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
11.00%us-gaap_FairValueInputsProbabilityOfDefault
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
Prepayment Speed (%) 3.30%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
9.40%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
Severity (%) 95.00%us-gaap_FairValueInputsLossSeverity
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
100.00%us-gaap_FairValueInputsLossSeverity
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
Spread (bps) 2.62%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
3.75%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Single Vendor With Inputs [Member] | Subprime private-label securities [Member] | Available-for-sale Securities [Member] | Weighted Average [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Default Rate (%) 5.50%us-gaap_FairValueInputsProbabilityOfDefault
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
7.40%us-gaap_FairValueInputsProbabilityOfDefault
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
Prepayment Speed (%) 2.10%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
2.00%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
Severity (%) 78.50%us-gaap_FairValueInputsLossSeverity
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
82.20%us-gaap_FairValueInputsLossSeverity
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
Spread (bps) 2.30%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
3.152%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Single Vendor With Inputs [Member] | Mortgage revenue bonds [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Available-for-sale securities 1,504us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
1,937us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Single Vendor With Inputs [Member] | Mortgage revenue bonds [Member] | Available-for-sale Securities [Member] | Minimum [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Spread (bps) (0.115%)fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
0.00%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Single Vendor With Inputs [Member] | Mortgage revenue bonds [Member] | Available-for-sale Securities [Member] | Maximum [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Spread (bps) 3.615%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
4.632%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Single Vendor With Inputs [Member] | Mortgage revenue bonds [Member] | Available-for-sale Securities [Member] | Weighted Average [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Spread (bps) 0.527%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
1.121%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Single Vendor With Inputs [Member] | Other [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Available-for-sale securities 337us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesOtherMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
 
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Single Vendor With Inputs [Member] | Other [Member] | Available-for-sale Securities [Member] | Minimum [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Default Rate (%) 1.70%us-gaap_FairValueInputsProbabilityOfDefault
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesOtherMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
 
Prepayment Speed (%) 3.00%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesOtherMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
 
Severity (%) 4.00%us-gaap_FairValueInputsLossSeverity
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesOtherMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
 
Spread (bps) 2.631%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesOtherMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
 
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Single Vendor With Inputs [Member] | Other [Member] | Available-for-sale Securities [Member] | Maximum [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Default Rate (%) 5.00%us-gaap_FairValueInputsProbabilityOfDefault
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesOtherMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
 
Prepayment Speed (%) 9.30%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesOtherMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
 
Severity (%) 94.60%us-gaap_FairValueInputsLossSeverity
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesOtherMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
 
Spread (bps) 4.272%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesOtherMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
 
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Single Vendor With Inputs [Member] | Other [Member] | Available-for-sale Securities [Member] | Weighted Average [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Default Rate (%) 4.40%us-gaap_FairValueInputsProbabilityOfDefault
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesOtherMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
 
Prepayment Speed (%) 3.80%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesOtherMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
 
Severity (%) 69.60%us-gaap_FairValueInputsLossSeverity
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesOtherMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
 
Spread (bps) 2.915%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesOtherMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
 
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Single Vendor Without Inputs [Member] | Alt-A private-label securities [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Available-for-sale securities 493us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithoutInputsMember
435us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithoutInputsMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Single Vendor Without Inputs [Member] | Subprime private-label securities [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Trading securities   77us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithoutInputsMember
Available-for-sale securities   322us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithoutInputsMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Single Vendor Without Inputs [Member] | Mortgage revenue bonds [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Available-for-sale securities 418us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithoutInputsMember
1,386us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithoutInputsMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Single Vendor Without Inputs [Member] | Other [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Available-for-sale securities   122us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesOtherMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithoutInputsMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Consensus with Inputs [Member] | Agency [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Trading securities 130us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesIssuedByUSGovernmentSponsoredEnterprisesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
 
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Consensus with Inputs [Member] | Agency [Member] | Trading securities [Member] | Minimum [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Prepayment Speed (%) 100.00%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesIssuedByUSGovernmentSponsoredEnterprisesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
 
Spread (bps) 1.846%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesIssuedByUSGovernmentSponsoredEnterprisesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
 
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Consensus with Inputs [Member] | Agency [Member] | Trading securities [Member] | Maximum [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Prepayment Speed (%) 100.00%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesIssuedByUSGovernmentSponsoredEnterprisesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
 
Spread (bps) 2.195%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesIssuedByUSGovernmentSponsoredEnterprisesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
 
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Consensus with Inputs [Member] | Agency [Member] | Trading securities [Member] | Weighted Average [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Prepayment Speed (%) 100.00%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesIssuedByUSGovernmentSponsoredEnterprisesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
 
Spread (bps) 1.975%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesIssuedByUSGovernmentSponsoredEnterprisesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
 
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Consensus with Inputs [Member] | Alt-A private-label securities [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Trading securities 66us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
325us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
Available-for-sale securities 1,187us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
1,948us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Consensus with Inputs [Member] | Alt-A private-label securities [Member] | Trading securities [Member] | Minimum [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Default Rate (%) 5.40%us-gaap_FairValueInputsProbabilityOfDefault
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
6.90%us-gaap_FairValueInputsProbabilityOfDefault
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
Prepayment Speed (%) 7.00%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
1.90%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
Severity (%) 48.80%us-gaap_FairValueInputsLossSeverity
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
77.30%us-gaap_FairValueInputsLossSeverity
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
Spread (bps) 2.648%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
2.983%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Consensus with Inputs [Member] | Alt-A private-label securities [Member] | Trading securities [Member] | Maximum [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Default Rate (%) 5.40%us-gaap_FairValueInputsProbabilityOfDefault
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
10.40%us-gaap_FairValueInputsProbabilityOfDefault
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
Prepayment Speed (%) 7.00%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
2.50%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
Severity (%) 48.80%us-gaap_FairValueInputsLossSeverity
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
97.80%us-gaap_FairValueInputsLossSeverity
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
Spread (bps) 2.648%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
4.202%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Consensus with Inputs [Member] | Alt-A private-label securities [Member] | Trading securities [Member] | Weighted Average [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Default Rate (%) 5.40%us-gaap_FairValueInputsProbabilityOfDefault
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
8.90%us-gaap_FairValueInputsProbabilityOfDefault
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
Prepayment Speed (%) 7.00%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
2.20%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
Severity (%) 48.80%us-gaap_FairValueInputsLossSeverity
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
88.70%us-gaap_FairValueInputsLossSeverity
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
Spread (bps) 2.648%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
3.663%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Consensus with Inputs [Member] | Alt-A private-label securities [Member] | Available-for-sale Securities [Member] | Minimum [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Default Rate (%) 0.40%us-gaap_FairValueInputsProbabilityOfDefault
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
0.10%us-gaap_FairValueInputsProbabilityOfDefault
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
Prepayment Speed (%) 0.10%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
0.10%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
Severity (%) 0.20%us-gaap_FairValueInputsLossSeverity
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
7.20%us-gaap_FairValueInputsLossSeverity
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
Spread (bps) 1.838%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
2.106%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Consensus with Inputs [Member] | Alt-A private-label securities [Member] | Available-for-sale Securities [Member] | Maximum [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Default Rate (%) 31.20%us-gaap_FairValueInputsProbabilityOfDefault
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
10.30%us-gaap_FairValueInputsProbabilityOfDefault
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
Prepayment Speed (%) 48.90%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
32.90%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
Severity (%) 95.00%us-gaap_FairValueInputsLossSeverity
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
100.00%us-gaap_FairValueInputsLossSeverity
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
Spread (bps) 2.40%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
4.042%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Consensus with Inputs [Member] | Alt-A private-label securities [Member] | Available-for-sale Securities [Member] | Weighted Average [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Default Rate (%) 5.10%us-gaap_FairValueInputsProbabilityOfDefault
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
3.50%us-gaap_FairValueInputsProbabilityOfDefault
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
Prepayment Speed (%) 11.00%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
9.90%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
Severity (%) 59.60%us-gaap_FairValueInputsLossSeverity
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
62.30%us-gaap_FairValueInputsLossSeverity
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
Spread (bps) 2.367%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
3.367%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Consensus with Inputs [Member] | Subprime private-label securities [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Trading securities 422us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
400us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
Available-for-sale securities 2,722us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
2,981us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Consensus with Inputs [Member] | Subprime private-label securities [Member] | Trading securities [Member] | Minimum [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Default Rate (%) 3.50%us-gaap_FairValueInputsProbabilityOfDefault
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
3.00%us-gaap_FairValueInputsProbabilityOfDefault
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
Prepayment Speed (%) 1.40%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
1.40%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
Severity (%) 72.10%us-gaap_FairValueInputsLossSeverity
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
50.40%us-gaap_FairValueInputsLossSeverity
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
Spread (bps) 2.65%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
3.25%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Consensus with Inputs [Member] | Subprime private-label securities [Member] | Trading securities [Member] | Maximum [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Default Rate (%) 11.80%us-gaap_FairValueInputsProbabilityOfDefault
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
9.20%us-gaap_FairValueInputsProbabilityOfDefault
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
Prepayment Speed (%) 5.20%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
2.20%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
Severity (%) 95.00%us-gaap_FairValueInputsLossSeverity
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
87.20%us-gaap_FairValueInputsLossSeverity
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
Spread (bps) 2.65%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
4.25%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Consensus with Inputs [Member] | Subprime private-label securities [Member] | Trading securities [Member] | Weighted Average [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Default Rate (%) 7.20%us-gaap_FairValueInputsProbabilityOfDefault
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
6.40%us-gaap_FairValueInputsProbabilityOfDefault
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
Prepayment Speed (%) 2.80%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
1.90%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
Severity (%) 85.90%us-gaap_FairValueInputsLossSeverity
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
74.40%us-gaap_FairValueInputsLossSeverity
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
Spread (bps) 2.65%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
3.53%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Consensus with Inputs [Member] | Subprime private-label securities [Member] | Available-for-sale Securities [Member] | Minimum [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Default Rate (%) 1.50%us-gaap_FairValueInputsProbabilityOfDefault
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
0.00%us-gaap_FairValueInputsProbabilityOfDefault
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
Prepayment Speed (%) 0.10%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
0.30%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
Severity (%) 1.50%us-gaap_FairValueInputsLossSeverity
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
36.80%us-gaap_FairValueInputsLossSeverity
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
Spread (bps) 1.55%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
1.75%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Consensus with Inputs [Member] | Subprime private-label securities [Member] | Available-for-sale Securities [Member] | Maximum [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Default Rate (%) 37.40%us-gaap_FairValueInputsProbabilityOfDefault
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
36.80%us-gaap_FairValueInputsProbabilityOfDefault
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
Prepayment Speed (%) 17.70%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
9.70%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
Severity (%) 95.00%us-gaap_FairValueInputsLossSeverity
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
100.00%us-gaap_FairValueInputsLossSeverity
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
Spread (bps) 2.65%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
3.75%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Consensus with Inputs [Member] | Subprime private-label securities [Member] | Available-for-sale Securities [Member] | Weighted Average [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Default Rate (%) 6.30%us-gaap_FairValueInputsProbabilityOfDefault
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
7.40%us-gaap_FairValueInputsProbabilityOfDefault
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
Prepayment Speed (%) 2.60%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
2.30%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
Severity (%) 84.40%us-gaap_FairValueInputsLossSeverity
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
81.70%us-gaap_FairValueInputsLossSeverity
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
Spread (bps) 2.20%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
3.199%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Consensus with Inputs [Member] | Other [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Available-for-sale securities 720us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesOtherMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
483us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesOtherMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Consensus with Inputs [Member] | Other [Member] | Available-for-sale Securities [Member] | Minimum [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Default Rate (%) 0.10%us-gaap_FairValueInputsProbabilityOfDefault
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesOtherMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
0.10%us-gaap_FairValueInputsProbabilityOfDefault
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesOtherMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
Prepayment Speed (%) 3.00%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesOtherMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
3.00%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesOtherMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
Severity (%) 0.40%us-gaap_FairValueInputsLossSeverity
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesOtherMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
65.00%us-gaap_FairValueInputsLossSeverity
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesOtherMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
Spread (bps) 2.15%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesOtherMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
2.75%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesOtherMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Consensus with Inputs [Member] | Other [Member] | Available-for-sale Securities [Member] | Maximum [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Default Rate (%) 6.60%us-gaap_FairValueInputsProbabilityOfDefault
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesOtherMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
5.00%us-gaap_FairValueInputsProbabilityOfDefault
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesOtherMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
Prepayment Speed (%) 30.40%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesOtherMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
11.40%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesOtherMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
Severity (%) 95.00%us-gaap_FairValueInputsLossSeverity
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesOtherMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
85.00%us-gaap_FairValueInputsLossSeverity
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesOtherMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
Spread (bps) 4.814%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesOtherMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
9.25%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesOtherMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Consensus with Inputs [Member] | Other [Member] | Available-for-sale Securities [Member] | Weighted Average [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Default Rate (%) 3.90%us-gaap_FairValueInputsProbabilityOfDefault
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesOtherMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
5.00%us-gaap_FairValueInputsProbabilityOfDefault
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesOtherMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
Prepayment Speed (%) 4.80%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesOtherMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
3.00%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesOtherMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
Severity (%) 62.40%us-gaap_FairValueInputsLossSeverity
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesOtherMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
84.60%us-gaap_FairValueInputsLossSeverity
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesOtherMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
Spread (bps) 3.206%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesOtherMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
5.264%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesOtherMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Consensus Without Inputs [Member] | Alt-A private-label securities [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Trading securities 151us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithoutInputsMember
85us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithoutInputsMember
Available-for-sale securities 691us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithoutInputsMember
740us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithoutInputsMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Consensus Without Inputs [Member] | Subprime private-label securities [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Trading securities 549us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithoutInputsMember
808us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithoutInputsMember
Available-for-sale securities 1,755us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithoutInputsMember
2,442us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithoutInputsMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Consensus Without Inputs [Member] | Other [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Available-for-sale securities   625us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesOtherMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithoutInputsMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Dealer Mark [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Derivatives 150us-gaap_DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DealerMarkMember
32us-gaap_DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DealerMarkMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Dealer Mark [Member] | Mortgage revenue bonds [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Trading securities 161us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DealerMarkMember
 
Available-for-sale securities 510us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DealerMarkMember
 
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Dealer Mark [Member] | Mortgage revenue bonds [Member] | Trading securities [Member] | Minimum [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Spread (bps) 2.881%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DealerMarkMember
 
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Dealer Mark [Member] | Mortgage revenue bonds [Member] | Trading securities [Member] | Maximum [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Spread (bps) 2.881%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DealerMarkMember
 
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Dealer Mark [Member] | Mortgage revenue bonds [Member] | Trading securities [Member] | Weighted Average [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Spread (bps) 2.881%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DealerMarkMember
 
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Dealer Mark [Member] | Mortgage revenue bonds [Member] | Available-for-sale Securities [Member] | Minimum [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Spread (bps) 2.228%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DealerMarkMember
 
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Dealer Mark [Member] | Mortgage revenue bonds [Member] | Available-for-sale Securities [Member] | Maximum [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Spread (bps) 3.221%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DealerMarkMember
 
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Dealer Mark [Member] | Mortgage revenue bonds [Member] | Available-for-sale Securities [Member] | Weighted Average [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Spread (bps) 2.659%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DealerMarkMember
 
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Dealer Mark [Member] | Other [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Trading securities 99us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesOtherMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DealerMarkMember
 
Available-for-sale securities 1,215us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesOtherMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DealerMarkMember
 
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Discounted Cash Flow with Inputs [Member] | Alt-A private-label securities [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Trading securities   148us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
Available-for-sale securities 403us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
420us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Discounted Cash Flow with Inputs [Member] | Alt-A private-label securities [Member] | Trading securities [Member] | Minimum [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Default Rate (%)   4.00%us-gaap_FairValueInputsProbabilityOfDefault
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
Prepayment Speed (%)   1.90%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
Severity (%)   42.70%us-gaap_FairValueInputsLossSeverity
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
Spread (bps)   3.254%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Discounted Cash Flow with Inputs [Member] | Alt-A private-label securities [Member] | Trading securities [Member] | Maximum [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Default Rate (%)   6.90%us-gaap_FairValueInputsProbabilityOfDefault
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
Prepayment Speed (%)   3.40%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
Severity (%)   77.30%us-gaap_FairValueInputsLossSeverity
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
Spread (bps)   4.394%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Discounted Cash Flow with Inputs [Member] | Alt-A private-label securities [Member] | Trading securities [Member] | Weighted Average [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Default Rate (%)   6.50%us-gaap_FairValueInputsProbabilityOfDefault
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
Prepayment Speed (%)   2.20%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
Severity (%)   67.60%us-gaap_FairValueInputsLossSeverity
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
Spread (bps)   4.186%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Discounted Cash Flow with Inputs [Member] | Alt-A private-label securities [Member] | Available-for-sale Securities [Member] | Minimum [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Default Rate (%) 5.00%us-gaap_FairValueInputsProbabilityOfDefault
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
2.30%us-gaap_FairValueInputsProbabilityOfDefault
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
Prepayment Speed (%) 0.50%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
1.20%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
Severity (%) 35.10%us-gaap_FairValueInputsLossSeverity
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
45.20%us-gaap_FairValueInputsLossSeverity
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
Spread (bps) 1.88%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
2.202%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Discounted Cash Flow with Inputs [Member] | Alt-A private-label securities [Member] | Available-for-sale Securities [Member] | Maximum [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Default Rate (%) 11.50%us-gaap_FairValueInputsProbabilityOfDefault
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
10.10%us-gaap_FairValueInputsProbabilityOfDefault
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
Prepayment Speed (%) 8.40%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
7.00%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
Severity (%) 92.40%us-gaap_FairValueInputsLossSeverity
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
79.50%us-gaap_FairValueInputsLossSeverity
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
Spread (bps) 3.40%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
5.00%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Discounted Cash Flow with Inputs [Member] | Alt-A private-label securities [Member] | Available-for-sale Securities [Member] | Weighted Average [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Default Rate (%) 7.00%us-gaap_FairValueInputsProbabilityOfDefault
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
5.10%us-gaap_FairValueInputsProbabilityOfDefault
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
Prepayment Speed (%) 3.40%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
3.40%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
Severity (%) 54.20%us-gaap_FairValueInputsLossSeverity
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
60.50%us-gaap_FairValueInputsLossSeverity
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
Spread (bps) 2.434%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
3.813%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Discounted Cash Flow with Inputs [Member] | Subprime private-label securities [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Trading securities 290us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
50us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
Available-for-sale securities 317us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
816us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Discounted Cash Flow with Inputs [Member] | Subprime private-label securities [Member] | Trading securities [Member] | Minimum [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Default Rate (%) 4.30%us-gaap_FairValueInputsProbabilityOfDefault
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
6.90%us-gaap_FairValueInputsProbabilityOfDefault
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
Prepayment Speed (%) 2.30%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
0.10%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
Severity (%) 62.20%us-gaap_FairValueInputsLossSeverity
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
75.00%us-gaap_FairValueInputsLossSeverity
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
Spread (bps) 2.65%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
3.25%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Discounted Cash Flow with Inputs [Member] | Subprime private-label securities [Member] | Trading securities [Member] | Maximum [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Default Rate (%) 6.20%us-gaap_FairValueInputsProbabilityOfDefault
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
6.90%us-gaap_FairValueInputsProbabilityOfDefault
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
Prepayment Speed (%) 4.20%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
0.10%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
Severity (%) 95.00%us-gaap_FairValueInputsLossSeverity
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
75.00%us-gaap_FairValueInputsLossSeverity
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
Spread (bps) 3.821%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
3.25%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Discounted Cash Flow with Inputs [Member] | Subprime private-label securities [Member] | Trading securities [Member] | Weighted Average [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Default Rate (%) 5.20%us-gaap_FairValueInputsProbabilityOfDefault
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
6.90%us-gaap_FairValueInputsProbabilityOfDefault
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
Prepayment Speed (%) 3.30%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
0.10%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
Severity (%) 73.80%us-gaap_FairValueInputsLossSeverity
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
75.00%us-gaap_FairValueInputsLossSeverity
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
Spread (bps) 2.837%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
3.25%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Discounted Cash Flow with Inputs [Member] | Subprime private-label securities [Member] | Available-for-sale Securities [Member] | Minimum [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Default Rate (%) 3.00%us-gaap_FairValueInputsProbabilityOfDefault
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
0.70%us-gaap_FairValueInputsProbabilityOfDefault
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
Prepayment Speed (%) 1.10%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
0.20%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
Severity (%) 28.90%us-gaap_FairValueInputsLossSeverity
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
43.80%us-gaap_FairValueInputsLossSeverity
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
Spread (bps) 1.55%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
1.75%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Discounted Cash Flow with Inputs [Member] | Subprime private-label securities [Member] | Available-for-sale Securities [Member] | Maximum [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Default Rate (%) 12.30%us-gaap_FairValueInputsProbabilityOfDefault
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
7.60%us-gaap_FairValueInputsProbabilityOfDefault
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
Prepayment Speed (%) 9.00%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
12.50%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
Severity (%) 91.80%us-gaap_FairValueInputsLossSeverity
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
98.00%us-gaap_FairValueInputsLossSeverity
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
Spread (bps) 8.95%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
3.75%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Discounted Cash Flow with Inputs [Member] | Subprime private-label securities [Member] | Available-for-sale Securities [Member] | Weighted Average [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Default Rate (%) 7.00%us-gaap_FairValueInputsProbabilityOfDefault
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
5.10%us-gaap_FairValueInputsProbabilityOfDefault
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
Prepayment Speed (%) 4.10%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
4.10%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
Severity (%) 81.20%us-gaap_FairValueInputsLossSeverity
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
79.50%us-gaap_FairValueInputsLossSeverity
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
Spread (bps) 2.505%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
2.924%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Discounted Cash Flow with Inputs [Member] | Mortgage revenue bonds [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Trading securities 540us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
539us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
Available-for-sale securities 1,581us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
1,899us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Discounted Cash Flow with Inputs [Member] | Mortgage revenue bonds [Member] | Trading securities [Member] | Minimum [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Spread (bps) 0.06%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
0.35%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Discounted Cash Flow with Inputs [Member] | Mortgage revenue bonds [Member] | Trading securities [Member] | Maximum [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Spread (bps) 3.18%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
4.40%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Discounted Cash Flow with Inputs [Member] | Mortgage revenue bonds [Member] | Trading securities [Member] | Weighted Average [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Spread (bps) 2.63%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
3.406%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Discounted Cash Flow with Inputs [Member] | Mortgage revenue bonds [Member] | Available-for-sale Securities [Member] | Minimum [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Spread (bps) (0.115%)fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
0.055%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Discounted Cash Flow with Inputs [Member] | Mortgage revenue bonds [Member] | Available-for-sale Securities [Member] | Maximum [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Spread (bps) 6.202%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
4.90%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Discounted Cash Flow with Inputs [Member] | Mortgage revenue bonds [Member] | Available-for-sale Securities [Member] | Weighted Average [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Spread (bps) 2.514%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
3.10%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Discounted Cash Flow with Inputs [Member] | Other [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Trading securities   99us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesOtherMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
Available-for-sale securities   610us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesOtherMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Discounted Cash Flow with Inputs [Member] | Other [Member] | Trading securities [Member] | Minimum [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Spread (bps)   5.25%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesOtherMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Discounted Cash Flow with Inputs [Member] | Other [Member] | Trading securities [Member] | Maximum [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Spread (bps)   5.25%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesOtherMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Discounted Cash Flow with Inputs [Member] | Other [Member] | Trading securities [Member] | Weighted Average [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Spread (bps)   5.25%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesOtherMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Discounted Cash Flow with Inputs [Member] | Other [Member] | Available-for-sale Securities [Member] | Minimum [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Default Rate (%)   5.00%us-gaap_FairValueInputsProbabilityOfDefault
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesOtherMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
Prepayment Speed (%)   10.00%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesOtherMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
Severity (%)   55.00%us-gaap_FairValueInputsLossSeverity
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesOtherMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
Spread (bps)   3.00%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesOtherMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Discounted Cash Flow with Inputs [Member] | Other [Member] | Available-for-sale Securities [Member] | Maximum [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Default Rate (%)   5.00%us-gaap_FairValueInputsProbabilityOfDefault
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesOtherMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
Prepayment Speed (%)   10.00%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesOtherMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
Severity (%)   55.00%us-gaap_FairValueInputsLossSeverity
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesOtherMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
Spread (bps)   5.11%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesOtherMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Discounted Cash Flow with Inputs [Member] | Other [Member] | Available-for-sale Securities [Member] | Weighted Average [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Default Rate (%)   5.00%us-gaap_FairValueInputsProbabilityOfDefault
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesOtherMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
Prepayment Speed (%)   10.00%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesOtherMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
Severity (%)   55.00%us-gaap_FairValueInputsLossSeverity
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesOtherMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
Spread (bps)   4.695%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesOtherMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Internal Model [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Derivatives (107)us-gaap_DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ValuationTechniqueAxis
= fnm_InternalModelMember
(64)us-gaap_DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ValuationTechniqueAxis
= fnm_InternalModelMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Other Valuation Technique [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Derivatives 2us-gaap_DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ValuationTechniqueAxis
= fnm_OtherValuationTechniqueMember
(8)us-gaap_DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ValuationTechniqueAxis
= fnm_OtherValuationTechniqueMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Other Valuation Technique [Member] | Agency [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Trading securities 22us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesIssuedByUSGovernmentSponsoredEnterprisesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ValuationTechniqueAxis
= fnm_OtherValuationTechniqueMember
44us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesIssuedByUSGovernmentSponsoredEnterprisesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ValuationTechniqueAxis
= fnm_OtherValuationTechniqueMember
Available-for-sale securities 6us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesIssuedByUSGovernmentSponsoredEnterprisesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ValuationTechniqueAxis
= fnm_OtherValuationTechniqueMember
15us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesIssuedByUSGovernmentSponsoredEnterprisesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ValuationTechniqueAxis
= fnm_OtherValuationTechniqueMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Other Valuation Technique [Member] | Alt-A private-label securities [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Trading securities 90us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ValuationTechniqueAxis
= fnm_OtherValuationTechniqueMember
 
Available-for-sale securities 44us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ValuationTechniqueAxis
= fnm_OtherValuationTechniqueMember
109us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ValuationTechniqueAxis
= fnm_OtherValuationTechniqueMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Other Valuation Technique [Member] | Subprime private-label securities [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Trading securities 46us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ValuationTechniqueAxis
= fnm_OtherValuationTechniqueMember
 
Available-for-sale securities 63us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ValuationTechniqueAxis
= fnm_OtherValuationTechniqueMember
65us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ValuationTechniqueAxis
= fnm_OtherValuationTechniqueMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Other Valuation Technique [Member] | Mortgage revenue bonds [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Trading securities 21us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ValuationTechniqueAxis
= fnm_OtherValuationTechniqueMember
26us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ValuationTechniqueAxis
= fnm_OtherValuationTechniqueMember
Available-for-sale securities 10us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ValuationTechniqueAxis
= fnm_OtherValuationTechniqueMember
31us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ValuationTechniqueAxis
= fnm_OtherValuationTechniqueMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Other Valuation Technique [Member] | Other [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Available-for-sale securities 399us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesOtherMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ValuationTechniqueAxis
= fnm_OtherValuationTechniqueMember
1,045us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesOtherMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ValuationTechniqueAxis
= fnm_OtherValuationTechniqueMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Fannie Mae [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Long-term debt (363)us-gaap_LongTermDebtFairValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
(955)us-gaap_LongTermDebtFairValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Fannie Mae [Member] | Senior Floating [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Long-term debt (363)us-gaap_LongTermDebtFairValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
/ us-gaap_LongtermDebtTypeAxis
= fnm_SeniorFloatingDebtMember
(955)us-gaap_LongTermDebtFairValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
/ us-gaap_LongtermDebtTypeAxis
= fnm_SeniorFloatingDebtMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Fannie Mae [Member] | Consensus with Inputs [Member] | Senior Floating [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Long-term debt   (689)us-gaap_LongTermDebtFairValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
/ us-gaap_LongtermDebtTypeAxis
= fnm_SeniorFloatingDebtMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Fannie Mae [Member] | Consensus with Inputs [Member] | Long-term Debt [Member] | Senior Floating [Member] | Minimum [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Default Rate (%)   0.20%us-gaap_FairValueInputsProbabilityOfDefault
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_LongTermDebtMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
/ us-gaap_LongtermDebtTypeAxis
= fnm_SeniorFloatingDebtMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
Prepayment Speed (%)   8.40%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_LongTermDebtMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
/ us-gaap_LongtermDebtTypeAxis
= fnm_SeniorFloatingDebtMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
Spread (bps)   1.71%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_LongTermDebtMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
/ us-gaap_LongtermDebtTypeAxis
= fnm_SeniorFloatingDebtMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Fannie Mae [Member] | Consensus with Inputs [Member] | Long-term Debt [Member] | Senior Floating [Member] | Maximum [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Default Rate (%)   0.20%us-gaap_FairValueInputsProbabilityOfDefault
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_LongTermDebtMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
/ us-gaap_LongtermDebtTypeAxis
= fnm_SeniorFloatingDebtMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
Prepayment Speed (%)   8.40%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_LongTermDebtMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
/ us-gaap_LongtermDebtTypeAxis
= fnm_SeniorFloatingDebtMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
Spread (bps)   4.38%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_LongTermDebtMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
/ us-gaap_LongtermDebtTypeAxis
= fnm_SeniorFloatingDebtMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Fannie Mae [Member] | Consensus with Inputs [Member] | Long-term Debt [Member] | Senior Floating [Member] | Weighted Average [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Default Rate (%)   0.20%us-gaap_FairValueInputsProbabilityOfDefault
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_LongTermDebtMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
/ us-gaap_LongtermDebtTypeAxis
= fnm_SeniorFloatingDebtMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
Prepayment Speed (%)   8.40%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_LongTermDebtMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
/ us-gaap_LongtermDebtTypeAxis
= fnm_SeniorFloatingDebtMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
Spread (bps)   3.062%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_LongTermDebtMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
/ us-gaap_LongtermDebtTypeAxis
= fnm_SeniorFloatingDebtMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Fannie Mae [Member] | Discounted Cash Flow without Inputs [Member] | Senior Floating [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Long-term debt (363)us-gaap_LongTermDebtFairValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
/ us-gaap_LongtermDebtTypeAxis
= fnm_SeniorFloatingDebtMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithoutInputsMember
(266)us-gaap_LongTermDebtFairValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
/ us-gaap_LongtermDebtTypeAxis
= fnm_SeniorFloatingDebtMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithoutInputsMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Consolidated Trusts [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Mortgage loans held for investment 1,833us-gaap_LoansReceivableFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
2,704us-gaap_LoansReceivableFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
Long-term debt (527)us-gaap_LongTermDebtFairValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
(518)us-gaap_LongTermDebtFairValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Consolidated Trusts [Member] | Single Vendor Without Inputs [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Long-term debt   (80)us-gaap_LongTermDebtFairValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithoutInputsMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Consolidated Trusts [Member] | Consensus with Inputs [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Long-term debt   (116)us-gaap_LongTermDebtFairValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Consolidated Trusts [Member] | Consensus with Inputs [Member] | Long-term Debt [Member] | Minimum [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Default Rate (%)   1.10%us-gaap_FairValueInputsProbabilityOfDefault
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_LongTermDebtMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
Prepayment Speed (%)   0.20%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_LongTermDebtMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
Severity (%)   63.90%us-gaap_FairValueInputsLossSeverity
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_LongTermDebtMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
Spread (bps)   1.75%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_LongTermDebtMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Consolidated Trusts [Member] | Consensus with Inputs [Member] | Long-term Debt [Member] | Maximum [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Default Rate (%)   4.70%us-gaap_FairValueInputsProbabilityOfDefault
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_LongTermDebtMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
Prepayment Speed (%)   16.70%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_LongTermDebtMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
Severity (%)   89.50%us-gaap_FairValueInputsLossSeverity
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_LongTermDebtMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
Spread (bps)   9.50%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_LongTermDebtMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Consolidated Trusts [Member] | Consensus with Inputs [Member] | Long-term Debt [Member] | Weighted Average [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Default Rate (%)   3.20%us-gaap_FairValueInputsProbabilityOfDefault
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_LongTermDebtMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
Prepayment Speed (%)   15.20%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_LongTermDebtMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
Severity (%)   85.60%us-gaap_FairValueInputsLossSeverity
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_LongTermDebtMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
Spread (bps)   2.951%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_LongTermDebtMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Consolidated Trusts [Member] | Consensus Without Inputs [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Long-term debt (219)us-gaap_LongTermDebtFairValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithoutInputsMember
(227)us-gaap_LongTermDebtFairValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithoutInputsMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Consolidated Trusts [Member] | Discounted Cash Flow with Inputs [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Long-term debt (205)us-gaap_LongTermDebtFairValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
 
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Consolidated Trusts [Member] | Discounted Cash Flow with Inputs [Member] | Long-term Debt [Member] | Minimum [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Default Rate (%) 2.70%us-gaap_FairValueInputsProbabilityOfDefault
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_LongTermDebtMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
 
Prepayment Speed (%) 0.10%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_LongTermDebtMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
 
Severity (%) 35.50%us-gaap_FairValueInputsLossSeverity
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_LongTermDebtMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
 
Spread (bps) 0.88%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_LongTermDebtMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
 
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Consolidated Trusts [Member] | Discounted Cash Flow with Inputs [Member] | Long-term Debt [Member] | Maximum [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Default Rate (%) 11.90%us-gaap_FairValueInputsProbabilityOfDefault
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_LongTermDebtMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
 
Prepayment Speed (%) 100.00%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_LongTermDebtMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
 
Severity (%) 95.00%us-gaap_FairValueInputsLossSeverity
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_LongTermDebtMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
 
Spread (bps) 6.65%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_LongTermDebtMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
 
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Consolidated Trusts [Member] | Discounted Cash Flow with Inputs [Member] | Long-term Debt [Member] | Weighted Average [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Default Rate (%) 4.00%us-gaap_FairValueInputsProbabilityOfDefault
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_LongTermDebtMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
 
Prepayment Speed (%) 33.40%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_LongTermDebtMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
 
Severity (%) 54.60%us-gaap_FairValueInputsLossSeverity
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_LongTermDebtMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
 
Spread (bps) 2.494%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_LongTermDebtMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
 
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Consolidated Trusts [Member] | Other Valuation Technique [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Long-term debt (103)us-gaap_LongTermDebtFairValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
/ us-gaap_ValuationTechniqueAxis
= fnm_OtherValuationTechniqueMember
(95)us-gaap_LongTermDebtFairValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
/ us-gaap_ValuationTechniqueAxis
= fnm_OtherValuationTechniqueMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Consolidated Trusts [Member] | Single-Family [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Mortgage loans held for investment 1,654us-gaap_LoansReceivableFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
2,529us-gaap_LoansReceivableFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Consolidated Trusts [Member] | Single-Family [Member] | Build-Up [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Mortgage loans held for investment 934us-gaap_LoansReceivableFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
/ us-gaap_ValuationTechniqueAxis
= fnm_BuildUpMember
1,828us-gaap_LoansReceivableFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
/ us-gaap_ValuationTechniqueAxis
= fnm_BuildUpMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Consolidated Trusts [Member] | Single-Family [Member] | Build-Up [Member] | Mortgage Loans [Member] | Minimum [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Default Rate (%) 0.00%us-gaap_FairValueInputsProbabilityOfDefault
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_MortgageLoansOnRealEstateMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
/ us-gaap_ValuationTechniqueAxis
= fnm_BuildUpMember
0.10%us-gaap_FairValueInputsProbabilityOfDefault
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_MortgageLoansOnRealEstateMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
/ us-gaap_ValuationTechniqueAxis
= fnm_BuildUpMember
Prepayment Speed (%) 3.60%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_MortgageLoansOnRealEstateMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
/ us-gaap_ValuationTechniqueAxis
= fnm_BuildUpMember
2.30%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_MortgageLoansOnRealEstateMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
/ us-gaap_ValuationTechniqueAxis
= fnm_BuildUpMember
Severity (%) 3.40%us-gaap_FairValueInputsLossSeverity
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_MortgageLoansOnRealEstateMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
/ us-gaap_ValuationTechniqueAxis
= fnm_BuildUpMember
0.00%us-gaap_FairValueInputsLossSeverity
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_MortgageLoansOnRealEstateMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
/ us-gaap_ValuationTechniqueAxis
= fnm_BuildUpMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Consolidated Trusts [Member] | Single-Family [Member] | Build-Up [Member] | Mortgage Loans [Member] | Maximum [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Default Rate (%) 99.00%us-gaap_FairValueInputsProbabilityOfDefault
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_MortgageLoansOnRealEstateMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
/ us-gaap_ValuationTechniqueAxis
= fnm_BuildUpMember
95.60%us-gaap_FairValueInputsProbabilityOfDefault
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_MortgageLoansOnRealEstateMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
/ us-gaap_ValuationTechniqueAxis
= fnm_BuildUpMember
Prepayment Speed (%) 99.80%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_MortgageLoansOnRealEstateMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
/ us-gaap_ValuationTechniqueAxis
= fnm_BuildUpMember
37.60%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_MortgageLoansOnRealEstateMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
/ us-gaap_ValuationTechniqueAxis
= fnm_BuildUpMember
Severity (%) 100.00%us-gaap_FairValueInputsLossSeverity
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_MortgageLoansOnRealEstateMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
/ us-gaap_ValuationTechniqueAxis
= fnm_BuildUpMember
100.00%us-gaap_FairValueInputsLossSeverity
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_MortgageLoansOnRealEstateMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
/ us-gaap_ValuationTechniqueAxis
= fnm_BuildUpMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Consolidated Trusts [Member] | Single-Family [Member] | Build-Up [Member] | Mortgage Loans [Member] | Weighted Average [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Default Rate (%) 14.90%us-gaap_FairValueInputsProbabilityOfDefault
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_MortgageLoansOnRealEstateMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
/ us-gaap_ValuationTechniqueAxis
= fnm_BuildUpMember
15.70%us-gaap_FairValueInputsProbabilityOfDefault
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_MortgageLoansOnRealEstateMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
/ us-gaap_ValuationTechniqueAxis
= fnm_BuildUpMember
Prepayment Speed (%) 16.30%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_MortgageLoansOnRealEstateMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
/ us-gaap_ValuationTechniqueAxis
= fnm_BuildUpMember
14.10%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_MortgageLoansOnRealEstateMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
/ us-gaap_ValuationTechniqueAxis
= fnm_BuildUpMember
Severity (%) 23.70%us-gaap_FairValueInputsLossSeverity
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_MortgageLoansOnRealEstateMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
/ us-gaap_ValuationTechniqueAxis
= fnm_BuildUpMember
26.60%us-gaap_FairValueInputsLossSeverity
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_MortgageLoansOnRealEstateMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
/ us-gaap_ValuationTechniqueAxis
= fnm_BuildUpMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Consolidated Trusts [Member] | Single-Family [Member] | Consensus with Inputs [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Mortgage loans held for investment   112us-gaap_LoansReceivableFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Consolidated Trusts [Member] | Single-Family [Member] | Consensus with Inputs [Member] | Mortgage Loans [Member] | Minimum [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Default Rate (%)   1.10%us-gaap_FairValueInputsProbabilityOfDefault
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_MortgageLoansOnRealEstateMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
Prepayment Speed (%)   0.20%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_MortgageLoansOnRealEstateMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
Severity (%)   63.90%us-gaap_FairValueInputsLossSeverity
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_MortgageLoansOnRealEstateMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
Spread (bps)   1.75%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_MortgageLoansOnRealEstateMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Consolidated Trusts [Member] | Single-Family [Member] | Consensus with Inputs [Member] | Mortgage Loans [Member] | Maximum [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Default Rate (%)   4.70%us-gaap_FairValueInputsProbabilityOfDefault
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_MortgageLoansOnRealEstateMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
Prepayment Speed (%)   16.70%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_MortgageLoansOnRealEstateMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
Severity (%)   89.50%us-gaap_FairValueInputsLossSeverity
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_MortgageLoansOnRealEstateMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
Spread (bps)   9.50%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_MortgageLoansOnRealEstateMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Consolidated Trusts [Member] | Single-Family [Member] | Consensus with Inputs [Member] | Mortgage Loans [Member] | Weighted Average [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Default Rate (%)   3.20%us-gaap_FairValueInputsProbabilityOfDefault
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_MortgageLoansOnRealEstateMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
Prepayment Speed (%)   15.20%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_MortgageLoansOnRealEstateMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
Severity (%)   85.60%us-gaap_FairValueInputsLossSeverity
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_MortgageLoansOnRealEstateMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
Spread (bps)   2.939%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_MortgageLoansOnRealEstateMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Consolidated Trusts [Member] | Single-Family [Member] | Consensus Without Inputs [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Mortgage loans held for investment 279us-gaap_LoansReceivableFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithoutInputsMember
219us-gaap_LoansReceivableFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithoutInputsMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Consolidated Trusts [Member] | Single-Family [Member] | Discounted Cash Flow with Inputs [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Mortgage loans held for investment 402us-gaap_LoansReceivableFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
310us-gaap_LoansReceivableFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Consolidated Trusts [Member] | Single-Family [Member] | Discounted Cash Flow with Inputs [Member] | Mortgage Loans [Member] | Minimum [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Default Rate (%) 2.70%us-gaap_FairValueInputsProbabilityOfDefault
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_MortgageLoansOnRealEstateMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
1.20%us-gaap_FairValueInputsProbabilityOfDefault
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_MortgageLoansOnRealEstateMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
Prepayment Speed (%) 0.10%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_MortgageLoansOnRealEstateMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
1.90%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_MortgageLoansOnRealEstateMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
Severity (%) 35.50%us-gaap_FairValueInputsLossSeverity
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_MortgageLoansOnRealEstateMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
58.80%us-gaap_FairValueInputsLossSeverity
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_MortgageLoansOnRealEstateMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
Spread (bps) 1.55%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_MortgageLoansOnRealEstateMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
1.75%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_MortgageLoansOnRealEstateMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Consolidated Trusts [Member] | Single-Family [Member] | Discounted Cash Flow with Inputs [Member] | Mortgage Loans [Member] | Maximum [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Default Rate (%) 13.10%us-gaap_FairValueInputsProbabilityOfDefault
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_MortgageLoansOnRealEstateMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
15.70%us-gaap_FairValueInputsProbabilityOfDefault
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_MortgageLoansOnRealEstateMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
Prepayment Speed (%) 13.50%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_MortgageLoansOnRealEstateMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
16.70%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_MortgageLoansOnRealEstateMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
Severity (%) 95.00%us-gaap_FairValueInputsLossSeverity
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_MortgageLoansOnRealEstateMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
97.70%us-gaap_FairValueInputsLossSeverity
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_MortgageLoansOnRealEstateMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
Spread (bps) 6.65%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_MortgageLoansOnRealEstateMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
3.606%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_MortgageLoansOnRealEstateMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Consolidated Trusts [Member] | Single-Family [Member] | Discounted Cash Flow with Inputs [Member] | Mortgage Loans [Member] | Weighted Average [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Default Rate (%) 5.50%us-gaap_FairValueInputsProbabilityOfDefault
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_MortgageLoansOnRealEstateMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
7.00%us-gaap_FairValueInputsProbabilityOfDefault
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_MortgageLoansOnRealEstateMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
Prepayment Speed (%) 7.50%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_MortgageLoansOnRealEstateMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
7.00%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_MortgageLoansOnRealEstateMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
Severity (%) 61.30%us-gaap_FairValueInputsLossSeverity
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_MortgageLoansOnRealEstateMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
75.50%us-gaap_FairValueInputsLossSeverity
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_MortgageLoansOnRealEstateMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
Spread (bps) 2.274%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_MortgageLoansOnRealEstateMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
2.521%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_MortgageLoansOnRealEstateMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Consolidated Trusts [Member] | Single-Family [Member] | Other Valuation Technique [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Mortgage loans held for investment 39us-gaap_LoansReceivableFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
/ us-gaap_ValuationTechniqueAxis
= fnm_OtherValuationTechniqueMember
60us-gaap_LoansReceivableFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
/ us-gaap_ValuationTechniqueAxis
= fnm_OtherValuationTechniqueMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Consolidated Trusts [Member] | Multifamily [Member] | Build-Up [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Mortgage loans held for investment 179us-gaap_LoansReceivableFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_MultifamilyMember
/ us-gaap_ValuationTechniqueAxis
= fnm_BuildUpMember
175us-gaap_LoansReceivableFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_MultifamilyMember
/ us-gaap_ValuationTechniqueAxis
= fnm_BuildUpMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Consolidated Trusts [Member] | Multifamily [Member] | Build-Up [Member] | Mortgage Loans [Member] | Minimum [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Spread (bps) 0.59%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_MortgageLoansOnRealEstateMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_MultifamilyMember
/ us-gaap_ValuationTechniqueAxis
= fnm_BuildUpMember
0.62%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_MortgageLoansOnRealEstateMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_MultifamilyMember
/ us-gaap_ValuationTechniqueAxis
= fnm_BuildUpMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Consolidated Trusts [Member] | Multifamily [Member] | Build-Up [Member] | Mortgage Loans [Member] | Maximum [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Spread (bps) 3.234%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_MortgageLoansOnRealEstateMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_MultifamilyMember
/ us-gaap_ValuationTechniqueAxis
= fnm_BuildUpMember
2.434%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_MortgageLoansOnRealEstateMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_MultifamilyMember
/ us-gaap_ValuationTechniqueAxis
= fnm_BuildUpMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Consolidated Trusts [Member] | Multifamily [Member] | Build-Up [Member] | Mortgage Loans [Member] | Weighted Average [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Spread (bps) 1.373%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_MortgageLoansOnRealEstateMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_MultifamilyMember
/ us-gaap_ValuationTechniqueAxis
= fnm_BuildUpMember
1.143%fnm_FairValueInputsBasisSpread
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ fnm_FairValueItemPrimaryCategorizationAxis
= us-gaap_MortgageLoansOnRealEstateMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_MultifamilyMember
/ us-gaap_ValuationTechniqueAxis
= fnm_BuildUpMember