XML 43 R71.htm IDEA: XBRL DOCUMENT v2.4.1.9
Mortgage Loans Individually Impaired Loans - 2 (Details) (USD $)
12 Months Ended
Dec. 31, 2014
Dec. 31, 2013
Dec. 31, 2012
Financing Receivable, Impaired [Line Items]      
Individually impaired loans with related allowance recorded: average recorded investment $ 172,061,000,000us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment $ 178,036,000,000us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment $ 167,089,000,000us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment
Individually impaired loans with related allowance recorded: total interest income recognized 5,882,000,000us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceInterestIncomeAccrualMethod 6,011,000,000us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceInterestIncomeAccrualMethod 5,705,000,000us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceInterestIncomeAccrualMethod
Individually impaired loans with related allowance recorded: interest income recognized on a cash basis 631,000,000us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceInterestIncomeCashBasisMethod 791,000,000us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceInterestIncomeCashBasisMethod 872,000,000us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceInterestIncomeCashBasisMethod
Individually impaired loans with no related allowance recorded: average recorded investment 19,164,000,000us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment 16,376,000,000us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment 12,389,000,000us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
Individually impaired loans with no related allowance recorded: total interest income recognized 1,178,000,000us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeAccrualMethod 1,920,000,000us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeAccrualMethod 1,486,000,000us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeAccrualMethod
Individually impaired loans with no related allowance recorded: interest income recognized on a cash basis 274,000,000us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeCashBasisMethod 292,000,000us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeCashBasisMethod 312,000,000us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeCashBasisMethod
Individually impaired loans: average recorded investment 191,225,000,000us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment 194,412,000,000us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment 179,478,000,000us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
Individually impaired loans: total interest income recognized 7,060,000,000us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod 7,931,000,000us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod 7,191,000,000us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
Individually impaired loans: interest income recognized on a cash basis 905,000,000us-gaap_ImpairedFinancingReceivableInterestIncomeCashBasisMethod 1,083,000,000us-gaap_ImpairedFinancingReceivableInterestIncomeCashBasisMethod 1,184,000,000us-gaap_ImpairedFinancingReceivableInterestIncomeCashBasisMethod
Table Footnote [Abstract]      
Individually impaired loans: total interest income recognized 7,060,000,000us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod 7,931,000,000us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod 7,191,000,000us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
Single-Family [Member]      
Financing Receivable, Impaired [Line Items]      
Individually impaired loans with related allowance recorded: average recorded investment 170,362,000,000us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_SingleFamilyMember
175,484,000,000us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_SingleFamilyMember
164,554,000,000us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_SingleFamilyMember
Individually impaired loans with related allowance recorded: total interest income recognized 5,802,000,000us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_SingleFamilyMember
5,883,000,000us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_SingleFamilyMember
5,580,000,000us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_SingleFamilyMember
Individually impaired loans with related allowance recorded: interest income recognized on a cash basis 630,000,000us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_SingleFamilyMember
790,000,000us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_SingleFamilyMember
870,000,000us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_SingleFamilyMember
Individually impaired loans with no related allowance recorded: average recorded investment 17,692,000,000us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_SingleFamilyMember
14,513,000,000us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_SingleFamilyMember
10,608,000,000us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_SingleFamilyMember
Individually impaired loans with no related allowance recorded: total interest income recognized 1,114,000,000us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_SingleFamilyMember
1,823,000,000us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_SingleFamilyMember
1,430,000,000us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_SingleFamilyMember
Individually impaired loans with no related allowance recorded: interest income recognized on a cash basis 274,000,000us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_SingleFamilyMember
289,000,000us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_SingleFamilyMember
310,000,000us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_SingleFamilyMember
Individually impaired loans: total interest income recognized 6,900,000,000us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_SingleFamilyMember
7,700,000,000us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_SingleFamilyMember
7,000,000,000us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_SingleFamilyMember
Table Footnote [Abstract]      
Individually impaired loans: total interest income recognized 6,900,000,000us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_SingleFamilyMember
7,700,000,000us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_SingleFamilyMember
7,000,000,000us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_SingleFamilyMember
Individually impaired loans: contractual interest income 5,800,000,000fnm_ImpairedFinancingReceivableContractualInterestIncomeAccrualMethodTotal
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_SingleFamilyMember
5,700,000,000fnm_ImpairedFinancingReceivableContractualInterestIncomeAccrualMethodTotal
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_SingleFamilyMember
5,300,000,000fnm_ImpairedFinancingReceivableContractualInterestIncomeAccrualMethodTotal
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_SingleFamilyMember
Individually impaired loans: effective yield adjustments 1,100,000,000fnm_ImpairedFinancingReceivableEffectiveYieldAdjustmentInterestIncomeAccrualMethodTotal
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_SingleFamilyMember
2,000,000,000fnm_ImpairedFinancingReceivableEffectiveYieldAdjustmentInterestIncomeAccrualMethodTotal
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_SingleFamilyMember
1,700,000,000fnm_ImpairedFinancingReceivableEffectiveYieldAdjustmentInterestIncomeAccrualMethodTotal
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_SingleFamilyMember
Multifamily [Member]      
Financing Receivable, Impaired [Line Items]      
Individually impaired loans with related allowance recorded: average recorded investment 1,699,000,000us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_MultifamilyMember
2,552,000,000us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_MultifamilyMember
2,535,000,000us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_MultifamilyMember
Individually impaired loans with related allowance recorded: total interest income recognized 80,000,000us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_MultifamilyMember
128,000,000us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_MultifamilyMember
125,000,000us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_MultifamilyMember
Individually impaired loans with related allowance recorded: interest income recognized on a cash basis 1,000,000us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_MultifamilyMember
1,000,000us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_MultifamilyMember
2,000,000us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_MultifamilyMember
Individually impaired loans with no related allowance recorded: average recorded investment 1,472,000,000us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_MultifamilyMember
1,863,000,000us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_MultifamilyMember
1,781,000,000us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_MultifamilyMember
Individually impaired loans with no related allowance recorded: total interest income recognized 64,000,000us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_MultifamilyMember
97,000,000us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_MultifamilyMember
56,000,000us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_MultifamilyMember
Individually impaired loans with no related allowance recorded: interest income recognized on a cash basis 0us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_MultifamilyMember
3,000,000us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_MultifamilyMember
2,000,000us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_MultifamilyMember
Single-Family [Member] | Primary [Member]      
Financing Receivable, Impaired [Line Items]      
Individually impaired loans with related allowance recorded: average recorded investment 121,926,000,000us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_PrimaryMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
124,659,000,000us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_PrimaryMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
115,767,000,000us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_PrimaryMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
Individually impaired loans with related allowance recorded: total interest income recognized 4,321,000,000us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_PrimaryMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
4,351,000,000us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_PrimaryMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
4,077,000,000us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_PrimaryMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
Individually impaired loans with related allowance recorded: interest income recognized on a cash basis 494,000,000us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_PrimaryMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
603,000,000us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_PrimaryMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
654,000,000us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_PrimaryMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
Individually impaired loans with no related allowance recorded: average recorded investment 13,852,000,000us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_PrimaryMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
11,442,000,000us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_PrimaryMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
8,264,000,000us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_PrimaryMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
Individually impaired loans with no related allowance recorded: total interest income recognized 864,000,000us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_PrimaryMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
1,369,000,000us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_PrimaryMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
1,075,000,000us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_PrimaryMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
Individually impaired loans with no related allowance recorded: interest income recognized on a cash basis 215,000,000us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_PrimaryMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
227,000,000us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_PrimaryMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
231,000,000us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_PrimaryMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
Single-Family [Member] | Government [Member]      
Financing Receivable, Impaired [Line Items]      
Individually impaired loans with related allowance recorded: average recorded investment 270,000,000us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_GovernmentMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
213,000,000us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_GovernmentMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
216,000,000us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_GovernmentMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
Individually impaired loans with related allowance recorded: total interest income recognized 13,000,000us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_GovernmentMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
11,000,000us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_GovernmentMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
11,000,000us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_GovernmentMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
Individually impaired loans with related allowance recorded: interest income recognized on a cash basis 0us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_GovernmentMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
0us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_GovernmentMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
0us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_GovernmentMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
Individually impaired loans with no related allowance recorded: average recorded investment 67,000,000us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_GovernmentMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
112,000,000us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_GovernmentMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
78,000,000us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_GovernmentMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
Individually impaired loans with no related allowance recorded: total interest income recognized 5,000,000us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_GovernmentMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
8,000,000us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_GovernmentMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
7,000,000us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_GovernmentMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
Individually impaired loans with no related allowance recorded: interest income recognized on a cash basis 0us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_GovernmentMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
0us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_GovernmentMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
0us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_GovernmentMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
Single-Family [Member] | Alt-A [Member]      
Financing Receivable, Impaired [Line Items]      
Individually impaired loans with related allowance recorded: average recorded investment 33,676,000,000us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_AltAMortgageLoansMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
35,075,000,000us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_AltAMortgageLoansMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
32,978,000,000us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_AltAMortgageLoansMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
Individually impaired loans with related allowance recorded: total interest income recognized 1,066,000,000us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_AltAMortgageLoansMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
1,096,000,000us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_AltAMortgageLoansMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
1,048,000,000us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_AltAMortgageLoansMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
Individually impaired loans with related allowance recorded: interest income recognized on a cash basis 100,000,000us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_AltAMortgageLoansMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
135,000,000us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_AltAMortgageLoansMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
151,000,000us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_AltAMortgageLoansMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
Individually impaired loans with no related allowance recorded: average recorded investment 2,799,000,000us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_AltAMortgageLoansMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
2,207,000,000us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_AltAMortgageLoansMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
1,811,000,000us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_AltAMortgageLoansMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
Individually impaired loans with no related allowance recorded: total interest income recognized 189,000,000us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_AltAMortgageLoansMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
329,000,000us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_AltAMortgageLoansMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
253,000,000us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_AltAMortgageLoansMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
Individually impaired loans with no related allowance recorded: interest income recognized on a cash basis 47,000,000us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_AltAMortgageLoansMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
45,000,000us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_AltAMortgageLoansMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
55,000,000us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_AltAMortgageLoansMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
Single-Family [Member] | Other [Member]      
Financing Receivable, Impaired [Line Items]      
Individually impaired loans with related allowance recorded: average recorded investment 14,490,000,000us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_OtherMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
15,537,000,000us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_OtherMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
15,593,000,000us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_OtherMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
Individually impaired loans with related allowance recorded: total interest income recognized 402,000,000us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_OtherMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
425,000,000us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_OtherMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
444,000,000us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_OtherMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
Individually impaired loans with related allowance recorded: interest income recognized on a cash basis 36,000,000us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_OtherMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
52,000,000us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_OtherMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
65,000,000us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_OtherMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
Individually impaired loans with no related allowance recorded: average recorded investment 974,000,000us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_OtherMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
752,000,000us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_OtherMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
455,000,000us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_OtherMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
Individually impaired loans with no related allowance recorded: total interest income recognized 56,000,000us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_OtherMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
117,000,000us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_OtherMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
95,000,000us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_OtherMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
Individually impaired loans with no related allowance recorded: interest income recognized on a cash basis $ 12,000,000us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_OtherMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
$ 17,000,000us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_OtherMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
$ 24,000,000us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_OtherMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember