XML 29 R31.htm IDEA: XBRL DOCUMENT v2.4.1.9
Loans Receivable (excluding Covered Loans) - Loans Receivable, Analysis of Age of Loans in Past Due Status (Details) (USD $)
In Thousands, unless otherwise specified
Mar. 31, 2015
Sep. 30, 2014
Accounts, Notes, Loans and Financing Receivable [Line Items]    
Amount of loans, net of charge-offs and LIP $ 8,587,919wfsl_LoansReceivableNetofChargeOffsandLoansinProcess $ 8,323,544wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
Current 8,490,210wfsl_LoansAndLeasesReceivableCurrentStatus 8,203,280wfsl_LoansAndLeasesReceivableCurrentStatus
30 days 25,861wfsl_LoansAndLeasesReceivable1To30DaysPastDue 19,762wfsl_LoansAndLeasesReceivable1To30DaysPastDue
60 days 11,778wfsl_LoansAndLeasesReceivable31To60DaysPastDue 27,907wfsl_LoansAndLeasesReceivable31To60DaysPastDue
90 days 60,070wfsl_LoansAndLeasesReceivable61To90DaysPastDue 72,595wfsl_LoansAndLeasesReceivable61To90DaysPastDue
Total 97,709wfsl_LoansAndLeasesReceivablePastDue 120,264wfsl_LoansAndLeasesReceivablePastDue
Ratio of past due loans to total loans, net of charge-offs and LIPs 1.14%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess 1.44%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess
Non-Acquired Loans [Member]    
Accounts, Notes, Loans and Financing Receivable [Line Items]    
Amount of loans, net of charge-offs and LIP 8,348,895wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
8,063,364wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
Current 8,257,291wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
7,947,551wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
30 days 24,302wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
19,477wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
60 days 9,701wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
26,449wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
90 days 57,601wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
69,887wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
Total 91,604wfsl_LoansAndLeasesReceivablePastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
115,813wfsl_LoansAndLeasesReceivablePastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
Ratio of past due loans to total loans, net of charge-offs and LIPs 1.10%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
1.44%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
Non-Acquired Loans [Member] | Single-Family Residential [Member]    
Accounts, Notes, Loans and Financing Receivable [Line Items]    
Amount of loans, net of charge-offs and LIP 5,532,553wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
5,557,753wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
Current 5,450,820wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
5,467,239wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
30 days 19,822wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
15,926wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
60 days 8,082wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
9,139wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
90 days 53,829wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
65,449wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
Total 81,733wfsl_LoansAndLeasesReceivablePastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
90,514wfsl_LoansAndLeasesReceivablePastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
Ratio of past due loans to total loans, net of charge-offs and LIPs 1.48%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
1.63%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
Non-Acquired Loans [Member] | Construction - Speculative [Member]    
Accounts, Notes, Loans and Financing Receivable [Line Items]    
Amount of loans, net of charge-offs and LIP 105,392wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionSpeculativeMember
87,035wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionSpeculativeMember
Current 103,044wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionSpeculativeMember
87,035wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionSpeculativeMember
30 days 2,348wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionSpeculativeMember
0wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionSpeculativeMember
60 days 0wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionSpeculativeMember
0wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionSpeculativeMember
90 days 0wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionSpeculativeMember
0wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionSpeculativeMember
Total 2,348wfsl_LoansAndLeasesReceivablePastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionSpeculativeMember
0wfsl_LoansAndLeasesReceivablePastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionSpeculativeMember
Ratio of past due loans to total loans, net of charge-offs and LIPs 2.23%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionSpeculativeMember
0.00%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionSpeculativeMember
Non-Acquired Loans [Member] | Construction - Custom [Member]    
Accounts, Notes, Loans and Financing Receivable [Line Items]    
Amount of loans, net of charge-offs and LIP 201,777wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionCustomMember
192,098wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionCustomMember
Current 200,608wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionCustomMember
191,262wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionCustomMember
30 days 355wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionCustomMember
836wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionCustomMember
60 days 814wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionCustomMember
0wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionCustomMember
90 days 0wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionCustomMember
0wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionCustomMember
Total 1,169wfsl_LoansAndLeasesReceivablePastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionCustomMember
836wfsl_LoansAndLeasesReceivablePastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionCustomMember
Ratio of past due loans to total loans, net of charge-offs and LIPs 0.58%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionCustomMember
0.44%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionCustomMember
Non-Acquired Loans [Member] | Land - Acquisition & Development [Member]    
Accounts, Notes, Loans and Financing Receivable [Line Items]    
Amount of loans, net of charge-offs and LIP 90,838wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
68,066wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
Current 90,838wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
67,911wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
30 days 0wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
155wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
60 days 0wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
0wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
90 days 0wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
0wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
Total 0wfsl_LoansAndLeasesReceivablePastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
155wfsl_LoansAndLeasesReceivablePastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
Ratio of past due loans to total loans, net of charge-offs and LIPs 0.00%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
0.23%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
Non-Acquired Loans [Member] | Land - Consumer Lot Loans [Member]    
Accounts, Notes, Loans and Financing Receivable [Line Items]    
Amount of loans, net of charge-offs and LIP 102,003wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandConsumerLotLoansMember
108,589wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandConsumerLotLoansMember
Current 98,717wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandConsumerLotLoansMember
104,571wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandConsumerLotLoansMember
30 days 466wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandConsumerLotLoansMember
1,246wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandConsumerLotLoansMember
60 days 478wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandConsumerLotLoansMember
304wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandConsumerLotLoansMember
90 days 2,342wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandConsumerLotLoansMember
2,468wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandConsumerLotLoansMember
Total 3,286wfsl_LoansAndLeasesReceivablePastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandConsumerLotLoansMember
4,018wfsl_LoansAndLeasesReceivablePastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandConsumerLotLoansMember
Ratio of past due loans to total loans, net of charge-offs and LIPs 3.22%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandConsumerLotLoansMember
3.70%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandConsumerLotLoansMember
Non-Acquired Loans [Member] | Multi-Family [Member]    
Accounts, Notes, Loans and Financing Receivable [Line Items]    
Amount of loans, net of charge-offs and LIP 941,122wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
892,196wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
Current 940,175wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
891,372wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
30 days 620wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
205wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
60 days 0wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
16wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
90 days 327wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
603wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
Total 947wfsl_LoansAndLeasesReceivablePastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
824wfsl_LoansAndLeasesReceivablePastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
Ratio of past due loans to total loans, net of charge-offs and LIPs 0.10%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
0.09%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
Non-Acquired Loans [Member] | Commercial Real Estate [Member]    
Accounts, Notes, Loans and Financing Receivable [Line Items]    
Amount of loans, net of charge-offs and LIP 627,843wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
529,453wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
Current 627,209wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
513,409wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
30 days 62wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
67wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
60 days 93wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
15,118wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
90 days 479wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
859wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
Total 634wfsl_LoansAndLeasesReceivablePastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
16,044wfsl_LoansAndLeasesReceivablePastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
Ratio of past due loans to total loans, net of charge-offs and LIPs 0.10%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
3.03%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
Non-Acquired Loans [Member] | Commercial & Industrial [Member]    
Accounts, Notes, Loans and Financing Receivable [Line Items]    
Amount of loans, net of charge-offs and LIP 407,763wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
379,226wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
Current 407,698wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
377,848wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
30 days 65wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
53wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
60 days 0wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
1,318wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
90 days 0wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
7wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
Total 65wfsl_LoansAndLeasesReceivablePastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
1,378wfsl_LoansAndLeasesReceivablePastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
Ratio of past due loans to total loans, net of charge-offs and LIPs 0.02%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
0.36%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
Non-Acquired Loans [Member] | HELOC [Member]    
Accounts, Notes, Loans and Financing Receivable [Line Items]    
Amount of loans, net of charge-offs and LIP 120,904wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
116,262wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
Current 120,098wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
115,262wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
30 days 150wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
335wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
60 days 74wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
292wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
90 days 582wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
373wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
Total 806wfsl_LoansAndLeasesReceivablePastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
1,000wfsl_LoansAndLeasesReceivablePastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
Ratio of past due loans to total loans, net of charge-offs and LIPs 0.67%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
0.86%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
Non-Acquired Loans [Member] | Consumer [Member]    
Accounts, Notes, Loans and Financing Receivable [Line Items]    
Amount of loans, net of charge-offs and LIP 218,700wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
132,686wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
Current 218,084wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
131,642wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
30 days 414wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
654wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
60 days 160wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
262wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
90 days 42wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
128wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
Total 616wfsl_LoansAndLeasesReceivablePastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
1,044wfsl_LoansAndLeasesReceivablePastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
Ratio of past due loans to total loans, net of charge-offs and LIPs 0.28%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
0.79%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
Acquired Non-Impaired Loans [Member]    
Accounts, Notes, Loans and Financing Receivable [Line Items]    
Amount of loans, net of charge-offs and LIP 169,524wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
180,892wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
Current 165,858wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
178,945wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
30 days 1,172wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
126wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
60 days 1,561wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
474wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
90 days 933wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
1,347wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
Total 3,666wfsl_LoansAndLeasesReceivablePastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
1,947wfsl_LoansAndLeasesReceivablePastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
Ratio of past due loans to total loans, net of charge-offs and LIPs 2.16%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
1.08%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
Acquired Non-Impaired Loans [Member] | Single-Family Residential [Member]    
Accounts, Notes, Loans and Financing Receivable [Line Items]    
Amount of loans, net of charge-offs and LIP 10,976wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
11,716wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
Current 10,819wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
11,693wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
30 days 133wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
0wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
60 days 0wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
0wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
90 days 24wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
23wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
Total 157wfsl_LoansAndLeasesReceivablePastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
23wfsl_LoansAndLeasesReceivablePastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
Ratio of past due loans to total loans, net of charge-offs and LIPs 1.43%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
0.20%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
Acquired Non-Impaired Loans [Member] | Land - Acquisition & Development [Member]    
Accounts, Notes, Loans and Financing Receivable [Line Items]    
Amount of loans, net of charge-offs and LIP 728wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
905wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
Current 728wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
905wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
30 days 0wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
0wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
60 days 0wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
0wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
90 days 0wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
0wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
Total 0wfsl_LoansAndLeasesReceivablePastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
0wfsl_LoansAndLeasesReceivablePastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
Ratio of past due loans to total loans, net of charge-offs and LIPs 0.00%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
0.00%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
Acquired Non-Impaired Loans [Member] | Land - Consumer Lot Loans [Member]    
Accounts, Notes, Loans and Financing Receivable [Line Items]    
Amount of loans, net of charge-offs and LIP 2,474wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandConsumerLotLoansMember
2,502wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandConsumerLotLoansMember
Current 2,139wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandConsumerLotLoansMember
2,132wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandConsumerLotLoansMember
30 days 218wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandConsumerLotLoansMember
0wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandConsumerLotLoansMember
60 days 0wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandConsumerLotLoansMember
370wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandConsumerLotLoansMember
90 days 117wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandConsumerLotLoansMember
0wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandConsumerLotLoansMember
Total 335wfsl_LoansAndLeasesReceivablePastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandConsumerLotLoansMember
370wfsl_LoansAndLeasesReceivablePastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandConsumerLotLoansMember
Ratio of past due loans to total loans, net of charge-offs and LIPs 13.54%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandConsumerLotLoansMember
14.79%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandConsumerLotLoansMember
Acquired Non-Impaired Loans [Member] | Multi-Family [Member]    
Accounts, Notes, Loans and Financing Receivable [Line Items]    
Amount of loans, net of charge-offs and LIP 2,912wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
2,999wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
Current 2,912wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
2,999wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
30 days 0wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
0wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
60 days 0wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
0wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
90 days 0wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
0wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
Total 0wfsl_LoansAndLeasesReceivablePastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
0wfsl_LoansAndLeasesReceivablePastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
Ratio of past due loans to total loans, net of charge-offs and LIPs 0.00%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
0.00%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
Acquired Non-Impaired Loans [Member] | Commercial Real Estate [Member]    
Accounts, Notes, Loans and Financing Receivable [Line Items]    
Amount of loans, net of charge-offs and LIP 87,290wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
97,715wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
Current 85,063wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
96,948wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
30 days 492wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
104wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
60 days 1,561wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
0wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
90 days 174wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
663wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
Total 2,227wfsl_LoansAndLeasesReceivablePastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
767wfsl_LoansAndLeasesReceivablePastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
Ratio of past due loans to total loans, net of charge-offs and LIPs 2.55%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
0.78%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
Acquired Non-Impaired Loans [Member] | Commercial & Industrial [Member]    
Accounts, Notes, Loans and Financing Receivable [Line Items]    
Amount of loans, net of charge-offs and LIP 55,670wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
51,329wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
Current 55,670wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
51,229wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
30 days 0wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
0wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
60 days 0wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
100wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
90 days 0wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
0wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
Total 0wfsl_LoansAndLeasesReceivablePastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
100wfsl_LoansAndLeasesReceivablePastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
Ratio of past due loans to total loans, net of charge-offs and LIPs 0.00%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
0.19%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
Acquired Non-Impaired Loans [Member] | HELOC [Member]    
Accounts, Notes, Loans and Financing Receivable [Line Items]    
Amount of loans, net of charge-offs and LIP 6,700wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
8,056wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
Current 6,201wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
8,056wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
30 days 275wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
0wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
60 days 0wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
0wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
90 days 224wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
0wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
Total 499wfsl_LoansAndLeasesReceivablePastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
0wfsl_LoansAndLeasesReceivablePastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
Ratio of past due loans to total loans, net of charge-offs and LIPs 7.45%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
0.00%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
Acquired Non-Impaired Loans [Member] | Consumer [Member]    
Accounts, Notes, Loans and Financing Receivable [Line Items]    
Amount of loans, net of charge-offs and LIP 2,774wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
5,670wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
Current 2,326wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
4,983wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
30 days 54wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
22wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
60 days 0wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
4wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
90 days 394wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
661wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
Total 448wfsl_LoansAndLeasesReceivablePastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
687wfsl_LoansAndLeasesReceivablePastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
Ratio of past due loans to total loans, net of charge-offs and LIPs 16.15%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
12.12%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredNonImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
Credit Impaired Acquired Loans [Member]    
Accounts, Notes, Loans and Financing Receivable [Line Items]    
Amount of loans, net of charge-offs and LIP 69,500wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
79,288wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
Current 67,061wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
76,784wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
30 days 387wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
159wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
60 days 516wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
984wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
90 days 1,536wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
1,361wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
Total 2,439wfsl_LoansAndLeasesReceivablePastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
2,504wfsl_LoansAndLeasesReceivablePastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
Ratio of past due loans to total loans, net of charge-offs and LIPs 3.51%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
3.16%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
Credit Impaired Acquired Loans [Member] | Single-Family Residential [Member]    
Accounts, Notes, Loans and Financing Receivable [Line Items]    
Amount of loans, net of charge-offs and LIP 322wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
325wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
Current 322wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
325wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
30 days 0wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
0wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
60 days 0wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
0wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
90 days 0wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
0wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
Total 0wfsl_LoansAndLeasesReceivablePastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
0wfsl_LoansAndLeasesReceivablePastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
Ratio of past due loans to total loans, net of charge-offs and LIPs 0.00%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
0.00%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
Credit Impaired Acquired Loans [Member] | Land - Acquisition & Development [Member]    
Accounts, Notes, Loans and Financing Receivable [Line Items]    
Amount of loans, net of charge-offs and LIP 1,395wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
1,581wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
Current 1,395wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
1,581wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
30 days 0wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
0wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
60 days 0wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
0wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
90 days 0wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
0wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
Total 0wfsl_LoansAndLeasesReceivablePastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
0wfsl_LoansAndLeasesReceivablePastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
Ratio of past due loans to total loans, net of charge-offs and LIPs 0.00%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
0.00%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
Credit Impaired Acquired Loans [Member] | Commercial Real Estate [Member]    
Accounts, Notes, Loans and Financing Receivable [Line Items]    
Amount of loans, net of charge-offs and LIP 56,717wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
63,713wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
Current 54,366wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
61,713wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
30 days 387wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
152wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
60 days 516wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
909wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
90 days 1,448wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
939wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
Total 2,351wfsl_LoansAndLeasesReceivablePastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
2,000wfsl_LoansAndLeasesReceivablePastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
Ratio of past due loans to total loans, net of charge-offs and LIPs 4.15%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
3.14%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
Credit Impaired Acquired Loans [Member] | Commercial & Industrial [Member]    
Accounts, Notes, Loans and Financing Receivable [Line Items]    
Amount of loans, net of charge-offs and LIP 2,179wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
3,477wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
Current 2,179wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
3,470wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
30 days 0wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
7wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
60 days 0wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
0wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
90 days 0wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
0wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
Total 0wfsl_LoansAndLeasesReceivablePastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
7wfsl_LoansAndLeasesReceivablePastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
Ratio of past due loans to total loans, net of charge-offs and LIPs 0.00%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
0.20%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
Credit Impaired Acquired Loans [Member] | HELOC [Member]    
Accounts, Notes, Loans and Financing Receivable [Line Items]    
Amount of loans, net of charge-offs and LIP 8,836wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
10,138wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
Current 8,748wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
9,641wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
30 days 0wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
0wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
60 days 0wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
75wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
90 days 88wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
422wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
Total 88wfsl_LoansAndLeasesReceivablePastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
497wfsl_LoansAndLeasesReceivablePastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
Ratio of past due loans to total loans, net of charge-offs and LIPs 1.00%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
4.90%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
Credit Impaired Acquired Loans [Member] | Consumer [Member]    
Accounts, Notes, Loans and Financing Receivable [Line Items]    
Amount of loans, net of charge-offs and LIP 51wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
54wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
Current 51wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
54wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
30 days 0wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
0wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
60 days 0wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
0wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
90 days 0wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
0wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
Total $ 0wfsl_LoansAndLeasesReceivablePastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
$ 0wfsl_LoansAndLeasesReceivablePastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
Ratio of past due loans to total loans, net of charge-offs and LIPs 0.00%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
0.00%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember