Quarterly report pursuant to Section 13 or 15(d)

Loans - Analysis of Gross Loans, Disaggregated by PCI Loan Class (Detail)

v2.4.1.9
Loans - Analysis of Gross Loans, Disaggregated by PCI Loan Class (Detail) (USD $)
In Thousands, unless otherwise specified
Mar. 31, 2015
Dec. 31, 2014
Mar. 31, 2014
Financing Receivable, Recorded Investment, Past Due [Line Items]      
Total Loans $ 2,816,557us-gaap_LoansAndLeasesReceivableGrossCarryingAmount $ 2,785,261us-gaap_LoansAndLeasesReceivableGrossCarryingAmount  
Allowance Amount 52,951us-gaap_LoansAndLeasesReceivableAllowance 52,666us-gaap_LoansAndLeasesReceivableAllowance  
Loans receivable, net 2,767,080us-gaap_LoansAndLeasesReceivableNetReportedAmount 2,735,832us-gaap_LoansAndLeasesReceivableNetReportedAmount 2,221,520us-gaap_LoansAndLeasesReceivableNetReportedAmount
Real estate loans [Member]      
Financing Receivable, Recorded Investment, Past Due [Line Items]      
Total Loans 2,539,939us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_FinancialInstrumentAxis
= hafc_RealEstateLoanMember
2,508,515us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_FinancialInstrumentAxis
= hafc_RealEstateLoanMember
 
Real estate loans [Member] | Retail [Member]      
Financing Receivable, Recorded Investment, Past Due [Line Items]      
Total Loans 690,503us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_FinancialInstrumentAxis
= hafc_RealEstateLoanMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hafc_CommercialRealEstateRetailMember
683,607us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_FinancialInstrumentAxis
= hafc_RealEstateLoanMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hafc_CommercialRealEstateRetailMember
 
Real estate loans [Member] | Hotel/motel [Member]      
Financing Receivable, Recorded Investment, Past Due [Line Items]      
Total Loans 493,680us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_FinancialInstrumentAxis
= hafc_RealEstateLoanMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hafc_HotelAndMotelMember
462,181us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_FinancialInstrumentAxis
= hafc_RealEstateLoanMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hafc_HotelAndMotelMember
 
Real estate loans [Member] | Gas station [Member]      
Financing Receivable, Recorded Investment, Past Due [Line Items]      
Total Loans 353,239us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_FinancialInstrumentAxis
= hafc_RealEstateLoanMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hafc_GasolineStationMember
369,985us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_FinancialInstrumentAxis
= hafc_RealEstateLoanMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hafc_GasolineStationMember
 
Real estate loans [Member] | Other [Member]      
Financing Receivable, Recorded Investment, Past Due [Line Items]      
Total Loans 830,881us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_FinancialInstrumentAxis
= hafc_RealEstateLoanMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hafc_CommercialRealEstateOtherMember
847,922us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_FinancialInstrumentAxis
= hafc_RealEstateLoanMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hafc_CommercialRealEstateOtherMember
 
Real estate loans [Member] | Residential property [Member]      
Financing Receivable, Recorded Investment, Past Due [Line Items]      
Total Loans 156,513us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_FinancialInstrumentAxis
= hafc_RealEstateLoanMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hafc_ResidentialPropertyRealEstateLoanMember
135,303us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_FinancialInstrumentAxis
= hafc_RealEstateLoanMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hafc_ResidentialPropertyRealEstateLoanMember
 
Commercial and industrial loans [Member]      
Financing Receivable, Recorded Investment, Past Due [Line Items]      
Total Loans 250,632us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_FinancialInstrumentAxis
= hafc_CommercialAndIndustrialLoansMember
249,189us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_FinancialInstrumentAxis
= hafc_CommercialAndIndustrialLoansMember
 
Commercial and industrial loans [Member] | Commercial term [Member]      
Financing Receivable, Recorded Investment, Past Due [Line Items]      
Total Loans 116,533us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_FinancialInstrumentAxis
= hafc_CommercialAndIndustrialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hafc_CommercialTermLoansMember
116,400us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_FinancialInstrumentAxis
= hafc_CommercialAndIndustrialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hafc_CommercialTermLoansMember
 
Consumer loans [Member]      
Financing Receivable, Recorded Investment, Past Due [Line Items]      
Total Loans 25,986us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_FinancialInstrumentAxis
= us-gaap_ConsumerLoanMember
27,557us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_FinancialInstrumentAxis
= us-gaap_ConsumerLoanMember
 
