XML 123 R66.htm IDEA: XBRL DOCUMENT v2.4.1.9
Mortgage Loans Aging (Details) (USD $)
In Millions, unless otherwise specified
12 Months Ended
Dec. 31, 2014
Dec. 31, 2013
Financing Receivable, Recorded Investment, Past Due [Line Items]    
30 - 59 days delinquent 34,867us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue 39,184us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
60 - 89 days delinquent 10,352us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue 12,138us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
Seriously delinquent 54,008fnm_FinancingReceivableRecordedInvestmentSeriouslyDelinquent 69,706fnm_FinancingReceivableRecordedInvestmentSeriouslyDelinquent
Total delinquent 99,227us-gaap_FinancingReceivableRecordedInvestmentPastDue 121,028us-gaap_FinancingReceivableRecordedInvestmentPastDue
Current 2,948,567us-gaap_FinancingReceivableRecordedInvestmentCurrent 2,943,641us-gaap_FinancingReceivableRecordedInvestmentCurrent
Total recorded investment in loans 3,047,794fnm_RecordedInvestmentMortgageLoansHeldForInvestment 3,064,669fnm_RecordedInvestmentMortgageLoansHeldForInvestment
Recorded investment in loans 90 days or more delinquent and accruing interest 374us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing 460us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing
Recorded investment in nonaccrual loans 64,645us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus 83,283us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
Government [Member]    
Financing Receivable, Recorded Investment, Past Due [Line Items]    
Total recorded investment in loans 45,300fnm_RecordedInvestmentMortgageLoansHeldForInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_GovernmentMortgageLoanMember
48,600fnm_RecordedInvestmentMortgageLoansHeldForInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_GovernmentMortgageLoanMember
Single-Family [Member]    
Financing Receivable, Recorded Investment, Past Due [Line Items]    
30 - 59 days delinquent 34,807us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
39,125us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
60 - 89 days delinquent 10,352us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
12,138us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
Seriously delinquent 53,919fnm_FinancingReceivableRecordedInvestmentSeriouslyDelinquent
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
69,520fnm_FinancingReceivableRecordedInvestmentSeriouslyDelinquent
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
Total delinquent 99,078us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
120,783us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
Current 2,759,483us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
2,757,908us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
Total recorded investment in loans 2,858,561fnm_RecordedInvestmentMortgageLoansHeldForInvestment
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
2,878,691fnm_RecordedInvestmentMortgageLoansHeldForInvestment
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
Recorded investment in loans 90 days or more delinquent and accruing interest 374us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
460us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
Recorded investment in nonaccrual loans 63,822us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
81,074us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
Single-Family [Member] | Primary [Member]    
Financing Receivable, Recorded Investment, Past Due [Line Items]    
30 - 59 days delinquent 29,130us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_PrimaryMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
32,371us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_PrimaryMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
60 - 89 days delinquent 8,396us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_PrimaryMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
9,755us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_PrimaryMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
Seriously delinquent 38,248fnm_FinancingReceivableRecordedInvestmentSeriouslyDelinquent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_PrimaryMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
48,345fnm_FinancingReceivableRecordedInvestmentSeriouslyDelinquent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_PrimaryMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
Total delinquent 75,774us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_PrimaryMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
90,471us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_PrimaryMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
Current 2,580,446us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_PrimaryMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
2,558,826us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_PrimaryMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
Total recorded investment in loans 2,656,220fnm_RecordedInvestmentMortgageLoansHeldForInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_PrimaryMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
2,649,297fnm_RecordedInvestmentMortgageLoansHeldForInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_PrimaryMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
Recorded investment in loans 90 days or more delinquent and accruing interest 55us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_PrimaryMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
81us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_PrimaryMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
Recorded investment in nonaccrual loans 46,556us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_PrimaryMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
57,973us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_PrimaryMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
Single-Family [Member] | Government [Member]    
Financing Receivable, Recorded Investment, Past Due [Line Items]    
30 - 59 days delinquent 63us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_GovernmentMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
66us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_GovernmentMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
60 - 89 days delinquent 26us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_GovernmentMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
32us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_GovernmentMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
Seriously delinquent 305fnm_FinancingReceivableRecordedInvestmentSeriouslyDelinquent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_GovernmentMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
346fnm_FinancingReceivableRecordedInvestmentSeriouslyDelinquent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_GovernmentMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
Total delinquent 394us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_GovernmentMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
444us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_GovernmentMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
Current 44,927us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_GovernmentMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
48,150us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_GovernmentMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
Total recorded investment in loans 45,321fnm_RecordedInvestmentMortgageLoansHeldForInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_GovernmentMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
48,594fnm_RecordedInvestmentMortgageLoansHeldForInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_GovernmentMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
Recorded investment in loans 90 days or more delinquent and accruing interest 305us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_GovernmentMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
346us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_GovernmentMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
Recorded investment in nonaccrual loans 0us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_GovernmentMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
0us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_GovernmentMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
Single-Family [Member] | Alt-A [Member]    
Financing Receivable, Recorded Investment, Past Due [Line Items]    
30 - 59 days delinquent 4,094us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_AltAMortgageLoansMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
4,748us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_AltAMortgageLoansMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
60 - 89 days delinquent 1,414us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_AltAMortgageLoansMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
1,692us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_AltAMortgageLoansMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
Seriously delinquent 11,603fnm_FinancingReceivableRecordedInvestmentSeriouslyDelinquent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_AltAMortgageLoansMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
15,425fnm_FinancingReceivableRecordedInvestmentSeriouslyDelinquent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_AltAMortgageLoansMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
Total delinquent 17,111us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_AltAMortgageLoansMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
21,865us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_AltAMortgageLoansMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
Current 95,650us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_AltAMortgageLoansMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
105,644us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_AltAMortgageLoansMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
Total recorded investment in loans 112,761fnm_RecordedInvestmentMortgageLoansHeldForInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_AltAMortgageLoansMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
127,509fnm_RecordedInvestmentMortgageLoansHeldForInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_AltAMortgageLoansMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
Recorded investment in loans 90 days or more delinquent and accruing interest 8us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_AltAMortgageLoansMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
11us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_AltAMortgageLoansMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
Recorded investment in nonaccrual loans 13,007us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_AltAMortgageLoansMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
17,102us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_AltAMortgageLoansMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
Single-Family [Member] | Other [Member]    
Financing Receivable, Recorded Investment, Past Due [Line Items]    
30 - 59 days delinquent 1,520us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_OtherMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
1,940us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_OtherMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
60 - 89 days delinquent 516us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_OtherMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
659us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_OtherMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
Seriously delinquent 3,763fnm_FinancingReceivableRecordedInvestmentSeriouslyDelinquent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_OtherMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
5,404fnm_FinancingReceivableRecordedInvestmentSeriouslyDelinquent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_OtherMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
Total delinquent 5,799us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_OtherMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
8,003us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_OtherMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
Current 38,460us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_OtherMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
45,288us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_OtherMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
Total recorded investment in loans 44,259fnm_RecordedInvestmentMortgageLoansHeldForInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_OtherMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
53,291fnm_RecordedInvestmentMortgageLoansHeldForInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_OtherMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
Recorded investment in loans 90 days or more delinquent and accruing interest 6us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_OtherMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
22us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_OtherMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
Recorded investment in nonaccrual loans 4,259us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_OtherMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
5,999us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_OtherMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
Single-Family [Member] | Minimum [Member]    
Table Footnote [Abstract]    
Serious Delinquency Days past due 90 days 90 days
Multifamily [Member]    
Financing Receivable, Recorded Investment, Past Due [Line Items]    
30 - 59 days delinquent 60us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_MultifamilyMember
59us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_MultifamilyMember
Seriously delinquent 89fnm_FinancingReceivableRecordedInvestmentSeriouslyDelinquent
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_MultifamilyMember
186fnm_FinancingReceivableRecordedInvestmentSeriouslyDelinquent
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_MultifamilyMember
Total delinquent 149us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_MultifamilyMember
245us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_MultifamilyMember
Current 189,084us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_MultifamilyMember
185,733us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_MultifamilyMember
Total recorded investment in loans 189,233fnm_RecordedInvestmentMortgageLoansHeldForInvestment
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_MultifamilyMember
185,978fnm_RecordedInvestmentMortgageLoansHeldForInvestment
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_MultifamilyMember
Recorded investment in loans 90 days or more delinquent and accruing interest 0us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_MultifamilyMember
0us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_MultifamilyMember
Recorded investment in nonaccrual loans 823us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_MultifamilyMember
2,209us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_MultifamilyMember
Multifamily [Member] | Minimum [Member]    
Table Footnote [Abstract]    
Serious Delinquency Days past due 60 days 60 days