XML 58 R53.htm IDEA: XBRL DOCUMENT v2.4.1.9
Mortgage Loans Aging (Details) (USD $)
In Millions, unless otherwise specified
3 Months Ended 12 Months Ended
Mar. 31, 2015
Dec. 31, 2014
Financing Receivable, Recorded Investment, Past Due [Line Items]    
30 - 59 days delinquent 30,329us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue 34,867us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
60 - 89 days delinquent 8,830us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue 10,352us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
Seriously delinquent 47,131fnm_FinancingReceivableRecordedInvestmentSeriouslyDelinquent 54,008fnm_FinancingReceivableRecordedInvestmentSeriouslyDelinquent
Total delinquent 86,290us-gaap_FinancingReceivableRecordedInvestmentPastDue 99,227us-gaap_FinancingReceivableRecordedInvestmentPastDue
Current 2,950,277us-gaap_FinancingReceivableRecordedInvestmentCurrent 2,948,567us-gaap_FinancingReceivableRecordedInvestmentCurrent
Total recorded investment in loans 3,036,567fnm_RecordedInvestmentMortgageLoansHeldForInvestment 3,047,794fnm_RecordedInvestmentMortgageLoansHeldForInvestment
Recorded investment in loans 90 days or more delinquent and accruing interest 368us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing 374us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing
Recorded investment in nonaccrual loans 56,216us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus 64,645us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
Government [Member]    
Financing Receivable, Recorded Investment, Past Due [Line Items]    
Total recorded investment in loans 44,600fnm_RecordedInvestmentMortgageLoansHeldForInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_GovernmentMortgageLoanMember
45,300fnm_RecordedInvestmentMortgageLoansHeldForInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_GovernmentMortgageLoanMember
Single-Family [Member]    
Financing Receivable, Recorded Investment, Past Due [Line Items]    
30 - 59 days delinquent 30,231us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
34,807us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
60 - 89 days delinquent 8,830us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
10,352us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
Seriously delinquent 46,996fnm_FinancingReceivableRecordedInvestmentSeriouslyDelinquent
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
53,919fnm_FinancingReceivableRecordedInvestmentSeriouslyDelinquent
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
Total delinquent 86,057us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
99,078us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
Current 2,757,482us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
2,759,483us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
Total recorded investment in loans 2,843,539fnm_RecordedInvestmentMortgageLoansHeldForInvestment
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
2,858,561fnm_RecordedInvestmentMortgageLoansHeldForInvestment
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
Recorded investment in loans 90 days or more delinquent and accruing interest 368us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
374us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
Recorded investment in nonaccrual loans 55,409us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
63,822us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
Single-Family [Member] | Minimum [Member]    
Table Footnote [Abstract]    
Serious delinquency, days past due 90 days 90 days
Single-Family [Member] | Primary [Member]    
Financing Receivable, Recorded Investment, Past Due [Line Items]    
30 - 59 days delinquent 25,087us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_PrimaryMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
29,130us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_PrimaryMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
60 - 89 days delinquent 7,045us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_PrimaryMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
8,396us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_PrimaryMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
Seriously delinquent 34,166fnm_FinancingReceivableRecordedInvestmentSeriouslyDelinquent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_PrimaryMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
38,248fnm_FinancingReceivableRecordedInvestmentSeriouslyDelinquent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_PrimaryMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
Total delinquent 66,298us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_PrimaryMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
75,774us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_PrimaryMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
Current 2,582,073us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_PrimaryMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
2,580,446us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_PrimaryMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
Total recorded investment in loans 2,648,371fnm_RecordedInvestmentMortgageLoansHeldForInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_PrimaryMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
2,656,220fnm_RecordedInvestmentMortgageLoansHeldForInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_PrimaryMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
Recorded investment in loans 90 days or more delinquent and accruing interest 56us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_PrimaryMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
55us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_PrimaryMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
Recorded investment in nonaccrual loans 41,132us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_PrimaryMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
46,556us-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 54us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_GovernmentMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
63us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_GovernmentMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
60 - 89 days delinquent 18us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_GovernmentMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
26us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_GovernmentMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
Seriously delinquent 298fnm_FinancingReceivableRecordedInvestmentSeriouslyDelinquent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_GovernmentMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
305fnm_FinancingReceivableRecordedInvestmentSeriouslyDelinquent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_GovernmentMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
Total delinquent 370us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_GovernmentMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
394us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_GovernmentMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
Current 44,211us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_GovernmentMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
44,927us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_GovernmentMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
Total recorded investment in loans 44,581fnm_RecordedInvestmentMortgageLoansHeldForInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_GovernmentMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
45,321fnm_RecordedInvestmentMortgageLoansHeldForInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_GovernmentMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
Recorded investment in loans 90 days or more delinquent and accruing interest 298us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_GovernmentMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
305us-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 3,743us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_AltAMortgageLoansMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
4,094us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_AltAMortgageLoansMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
60 - 89 days delinquent 1,321us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_AltAMortgageLoansMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
1,414us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_AltAMortgageLoansMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
Seriously delinquent 9,429fnm_FinancingReceivableRecordedInvestmentSeriouslyDelinquent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_AltAMortgageLoansMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
11,603fnm_FinancingReceivableRecordedInvestmentSeriouslyDelinquent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_AltAMortgageLoansMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
Total delinquent 14,493us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_AltAMortgageLoansMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
17,111us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_AltAMortgageLoansMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
Current 93,801us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_AltAMortgageLoansMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
95,650us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_AltAMortgageLoansMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
Total recorded investment in loans 108,294fnm_RecordedInvestmentMortgageLoansHeldForInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_AltAMortgageLoansMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
112,761fnm_RecordedInvestmentMortgageLoansHeldForInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_AltAMortgageLoansMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
Recorded investment in loans 90 days or more delinquent and accruing interest 7us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_AltAMortgageLoansMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
8us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_AltAMortgageLoansMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
Recorded investment in nonaccrual loans 10,743us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_AltAMortgageLoansMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
13,007us-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,347us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_OtherMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
1,520us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_OtherMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
60 - 89 days delinquent 446us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_OtherMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
516us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_OtherMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
Seriously delinquent 3,103fnm_FinancingReceivableRecordedInvestmentSeriouslyDelinquent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_OtherMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
3,763fnm_FinancingReceivableRecordedInvestmentSeriouslyDelinquent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_OtherMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
Total delinquent 4,896us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_OtherMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
5,799us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_OtherMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
Current 37,397us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_OtherMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
38,460us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_OtherMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
Total recorded investment in loans 42,293fnm_RecordedInvestmentMortgageLoansHeldForInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_OtherMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
44,259fnm_RecordedInvestmentMortgageLoansHeldForInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_OtherMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
Recorded investment in loans 90 days or more delinquent and accruing interest 7us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_OtherMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
6us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_OtherMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
Recorded investment in nonaccrual loans 3,534us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_OtherMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
4,259us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= fnm_OtherMortgageLoanMember
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_SingleFamilyMember
Multifamily [Member]    
Financing Receivable, Recorded Investment, Past Due [Line Items]    
30 - 59 days delinquent 98us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_MultifamilyMember
60us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_MultifamilyMember
Seriously delinquent 135fnm_FinancingReceivableRecordedInvestmentSeriouslyDelinquent
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_MultifamilyMember
89fnm_FinancingReceivableRecordedInvestmentSeriouslyDelinquent
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_MultifamilyMember
Total delinquent 233us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_MultifamilyMember
149us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_MultifamilyMember
Current 192,795us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_MultifamilyMember
189,084us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_MultifamilyMember
Total recorded investment in loans 193,028fnm_RecordedInvestmentMortgageLoansHeldForInvestment
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_MultifamilyMember
189,233fnm_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 807us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_MultifamilyMember
823us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_StatementBusinessSegmentsAxis
= fnm_MultifamilyMember
Multifamily [Member] | Minimum [Member]    
Table Footnote [Abstract]    
Serious delinquency, days past due 60 days 60 days
Multifamily [Member] | Maximum [Member]    
Table Footnote [Abstract]    
Serious delinquency, days past due 89 days 89 days