PCI Loans [Member]      
Financing Receivable, Recorded Investment, Past Due [Line Items]      
30-59 Days Past Due 906us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
1,574us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
 
60-89 Days Past Due 22us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
1,357us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
 
90 Days or More Past Due 28,006us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
28,475us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
 
Total Past Due 28,934us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
31,406us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
 
Current 12,007us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
13,095us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
 
Total Loans 40,941us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
44,501us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
 
Allowance Amount 1,436us-gaap_LoansAndLeasesReceivableAllowance
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
1,026us-gaap_LoansAndLeasesReceivableAllowance
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
 
Loans receivable, net 39,505us-gaap_LoansAndLeasesReceivableNetReportedAmount
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
43,475us-gaap_LoansAndLeasesReceivableNetReportedAmount
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
 
PCI Loans [Member] | Real estate loans [Member]      
Financing Receivable, Recorded Investment, Past Due [Line Items]      
Total Loans 40,616us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_FinancialInstrumentAxis
= hafc_RealEstateLoanMember
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
44,129us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_FinancialInstrumentAxis
= hafc_RealEstateLoanMember
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
 
Allowance Amount   895us-gaap_LoansAndLeasesReceivableAllowance
/ us-gaap_FinancialInstrumentAxis
= hafc_RealEstateLoanMember
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
 
PCI Loans [Member] | Real estate loans [Member] | Retail [Member]      
Financing Receivable, Recorded Investment, Past Due [Line Items]      
30-59 Days Past Due 13us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_FinancialInstrumentAxis
= hafc_RealEstateLoanMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hafc_CommercialRealEstateRetailMember
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
93us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_FinancialInstrumentAxis
= hafc_RealEstateLoanMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hafc_CommercialRealEstateRetailMember
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
 
60-89 Days Past Due   287us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_FinancialInstrumentAxis
= hafc_RealEstateLoanMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hafc_CommercialRealEstateRetailMember
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
 
90 Days or More Past Due 6,424us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_FinancialInstrumentAxis
= hafc_RealEstateLoanMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hafc_CommercialRealEstateRetailMember
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
3,815us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_FinancialInstrumentAxis
= hafc_RealEstateLoanMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hafc_CommercialRealEstateRetailMember
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
 
Total Past Due 6,437us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancialInstrumentAxis
= hafc_RealEstateLoanMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hafc_CommercialRealEstateRetailMember
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
4,195us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancialInstrumentAxis
= hafc_RealEstateLoanMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hafc_CommercialRealEstateRetailMember
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
 
Current 4,128us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancialInstrumentAxis
= hafc_RealEstateLoanMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hafc_CommercialRealEstateRetailMember
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
4,340us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancialInstrumentAxis
= hafc_RealEstateLoanMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hafc_CommercialRealEstateRetailMember
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
 
Total Loans 10,565us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_FinancialInstrumentAxis
= hafc_RealEstateLoanMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hafc_CommercialRealEstateRetailMember
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
8,535us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_FinancialInstrumentAxis
= hafc_RealEstateLoanMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hafc_CommercialRealEstateRetailMember
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
 
Allowance Amount 404us-gaap_LoansAndLeasesReceivableAllowance
/ us-gaap_FinancialInstrumentAxis
= hafc_RealEstateLoanMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hafc_CommercialRealEstateRetailMember
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
401us-gaap_LoansAndLeasesReceivableAllowance
/ us-gaap_FinancialInstrumentAxis
= hafc_RealEstateLoanMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hafc_CommercialRealEstateRetailMember
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
 
Loans receivable, net 10,161us-gaap_LoansAndLeasesReceivableNetReportedAmount
/ us-gaap_FinancialInstrumentAxis
= hafc_RealEstateLoanMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hafc_CommercialRealEstateRetailMember
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
8,134us-gaap_LoansAndLeasesReceivableNetReportedAmount
/ us-gaap_FinancialInstrumentAxis
= hafc_RealEstateLoanMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hafc_CommercialRealEstateRetailMember
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
 
PCI Loans [Member] | Real estate loans [Member] | Hotel/motel [Member]      
Financing Receivable, Recorded Investment, Past Due [Line Items]      
30-59 Days Past Due   312us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_FinancialInstrumentAxis
= hafc_RealEstateLoanMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hafc_HotelAndMotelMember
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
 
90 Days or More Past Due 6,801us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_FinancialInstrumentAxis
= hafc_RealEstateLoanMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hafc_HotelAndMotelMember
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
2,490us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_FinancialInstrumentAxis
= hafc_RealEstateLoanMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hafc_HotelAndMotelMember
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
 
Total Past Due 6,801us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancialInstrumentAxis
= hafc_RealEstateLoanMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hafc_HotelAndMotelMember
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
2,802us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancialInstrumentAxis
= hafc_RealEstateLoanMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hafc_HotelAndMotelMember
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
 
Current 4,919us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancialInstrumentAxis
= hafc_RealEstateLoanMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hafc_HotelAndMotelMember
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
4,880us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancialInstrumentAxis
= hafc_RealEstateLoanMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hafc_HotelAndMotelMember
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
 
Total Loans 11,720us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_FinancialInstrumentAxis
= hafc_RealEstateLoanMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hafc_HotelAndMotelMember
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
7,682us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_FinancialInstrumentAxis
= hafc_RealEstateLoanMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hafc_HotelAndMotelMember
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
 
Allowance Amount 146us-gaap_LoansAndLeasesReceivableAllowance
/ us-gaap_FinancialInstrumentAxis
= hafc_RealEstateLoanMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hafc_HotelAndMotelMember
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
99us-gaap_LoansAndLeasesReceivableAllowance
/ us-gaap_FinancialInstrumentAxis
= hafc_RealEstateLoanMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hafc_HotelAndMotelMember
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
 
Loans receivable, net 11,574us-gaap_LoansAndLeasesReceivableNetReportedAmount
/ us-gaap_FinancialInstrumentAxis
= hafc_RealEstateLoanMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hafc_HotelAndMotelMember
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
7,583us-gaap_LoansAndLeasesReceivableNetReportedAmount
/ us-gaap_FinancialInstrumentAxis
= hafc_RealEstateLoanMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hafc_HotelAndMotelMember
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
 
PCI Loans [Member] | Real estate loans [Member] | Gas station [Member]      
Financing Receivable, Recorded Investment, Past Due [Line Items]      
30-59 Days Past Due 831us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_FinancialInstrumentAxis
= hafc_RealEstateLoanMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hafc_GasolineStationMember
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
1,139us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_FinancialInstrumentAxis
= hafc_RealEstateLoanMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hafc_GasolineStationMember
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
 
60-89 Days Past Due   1,053us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_FinancialInstrumentAxis
= hafc_RealEstateLoanMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hafc_GasolineStationMember
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
 
90 Days or More Past Due 3,868us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_FinancialInstrumentAxis
= hafc_RealEstateLoanMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hafc_GasolineStationMember
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
3,178us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_FinancialInstrumentAxis
= hafc_RealEstateLoanMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hafc_GasolineStationMember
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
 
Total Past Due 4,699us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancialInstrumentAxis
= hafc_RealEstateLoanMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hafc_GasolineStationMember
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
5,370us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancialInstrumentAxis
= hafc_RealEstateLoanMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hafc_GasolineStationMember
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
 
Current 1,742us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancialInstrumentAxis
= hafc_RealEstateLoanMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hafc_GasolineStationMember
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
2,375us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancialInstrumentAxis
= hafc_RealEstateLoanMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hafc_GasolineStationMember
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
 
Total Loans 6,441us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_FinancialInstrumentAxis
= hafc_RealEstateLoanMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hafc_GasolineStationMember
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
7,745us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_FinancialInstrumentAxis
= hafc_RealEstateLoanMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hafc_GasolineStationMember
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
 
Allowance Amount 555us-gaap_LoansAndLeasesReceivableAllowance
/ us-gaap_FinancialInstrumentAxis
= hafc_RealEstateLoanMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hafc_GasolineStationMember
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
302us-gaap_LoansAndLeasesReceivableAllowance
/ us-gaap_FinancialInstrumentAxis
= hafc_RealEstateLoanMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hafc_GasolineStationMember
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
 
Loans receivable, net 5,886us-gaap_LoansAndLeasesReceivableNetReportedAmount
/ us-gaap_FinancialInstrumentAxis
= hafc_RealEstateLoanMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hafc_GasolineStationMember
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
7,443us-gaap_LoansAndLeasesReceivableNetReportedAmount
/ us-gaap_FinancialInstrumentAxis
= hafc_RealEstateLoanMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hafc_GasolineStationMember
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
 
PCI Loans [Member] | Real estate loans [Member] | Other [Member]      
Financing Receivable, Recorded Investment, Past Due [Line Items]      
30-59 Days Past Due 62us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_FinancialInstrumentAxis
= hafc_RealEstateLoanMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hafc_CommercialRealEstateOtherMember
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
   
90 Days or More Past Due 9,719us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_FinancialInstrumentAxis
= hafc_RealEstateLoanMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hafc_CommercialRealEstateOtherMember
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
5,235us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_FinancialInstrumentAxis
= hafc_RealEstateLoanMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hafc_CommercialRealEstateOtherMember
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
 
Total Past Due 9,781us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancialInstrumentAxis
= hafc_RealEstateLoanMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hafc_CommercialRealEstateOtherMember
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
5,235us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancialInstrumentAxis
= hafc_RealEstateLoanMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hafc_CommercialRealEstateOtherMember
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
 
Current 393us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancialInstrumentAxis
= hafc_RealEstateLoanMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hafc_CommercialRealEstateOtherMember
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
561us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancialInstrumentAxis
= hafc_RealEstateLoanMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hafc_CommercialRealEstateOtherMember
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
 
Total Loans 10,174us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_FinancialInstrumentAxis
= hafc_RealEstateLoanMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hafc_CommercialRealEstateOtherMember
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
5,796us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_FinancialInstrumentAxis
= hafc_RealEstateLoanMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hafc_CommercialRealEstateOtherMember
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
 
Allowance Amount 167us-gaap_LoansAndLeasesReceivableAllowance
/ us-gaap_FinancialInstrumentAxis
= hafc_RealEstateLoanMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hafc_CommercialRealEstateOtherMember
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
65us-gaap_LoansAndLeasesReceivableAllowance
/ us-gaap_FinancialInstrumentAxis
= hafc_RealEstateLoanMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hafc_CommercialRealEstateOtherMember
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
 
Loans receivable, net 10,007us-gaap_LoansAndLeasesReceivableNetReportedAmount
/ us-gaap_FinancialInstrumentAxis
= hafc_RealEstateLoanMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hafc_CommercialRealEstateOtherMember
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
5,731us-gaap_LoansAndLeasesReceivableNetReportedAmount
/ us-gaap_FinancialInstrumentAxis
= hafc_RealEstateLoanMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hafc_CommercialRealEstateOtherMember
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
 
PCI Loans [Member] | Real estate loans [Member] | Residential property [Member]      
Financing Receivable, Recorded Investment, Past Due [Line Items]      
90 Days or More Past Due 1,056us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_FinancialInstrumentAxis
= hafc_RealEstateLoanMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hafc_ResidentialPropertyRealEstateLoanMember
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
13,594us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_FinancialInstrumentAxis
= hafc_RealEstateLoanMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hafc_ResidentialPropertyRealEstateLoanMember
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
 
Total Past Due 1,056us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancialInstrumentAxis
= hafc_RealEstateLoanMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hafc_ResidentialPropertyRealEstateLoanMember
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
13,594us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancialInstrumentAxis
= hafc_RealEstateLoanMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hafc_ResidentialPropertyRealEstateLoanMember
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
 
Current 660us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancialInstrumentAxis
= hafc_RealEstateLoanMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hafc_ResidentialPropertyRealEstateLoanMember
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
777us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancialInstrumentAxis
= hafc_RealEstateLoanMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hafc_ResidentialPropertyRealEstateLoanMember
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
 
Total Loans 1,716us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_FinancialInstrumentAxis
= hafc_RealEstateLoanMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hafc_ResidentialPropertyRealEstateLoanMember
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
14,371us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_FinancialInstrumentAxis
= hafc_RealEstateLoanMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hafc_ResidentialPropertyRealEstateLoanMember
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
 
Allowance Amount 46us-gaap_LoansAndLeasesReceivableAllowance
/ us-gaap_FinancialInstrumentAxis
= hafc_RealEstateLoanMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hafc_ResidentialPropertyRealEstateLoanMember
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
28us-gaap_LoansAndLeasesReceivableAllowance
/ us-gaap_FinancialInstrumentAxis
= hafc_RealEstateLoanMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hafc_ResidentialPropertyRealEstateLoanMember
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
 
Loans receivable, net 1,670us-gaap_LoansAndLeasesReceivableNetReportedAmount
/ us-gaap_FinancialInstrumentAxis
= hafc_RealEstateLoanMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hafc_ResidentialPropertyRealEstateLoanMember
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
14,343us-gaap_LoansAndLeasesReceivableNetReportedAmount
/ us-gaap_FinancialInstrumentAxis
= hafc_RealEstateLoanMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hafc_ResidentialPropertyRealEstateLoanMember
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
 
