XML 27 R89.htm IDEA: XBRL DOCUMENT v2.4.1.9
Fair Value Level 3 Valuation Inputs (Details) (USD $)
In Millions, unless otherwise specified
3 Months Ended 12 Months Ended
Mar. 31, 2015
Dec. 31, 2014
Fair Value Inputs, Quantitative Information [Line Items]    
Derivatives 1,665us-gaap_DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral 1,457us-gaap_DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral
Fannie Mae [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Long-term Debt, Fair Value (7,920)us-gaap_LongTermDebtFairValue
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
(6,403)us-gaap_LongTermDebtFairValue
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
Consolidated Trusts [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Loans Receivable, Fair Value Disclosure 15,570us-gaap_LoansReceivableFairValueDisclosure
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
15,629us-gaap_LoansReceivableFairValueDisclosure
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
Long-term Debt, Fair Value (21,373)us-gaap_LongTermDebtFairValue
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
(19,483)us-gaap_LongTermDebtFairValue
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
Recurring Fair Value Measurements [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Trading Securities 31,286us-gaap_TradingSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
31,504us-gaap_TradingSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Available-for-sale securities 27,732us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
30,654us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Long-term Debt, Fair Value (29,293)us-gaap_LongTermDebtFairValue
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
(25,886)us-gaap_LongTermDebtFairValue
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring Fair Value Measurements [Member] | Alt-A private-label securities [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Trading Securities 833us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
920us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Available-for-sale securities 4,464us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
5,678us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring Fair Value Measurements [Member] | Subprime private-label securities [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Trading Securities 876us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
1,307us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Available-for-sale securities 4,608us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
5,240us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring Fair Value Measurements [Member] | Mortgage revenue bonds [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Trading Securities 742us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
722us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Available-for-sale securities 3,560us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
4,023us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring Fair Value Measurements [Member] | Other [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Trading Securities 94us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesOtherMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
99us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesOtherMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Available-for-sale securities 2,608us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesOtherMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
2,673us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesOtherMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Recurring Fair Value Measurements [Member] | Fannie Mae [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Long-term Debt, Fair Value (7,920)us-gaap_LongTermDebtFairValue
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
(6,403)us-gaap_LongTermDebtFairValue
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
Recurring Fair Value Measurements [Member] | Fannie Mae [Member] | Senior Floating [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Long-term Debt, Fair Value (7,920)us-gaap_LongTermDebtFairValue
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
/ us-gaap_LongtermDebtTypeAxis
= fnm_SeniorFloatingDebtMember
(6,403)us-gaap_LongTermDebtFairValue
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
/ us-gaap_LongtermDebtTypeAxis
= fnm_SeniorFloatingDebtMember
Recurring Fair Value Measurements [Member] | Consolidated Trusts [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Loans Receivable, Fair Value Disclosure 15,570us-gaap_LoansReceivableFairValueDisclosure
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
15,629us-gaap_LoansReceivableFairValueDisclosure
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
Long-term Debt, Fair Value (21,373)us-gaap_LongTermDebtFairValue
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
(19,483)us-gaap_LongTermDebtFairValue
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
Significant Unobservable Inputs (Level 3) [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Trading Securities 2,286us-gaap_TradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
3,030us-gaap_TradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Available-for-sale securities 13,471us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
15,080us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Loans Receivable, Fair Value Disclosure 419,199us-gaap_LoansReceivableFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
400,327us-gaap_LoansReceivableFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Significant Unobservable Inputs (Level 3) [Member] | Fannie Mae [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Loans Receivable, Fair Value Disclosure 214,493us-gaap_LoansReceivableFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
217,064us-gaap_LoansReceivableFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
Long-term Debt, Fair Value (994)us-gaap_LongTermDebtFairValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
(982)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]    
Loans Receivable, Fair Value Disclosure 204,706us-gaap_LoansReceivableFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
183,263us-gaap_LoansReceivableFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
Long-term Debt, Fair Value (22,826)us-gaap_LongTermDebtFairValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
(19,334)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 2,286us-gaap_TradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
3,030us-gaap_TradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Available-for-sale securities 13,471us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
15,080us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Derivatives 66us-gaap_DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
45us-gaap_DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Long-term Debt, Fair Value (938)us-gaap_LongTermDebtFairValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
(890)us-gaap_LongTermDebtFairValue
/ 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
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
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 572us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
597us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Available-for-sale securities 2,486us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
3,140us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
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 876us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
1,307us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Available-for-sale securities 4,608us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
5,240us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Mortgage revenue bonds [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Trading Securities 742us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
722us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Available-for-sale securities 3,560us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
4,023us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Other [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Trading Securities 94us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesOtherMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
99us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesOtherMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Available-for-sale securities 2,607us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesOtherMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
2,671us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesOtherMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
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
Spreads (%)   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
Spreads (%)   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
Spreads (%)   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 95us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
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
Available-for-sale securities 266us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
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
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.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_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
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
Prepayment Speed (%) 2.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_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
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
Severity (%) 82.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_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
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
Spreads (%) 2.812%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
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
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 (%) 8.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
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
Prepayment Speed (%) 2.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_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
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
Severity (%) 82.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_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
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
Spreads (%) 2.812%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
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
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.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_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
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
Prepayment Speed (%) 2.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_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
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
Severity (%) 82.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_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
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
Spreads (%) 2.812%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
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
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 (%) 1.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_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
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
Prepayment Speed (%) 0.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_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
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
Severity (%) 34.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_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
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
Spreads (%) 1.901%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
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
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 (%) 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_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
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
Prepayment Speed (%) 9.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_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
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
Severity (%) 94.90%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
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
Spreads (%) 3.30%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
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
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.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_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
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
Prepayment Speed (%) 4.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_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
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
Severity (%) 60.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_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
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
Spreads (%) 2.465%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
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
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]    
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
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
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
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
Spreads (%)   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
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
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
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
Spreads (%)   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
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
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
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
Spreads (%)   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
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,365us-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,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
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]    
Spreads (%) 0.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_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
(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
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]    
Spreads (%) 4.666%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
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
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]    
Spreads (%) 0.713%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
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
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]    
Trading Securities 94us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesOtherMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ValuationTechniqueAxis
= fnm_SingleVendorWithInputsMember
 
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] | Trading Securities [Member] | Minimum [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Spreads (%) 3.834%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_SingleVendorWithInputsMember
 
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Single Vendor with Inputs [Member] | Other [Member] | Trading Securities [Member] | Maximum [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Spreads (%) 3.834%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_SingleVendorWithInputsMember
 
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Single Vendor with Inputs [Member] | Other [Member] | Trading Securities [Member] | Weighted Average [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Spreads (%) 3.834%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_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
Spreads (%)   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
Spreads (%)   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
Spreads (%)   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
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]    
Available-for-sale securities 286us-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 229us-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
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
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
Spreads (%)   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
Spreads (%)   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
Spreads (%)   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 78us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
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
Available-for-sale securities 784us-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,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
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 (%) 4.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_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
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
Prepayment Speed (%) 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_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
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
Severity (%) 36.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_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
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
Spreads (%) 2.30%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.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
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 (%) 14.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_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
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
Prepayment Speed (%) 13.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_ConsensusWithInputsMember
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
Severity (%) 46.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_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
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
Spreads (%) 2.536%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
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
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 (%) 6.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_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
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
Prepayment Speed (%) 4.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_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
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
Severity (%) 38.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_ConsensusWithInputsMember
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
Spreads (%) 2.496%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
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
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.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_ConsensusWithInputsMember
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
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_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 (%) 15.90%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
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
Spreads (%) 1.449%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
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
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 (%) 15.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
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
Prepayment Speed (%) 34.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_ConsensusWithInputsMember
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
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
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
Spreads (%) 2.30%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
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
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 (%) 4.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_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
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
Prepayment Speed (%) 12.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
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
Severity (%) 65.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
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
Spreads (%) 2.258%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
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
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 322us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
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
Available-for-sale securities 2,362us-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,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
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 (%) 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_ConsensusWithInputsMember
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
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_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 (%) 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_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
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
Spreads (%) 2.55%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
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
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 (%) 9.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
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
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_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
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
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
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
Spreads (%) 2.55%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
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
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 (%) 5.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_ConsensusWithInputsMember
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
Prepayment Speed (%) 2.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_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
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
Severity (%) 82.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
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
Spreads (%) 2.55%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
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
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.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
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
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.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
Severity (%) 28.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_ConsensusWithInputsMember
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
Spreads (%) 1.45%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.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
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 (%) 91.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
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
Prepayment Speed (%) 21.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_ConsensusWithInputsMember
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
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
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
Spreads (%) 2.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_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
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
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.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_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
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
Prepayment Speed (%) 2.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_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
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
Severity (%) 82.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_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
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
Spreads (%) 2.089%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
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
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 713us-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
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
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.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_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.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
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
Spreads (%) 2.05%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.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
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 (%) 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
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
Prepayment Speed (%) 14.20%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
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
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
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
Spreads (%) 4.283%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
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
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 (%) 4.20%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
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
Prepayment Speed (%) 4.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_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithInputsMember
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
Severity (%) 61.10%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
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
Spreads (%) 2.892%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
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
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 372us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithoutInputsMember
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
Available-for-sale securities 795us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithoutInputsMember
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
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 281us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithoutInputsMember
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
Available-for-sale securities 1,233us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ValuationTechniqueAxis
= fnm_ConsensusWithoutInputsMember
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
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 206us-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 with Inputs [Member] | Subprime private-label securities [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Available-for-sale securities 232us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DealerMarkwithInputsMember
 
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Dealer Mark with Inputs [Member] | Subprime private-label securities [Member] | Available-for-sale securities [Member] | Minimum [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Default Rate (%) 8.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_DealerMarkwithInputsMember
 
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_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DealerMarkwithInputsMember
 
Severity (%) 77.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_DealerMarkwithInputsMember
 
Spreads (%) 2.05%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_DealerMarkwithInputsMember
 
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Dealer Mark with Inputs [Member] | Subprime private-label securities [Member] | Available-for-sale securities [Member] | Maximum [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Default Rate (%) 9.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_DealerMarkwithInputsMember
 
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_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DealerMarkwithInputsMember
 
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_DealerMarkwithInputsMember
 
Spreads (%) 205.00%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_DealerMarkwithInputsMember
 
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Dealer Mark 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 (%) 8.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_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DealerMarkwithInputsMember
 
Prepayment Speed (%) 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_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DealerMarkwithInputsMember
 
Severity (%) 86.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_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DealerMarkwithInputsMember
 
Spreads (%) 2.05%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_DealerMarkwithInputsMember
 
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Dealer Mark with Inputs [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_DealerMarkwithInputsMember
Available-for-sale securities 267us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DealerMarkwithInputsMember
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_DealerMarkwithInputsMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Dealer Mark with Inputs [Member] | Mortgage revenue bonds [Member] | Trading Securities [Member] | Minimum [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Spreads (%)   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_DealerMarkwithInputsMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Dealer Mark with Inputs [Member] | Mortgage revenue bonds [Member] | Trading Securities [Member] | Maximum [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Spreads (%)   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_DealerMarkwithInputsMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Dealer Mark with Inputs [Member] | Mortgage revenue bonds [Member] | Trading Securities [Member] | Weighted Average [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Spreads (%)   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_DealerMarkwithInputsMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Dealer Mark with Inputs [Member] | Mortgage revenue bonds [Member] | Available-for-sale securities [Member] | Minimum [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Spreads (%) 1.972%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_DealerMarkwithInputsMember
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_DealerMarkwithInputsMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Dealer Mark with Inputs [Member] | Mortgage revenue bonds [Member] | Available-for-sale securities [Member] | Maximum [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Spreads (%) 3.161%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_DealerMarkwithInputsMember
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_DealerMarkwithInputsMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Dealer Mark with Inputs [Member] | Mortgage revenue bonds [Member] | Available-for-sale securities [Member] | Weighted Average [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Spreads (%) 2.99%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_DealerMarkwithInputsMember
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_DealerMarkwithInputsMember
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Dealer Mark with Inputs [Member] | Other [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Available-for-sale securities 364us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesOtherMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DealerMarkwithInputsMember
 
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Dealer Mark 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_DealerMarkwithInputsMember
 
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_DealerMarkwithInputsMember
 
Severity (%) 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_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DealerMarkwithInputsMember
 
Spreads (%) 2.454%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_DealerMarkwithInputsMember
 
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Dealer Mark 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_DealerMarkwithInputsMember
 
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_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DealerMarkwithInputsMember
 
Severity (%) 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_DealerMarkwithInputsMember
 
Spreads (%) 4.105%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_DealerMarkwithInputsMember
 
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Dealer Mark 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_DealerMarkwithInputsMember
 
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_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DealerMarkwithInputsMember
 
Severity (%) 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_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DealerMarkwithInputsMember
 
Spreads (%) 2.996%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_DealerMarkwithInputsMember
 
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Dealer Mark without Inputs [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Derivatives 160us-gaap_DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DealerMarkMember
150us-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 without Inputs [Member] | Alt-A private-label securities [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Available-for-sale securities 224us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ 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 without Inputs [Member] | Subprime private-label securities [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Available-for-sale securities 247us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ 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 without 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_DealerMarkMember
Available-for-sale securities 473us-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
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]    
Available-for-sale securities 243us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
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
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 (%) 1.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_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
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
Prepayment Speed (%) 6.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
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
Severity (%) 35.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_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
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
Spreads (%) 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
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
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 (%) 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_AvailableforsaleSecuritiesMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
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
Prepayment Speed (%) 15.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_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
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
Severity (%) 64.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_DiscountedCashFlowWithInputsMember
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
Spreads (%) 3.485%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
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
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 (%) 3.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
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
Prepayment Speed (%) 9.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.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_DiscountedCashFlowWithInputsMember
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
Spreads (%) 2.968%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
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
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 121us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
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
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
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 (%) 5.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_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
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
Prepayment Speed (%) 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_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
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
Severity (%) 60.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_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
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
Spreads (%) 2.55%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
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
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 (%) 5.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_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
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
Prepayment Speed (%) 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_DiscountedCashFlowWithInputsMember
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
Severity (%) 60.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_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
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
Spreads (%) 2.55%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.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
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.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_DiscountedCashFlowWithInputsMember
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
Prepayment Speed (%) 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_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
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
Severity (%) 60.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_TradingAccountAssetsMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
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
Spreads (%) 2.55%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
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
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
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
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
Spreads (%)   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
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
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
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
Spreads (%)   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
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
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
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
Spreads (%)   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
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 723us-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
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
Available-for-sale securities 1,517us-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,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
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]    
Spreads (%) 0.275%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.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
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]    
Spreads (%) 3.234%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
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
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]    
Spreads (%) 2.531%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
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
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]    
Spreads (%) 0.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_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
(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
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]    
Spreads (%) 3.966%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
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
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]    
Spreads (%) 2.446%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
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
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]    
Available-for-sale securities 600us-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] | Available-for-sale securities [Member] | Minimum [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Default Rate (%) 0.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 (%) 0.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 (%) 0.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
 
Spreads (%) 2.30%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 (%) 1.80%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 (%) 8.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 (%) 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_DiscountedCashFlowWithInputsMember
 
Spreads (%) 3.36%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 (%) 0.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 (%) 0.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 (%) 0.20%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
 
Spreads (%) 3.218%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 (119)us-gaap_DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ValuationTechniqueAxis
= fnm_InternalModelMember
(107)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 25us-gaap_DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ValuationTechniqueAxis
= fnm_OtherValuationTechniqueMember
2us-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 2us-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
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
Available-for-sale securities 210us-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
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
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 27us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ValuationTechniqueAxis
= fnm_OtherValuationTechniqueMember
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 174us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesAltAMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ValuationTechniqueAxis
= fnm_OtherValuationTechniqueMember
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
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 152us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ValuationTechniqueAxis
= fnm_OtherValuationTechniqueMember
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 248us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= fnm_MortgageBackedSecuritiesIssuedByPrivateEnterprisesSubprimeMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ValuationTechniqueAxis
= fnm_OtherValuationTechniqueMember
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
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 19us-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
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
Available-for-sale securities 182us-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
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
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 251us-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
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
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Fannie Mae [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Long-term Debt, Fair Value (391)us-gaap_LongTermDebtFairValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
(363)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, Fair Value (391)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
(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
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, Fair Value (391)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
(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
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Consolidated Trusts [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Loans Receivable, Fair Value Disclosure 1,810us-gaap_LoansReceivableFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
1,833us-gaap_LoansReceivableFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
Long-term Debt, Fair Value (547)us-gaap_LongTermDebtFairValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
(527)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] | Consensus without Inputs [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Long-term Debt, Fair Value (290)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
(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
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, Fair Value (156)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
(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 (%) 0.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_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
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
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 (%) 60.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_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
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
Spreads (%) 0.66%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
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 (%) 5.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_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
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
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
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
Spreads (%) 6.55%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
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 (%) 2.30%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
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 (%) 30.80%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
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 (%) 76.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_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
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
Spreads (%) 2.458%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
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, Fair Value (101)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
(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
Significant Unobservable Inputs (Level 3) [Member] | Recurring Fair Value Measurements [Member] | Consolidated Trusts [Member] | Single-Family [Member]    
Fair Value Inputs, Quantitative Information [Line Items]    
Loans Receivable, Fair Value Disclosure 1,627us-gaap_LoansReceivableFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
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
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]    
Loans Receivable, Fair Value Disclosure 900us-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
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
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.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
Prepayment Speed (%) 3.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_MinimumMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
/ us-gaap_ValuationTechniqueAxis
= fnm_BuildUpMember
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
Severity (%) 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
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
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 (%) 98.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
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
Prepayment Speed (%) 99.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_BuildUpMember
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
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
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
Prepayment Speed (%) 16.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_WeightedAverageMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
/ us-gaap_ValuationTechniqueAxis
= fnm_BuildUpMember
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
Severity (%) 24.10%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
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
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]    
Loans Receivable, Fair Value Disclosure 363us-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
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
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]    
Loans Receivable, Fair Value Disclosure 360us-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
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
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 (%) 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_DiscountedCashFlowWithInputsMember
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
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
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
Severity (%) 53.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_MinimumMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
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
Spreads (%) 1.45%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.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
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.30%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
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
Prepayment Speed (%) 11.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_DiscountedCashFlowWithInputsMember
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
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
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
Spreads (%) 6.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_MaximumMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
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
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 (%) 4.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_WeightedAverageMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
/ us-gaap_ValuationTechniqueAxis
= fnm_DiscountedCashFlowWithInputsMember
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
Prepayment Speed (%) 7.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_DiscountedCashFlowWithInputsMember
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
Severity (%) 80.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
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
Spreads (%) 2.126%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.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
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]    
Loans Receivable, Fair Value Disclosure 4us-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
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
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]    
Loans Receivable, Fair Value Disclosure 183us-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
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
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]    
Spreads (%) 0.56%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.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
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]    
Spreads (%) 3.404%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
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
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]    
Spreads (%) 1.465%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.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