PCI Loans [Member] | Commercial and industrial loans [Member]      
Financing Receivable, Recorded Investment, Past Due [Line Items]      
Total Loans 281us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_FinancialInstrumentAxis
= hafc_CommercialAndIndustrialLoansMember
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
327us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_FinancialInstrumentAxis
= hafc_CommercialAndIndustrialLoansMember
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
 
Allowance Amount   131us-gaap_LoansAndLeasesReceivableAllowance
/ us-gaap_FinancialInstrumentAxis
= hafc_CommercialAndIndustrialLoansMember
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
 
PCI Loans [Member] | Commercial and industrial loans [Member] | Commercial term [Member]      
Financing Receivable, Recorded Investment, Past Due [Line Items]      
30-59 Days Past Due   30us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_FinancialInstrumentAxis
= hafc_CommercialAndIndustrialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hafc_CommercialTermLoansMember
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
 
60-89 Days Past Due 6us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_FinancialInstrumentAxis
= hafc_CommercialAndIndustrialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hafc_CommercialTermLoansMember
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
   
90 Days or More Past Due 110us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_FinancialInstrumentAxis
= hafc_CommercialAndIndustrialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hafc_CommercialTermLoansMember
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
135us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_FinancialInstrumentAxis
= hafc_CommercialAndIndustrialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hafc_CommercialTermLoansMember
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
 
Total Past Due 116us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancialInstrumentAxis
= hafc_CommercialAndIndustrialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hafc_CommercialTermLoansMember
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
165us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancialInstrumentAxis
= hafc_CommercialAndIndustrialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hafc_CommercialTermLoansMember
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
 
Current 165us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancialInstrumentAxis
= hafc_CommercialAndIndustrialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hafc_CommercialTermLoansMember
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
162us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancialInstrumentAxis
= hafc_CommercialAndIndustrialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hafc_CommercialTermLoansMember
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
 
Total Loans 281us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_FinancialInstrumentAxis
= hafc_CommercialAndIndustrialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hafc_CommercialTermLoansMember
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
327us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_FinancialInstrumentAxis
= hafc_CommercialAndIndustrialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hafc_CommercialTermLoansMember
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
 
Allowance Amount 118us-gaap_LoansAndLeasesReceivableAllowance
/ us-gaap_FinancialInstrumentAxis
= hafc_CommercialAndIndustrialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hafc_CommercialTermLoansMember
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
131us-gaap_LoansAndLeasesReceivableAllowance
/ us-gaap_FinancialInstrumentAxis
= hafc_CommercialAndIndustrialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hafc_CommercialTermLoansMember
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
 
Loans receivable, net 163us-gaap_LoansAndLeasesReceivableNetReportedAmount
/ us-gaap_FinancialInstrumentAxis
= hafc_CommercialAndIndustrialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hafc_CommercialTermLoansMember
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
196us-gaap_LoansAndLeasesReceivableNetReportedAmount
/ us-gaap_FinancialInstrumentAxis
= hafc_CommercialAndIndustrialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hafc_CommercialTermLoansMember
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
 
PCI Loans [Member] | Consumer loans [Member]      
Financing Receivable, Recorded Investment, Past Due [Line Items]      
60-89 Days Past Due 16us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_FinancialInstrumentAxis
= us-gaap_ConsumerLoanMember
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
17us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_FinancialInstrumentAxis
= us-gaap_ConsumerLoanMember
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
 
90 Days or More Past Due 28us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_FinancialInstrumentAxis
= us-gaap_ConsumerLoanMember
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
28us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_FinancialInstrumentAxis
= us-gaap_ConsumerLoanMember
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
 
Total Past Due 44us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancialInstrumentAxis
= us-gaap_ConsumerLoanMember
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
45us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancialInstrumentAxis
= us-gaap_ConsumerLoanMember
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
 
Total Loans 44us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_FinancialInstrumentAxis
= us-gaap_ConsumerLoanMember
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
45us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_FinancialInstrumentAxis
= us-gaap_ConsumerLoanMember
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
 
Loans receivable, net $ 44us-gaap_LoansAndLeasesReceivableNetReportedAmount
/ us-gaap_FinancialInstrumentAxis
= us-gaap_ConsumerLoanMember
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember
$ 45us-gaap_LoansAndLeasesReceivableNetReportedAmount
/ us-gaap_FinancialInstrumentAxis
= us-gaap_ConsumerLoanMember
/ hafc_ImpairedFinancialReceivableTypeAxis
= hafc_PurchaseCreditImpairedLoansMember