XML 85 R60.htm IDEA: XBRL DOCUMENT
v2.4.1.9

Loans - Analysis of Gross Loans, Disaggregated by Loan Class (Detail) (USD $) In Thousands, unless otherwise specified | Mar. 31, 2015 | Dec. 31, 2014
--- | --- | ---
Financing Receivable, Recorded Investment, Past Due [Line Items] |  |
Total Loans | $ 2,816,557 us-gaap_LoansAndLeasesReceivableGrossCarryingAmount | $ 2,785,261 us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
Accruing 90 Days or More Past Due | 0 us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing | 0 us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing
Real estate loans [Member] |  |
Financing Receivable, Recorded Investment, Past Due [Line Items] |  |
Total Loans | 2,539,939 us-gaap_LoansAndLeasesReceivableGrossCarryingAmount / us-gaap_FinancialInstrumentAxis = hafc_RealEstateLoanMember | 2,508,515 us-gaap_LoansAndLeasesReceivableGrossCarryingAmount / us-gaap_FinancialInstrumentAxis = hafc_RealEstateLoanMember
Real estate loans [Member] | Retail [Member] |  |
Financing Receivable, Recorded Investment, Past Due [Line Items] |  |
Total Loans | 690,503 us-gaap_LoansAndLeasesReceivableGrossCarryingAmount / us-gaap_FinancialInstrumentAxis = hafc_RealEstateLoanMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_CommercialRealEstateRetailMember | 683,607 us-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,680 us-gaap_LoansAndLeasesReceivableGrossCarryingAmount / us-gaap_FinancialInstrumentAxis = hafc_RealEstateLoanMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_HotelAndMotelMember | 462,181 us-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,239 us-gaap_LoansAndLeasesReceivableGrossCarryingAmount / us-gaap_FinancialInstrumentAxis = hafc_RealEstateLoanMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_GasolineStationMember | 369,985 us-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,881 us-gaap_LoansAndLeasesReceivableGrossCarryingAmount / us-gaap_FinancialInstrumentAxis = hafc_RealEstateLoanMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_CommercialRealEstateOtherMember | 847,922 us-gaap_LoansAndLeasesReceivableGrossCarryingAmount / us-gaap_FinancialInstrumentAxis = hafc_RealEstateLoanMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_CommercialRealEstateOtherMember
Real estate loans [Member] | Construction [Member] |  |
Financing Receivable, Recorded Investment, Past Due [Line Items] |  |
Total Loans | 15,123 us-gaap_LoansAndLeasesReceivableGrossCarryingAmount / us-gaap_FinancialInstrumentAxis = hafc_RealEstateLoanMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_CommercialRealEstateConstructionMember | 9,517 us-gaap_LoansAndLeasesReceivableGrossCarryingAmount / us-gaap_FinancialInstrumentAxis = hafc_RealEstateLoanMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_CommercialRealEstateConstructionMember
Real estate loans [Member] | Residential property [Member] |  |
Financing Receivable, Recorded Investment, Past Due [Line Items] |  |
Total Loans | 156,513 us-gaap_LoansAndLeasesReceivableGrossCarryingAmount / us-gaap_FinancialInstrumentAxis = hafc_RealEstateLoanMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_ResidentialPropertyRealEstateLoanMember | 135,303 us-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,632 us-gaap_LoansAndLeasesReceivableGrossCarryingAmount / us-gaap_FinancialInstrumentAxis = hafc_CommercialAndIndustrialLoansMember | 249,189 us-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,533 us-gaap_LoansAndLeasesReceivableGrossCarryingAmount / us-gaap_FinancialInstrumentAxis = hafc_CommercialAndIndustrialLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_CommercialTermLoansMember | 116,400 us-gaap_LoansAndLeasesReceivableGrossCarryingAmount / us-gaap_FinancialInstrumentAxis = hafc_CommercialAndIndustrialLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_CommercialTermLoansMember
Commercial and industrial loans [Member] | Commercial lines of credit [Member] |  |
Financing Receivable, Recorded Investment, Past Due [Line Items] |  |
Total Loans | 97,761 us-gaap_LoansAndLeasesReceivableGrossCarryingAmount / us-gaap_FinancialInstrumentAxis = hafc_CommercialAndIndustrialLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_CommercialLinesOfCreditMember | 93,860 us-gaap_LoansAndLeasesReceivableGrossCarryingAmount / us-gaap_FinancialInstrumentAxis = hafc_CommercialAndIndustrialLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_CommercialLinesOfCreditMember
Commercial and industrial loans [Member] | International loans [Member] |  |
Financing Receivable, Recorded Investment, Past Due [Line Items] |  |
Total Loans | 36,338 us-gaap_LoansAndLeasesReceivableGrossCarryingAmount / us-gaap_FinancialInstrumentAxis = hafc_CommercialAndIndustrialLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_InternationalLoansMember | 38,929 us-gaap_LoansAndLeasesReceivableGrossCarryingAmount / us-gaap_FinancialInstrumentAxis = hafc_CommercialAndIndustrialLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_InternationalLoansMember
Consumer loans [Member] |  |
Financing Receivable, Recorded Investment, Past Due [Line Items] |  |
Total Loans | 25,986 us-gaap_LoansAndLeasesReceivableGrossCarryingAmount / us-gaap_FinancialInstrumentAxis = us-gaap_ConsumerLoanMember | 27,557 us-gaap_LoansAndLeasesReceivableGrossCarryingAmount / us-gaap_FinancialInstrumentAxis = us-gaap_ConsumerLoanMember
Non-PCI Loans [Member] |  |
Financing Receivable, Recorded Investment, Past Due [Line Items] |  |
30-59 Days Past Due | 8,460 us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember | 9,713 us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember
60-89 Days Past Due | 7,115 us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember | 6,729 us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember
90 Days or More Past Due | 18,779 us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember | 7,857 us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember
Total Past Due | 34,354 us-gaap_FinancingReceivableRecordedInvestmentPastDue / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember | 24,299 us-gaap_FinancingReceivableRecordedInvestmentPastDue / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember
Current | 2,741,262 us-gaap_FinancingReceivableRecordedInvestmentCurrent / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember | 2,716,461 us-gaap_FinancingReceivableRecordedInvestmentCurrent / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember
Total Loans | 2,775,616 us-gaap_LoansAndLeasesReceivableGrossCarryingAmount / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember | 2,740,760 us-gaap_LoansAndLeasesReceivableGrossCarryingAmount / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember
Accruing 90 Days or More Past Due | 0 us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember | 0 us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember
Non-PCI Loans [Member] | Real estate loans [Member] |  |
Financing Receivable, Recorded Investment, Past Due [Line Items] |  |
Total Loans | 2,499,323 us-gaap_LoansAndLeasesReceivableGrossCarryingAmount / us-gaap_FinancialInstrumentAxis = hafc_RealEstateLoanMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember | 2,464,386 us-gaap_LoansAndLeasesReceivableGrossCarryingAmount / us-gaap_FinancialInstrumentAxis = hafc_RealEstateLoanMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember
Non-PCI Loans [Member] | Real estate loans [Member] | Retail [Member] |  |
Financing Receivable, Recorded Investment, Past Due [Line Items] |  |
30-59 Days Past Due | 1,943 us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue / us-gaap_FinancialInstrumentAxis = hafc_RealEstateLoanMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_CommercialRealEstateRetailMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember | 1,554 us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue / us-gaap_FinancialInstrumentAxis = hafc_RealEstateLoanMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_CommercialRealEstateRetailMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember
60-89 Days Past Due | 6,031 us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue / us-gaap_FinancialInstrumentAxis = hafc_RealEstateLoanMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_CommercialRealEstateRetailMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember | 281 us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue / us-gaap_FinancialInstrumentAxis = hafc_RealEstateLoanMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_CommercialRealEstateRetailMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember
90 Days or More Past Due | 2,950 us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue / us-gaap_FinancialInstrumentAxis = hafc_RealEstateLoanMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_CommercialRealEstateRetailMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember | 1,920 us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue / us-gaap_FinancialInstrumentAxis = hafc_RealEstateLoanMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_CommercialRealEstateRetailMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember
Total Past Due | 10,924 us-gaap_FinancingReceivableRecordedInvestmentPastDue / us-gaap_FinancialInstrumentAxis = hafc_RealEstateLoanMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_CommercialRealEstateRetailMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember | 3,755 us-gaap_FinancingReceivableRecordedInvestmentPastDue / us-gaap_FinancialInstrumentAxis = hafc_RealEstateLoanMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_CommercialRealEstateRetailMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember
Current | 669,014 us-gaap_FinancingReceivableRecordedInvestmentCurrent / us-gaap_FinancialInstrumentAxis = hafc_RealEstateLoanMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_CommercialRealEstateRetailMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember | 671,317 us-gaap_FinancingReceivableRecordedInvestmentCurrent / us-gaap_FinancialInstrumentAxis = hafc_RealEstateLoanMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_CommercialRealEstateRetailMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember
Total Loans | 679,938 us-gaap_LoansAndLeasesReceivableGrossCarryingAmount / us-gaap_FinancialInstrumentAxis = hafc_RealEstateLoanMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_CommercialRealEstateRetailMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember | 675,072 us-gaap_LoansAndLeasesReceivableGrossCarryingAmount / us-gaap_FinancialInstrumentAxis = hafc_RealEstateLoanMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_CommercialRealEstateRetailMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember
Accruing 90 Days or More Past Due | 0 us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing / us-gaap_FinancialInstrumentAxis = hafc_RealEstateLoanMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_CommercialRealEstateRetailMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember | 0 us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing / us-gaap_FinancialInstrumentAxis = hafc_RealEstateLoanMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_CommercialRealEstateRetailMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember
Non-PCI Loans [Member] | Real estate loans [Member] | Hotel/motel [Member] |  |
Financing Receivable, Recorded Investment, Past Due [Line Items] |  |
30-59 Days Past Due | 2,659 us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue / us-gaap_FinancialInstrumentAxis = hafc_RealEstateLoanMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_HotelAndMotelMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember | 1,531 us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue / us-gaap_FinancialInstrumentAxis = hafc_RealEstateLoanMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_HotelAndMotelMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember
60-89 Days Past Due |  | 2,340 us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue / us-gaap_FinancialInstrumentAxis = hafc_RealEstateLoanMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_HotelAndMotelMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember
90 Days or More Past Due | 3,421 us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue / us-gaap_FinancialInstrumentAxis = hafc_RealEstateLoanMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_HotelAndMotelMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember | 433 us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue / us-gaap_FinancialInstrumentAxis = hafc_RealEstateLoanMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_HotelAndMotelMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember
Total Past Due | 6,080 us-gaap_FinancingReceivableRecordedInvestmentPastDue / us-gaap_FinancialInstrumentAxis = hafc_RealEstateLoanMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_HotelAndMotelMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember | 4,304 us-gaap_FinancingReceivableRecordedInvestmentPastDue / us-gaap_FinancialInstrumentAxis = hafc_RealEstateLoanMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_HotelAndMotelMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember
Current | 475,880 us-gaap_FinancingReceivableRecordedInvestmentCurrent / us-gaap_FinancialInstrumentAxis = hafc_RealEstateLoanMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_HotelAndMotelMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember | 450,195 us-gaap_FinancingReceivableRecordedInvestmentCurrent / us-gaap_FinancialInstrumentAxis = hafc_RealEstateLoanMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_HotelAndMotelMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember
Total Loans | 481,960 us-gaap_LoansAndLeasesReceivableGrossCarryingAmount / us-gaap_FinancialInstrumentAxis = hafc_RealEstateLoanMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_HotelAndMotelMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember | 454,499 us-gaap_LoansAndLeasesReceivableGrossCarryingAmount / us-gaap_FinancialInstrumentAxis = hafc_RealEstateLoanMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_HotelAndMotelMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember
Accruing 90 Days or More Past Due | 0 us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing / us-gaap_FinancialInstrumentAxis = hafc_RealEstateLoanMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_HotelAndMotelMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember | 0 us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing / us-gaap_FinancialInstrumentAxis = hafc_RealEstateLoanMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_HotelAndMotelMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember
Non-PCI Loans [Member] | Real estate loans [Member] | Gas station [Member] |  |
Financing Receivable, Recorded Investment, Past Due [Line Items] |  |
30-59 Days Past Due | 580 us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue / us-gaap_FinancialInstrumentAxis = hafc_RealEstateLoanMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_GasolineStationMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember | 2,991 us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue / us-gaap_FinancialInstrumentAxis = hafc_RealEstateLoanMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_GasolineStationMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember
60-89 Days Past Due | 480 us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue / us-gaap_FinancialInstrumentAxis = hafc_RealEstateLoanMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_GasolineStationMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember | 1,113 us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue / us-gaap_FinancialInstrumentAxis = hafc_RealEstateLoanMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_GasolineStationMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember
90 Days or More Past Due | 4,088 us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue / us-gaap_FinancialInstrumentAxis = hafc_RealEstateLoanMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_GasolineStationMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember | 353 us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue / us-gaap_FinancialInstrumentAxis = hafc_RealEstateLoanMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_GasolineStationMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember
Total Past Due | 5,148 us-gaap_FinancingReceivableRecordedInvestmentPastDue / us-gaap_FinancialInstrumentAxis = hafc_RealEstateLoanMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_GasolineStationMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember | 4,457 us-gaap_FinancingReceivableRecordedInvestmentPastDue / us-gaap_FinancialInstrumentAxis = hafc_RealEstateLoanMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_GasolineStationMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember
Current | 341,650 us-gaap_FinancingReceivableRecordedInvestmentCurrent / us-gaap_FinancialInstrumentAxis = hafc_RealEstateLoanMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_GasolineStationMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember | 357,783 us-gaap_FinancingReceivableRecordedInvestmentCurrent / us-gaap_FinancialInstrumentAxis = hafc_RealEstateLoanMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_GasolineStationMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember
Total Loans | 346,798 us-gaap_LoansAndLeasesReceivableGrossCarryingAmount / us-gaap_FinancialInstrumentAxis = hafc_RealEstateLoanMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_GasolineStationMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember | 362,240 us-gaap_LoansAndLeasesReceivableGrossCarryingAmount / us-gaap_FinancialInstrumentAxis = hafc_RealEstateLoanMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_GasolineStationMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember
Accruing 90 Days or More Past Due | 0 us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing / us-gaap_FinancialInstrumentAxis = hafc_RealEstateLoanMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_GasolineStationMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember | 0 us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing / us-gaap_FinancialInstrumentAxis = hafc_RealEstateLoanMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_GasolineStationMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember
Non-PCI Loans [Member] | Real estate loans [Member] | Other [Member] |  |
Financing Receivable, Recorded Investment, Past Due [Line Items] |  |
30-59 Days Past Due | 1,770 us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue / us-gaap_FinancialInstrumentAxis = hafc_RealEstateLoanMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_CommercialRealEstateOtherMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember | 1,674 us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue / us-gaap_FinancialInstrumentAxis = hafc_RealEstateLoanMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_CommercialRealEstateOtherMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember
60-89 Days Past Due | 278 us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue / us-gaap_FinancialInstrumentAxis = hafc_RealEstateLoanMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_CommercialRealEstateOtherMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember | 2,156 us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue / us-gaap_FinancialInstrumentAxis = hafc_RealEstateLoanMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_CommercialRealEstateOtherMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember
90 Days or More Past Due | 3,544 us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue / us-gaap_FinancialInstrumentAxis = hafc_RealEstateLoanMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_CommercialRealEstateOtherMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember | 1,142 us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue / us-gaap_FinancialInstrumentAxis = hafc_RealEstateLoanMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_CommercialRealEstateOtherMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember
Total Past Due | 5,592 us-gaap_FinancingReceivableRecordedInvestmentPastDue / us-gaap_FinancialInstrumentAxis = hafc_RealEstateLoanMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_CommercialRealEstateOtherMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember | 4,972 us-gaap_FinancingReceivableRecordedInvestmentPastDue / us-gaap_FinancialInstrumentAxis = hafc_RealEstateLoanMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_CommercialRealEstateOtherMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember
Current | 815,115 us-gaap_FinancingReceivableRecordedInvestmentCurrent / us-gaap_FinancialInstrumentAxis = hafc_RealEstateLoanMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_CommercialRealEstateOtherMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember | 837,154 us-gaap_FinancingReceivableRecordedInvestmentCurrent / us-gaap_FinancialInstrumentAxis = hafc_RealEstateLoanMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_CommercialRealEstateOtherMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember
Total Loans | 820,707 us-gaap_LoansAndLeasesReceivableGrossCarryingAmount / us-gaap_FinancialInstrumentAxis = hafc_RealEstateLoanMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_CommercialRealEstateOtherMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember | 842,126 us-gaap_LoansAndLeasesReceivableGrossCarryingAmount / us-gaap_FinancialInstrumentAxis = hafc_RealEstateLoanMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_CommercialRealEstateOtherMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember
Accruing 90 Days or More Past Due | 0 us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing / us-gaap_FinancialInstrumentAxis = hafc_RealEstateLoanMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_CommercialRealEstateOtherMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember | 0 us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing / us-gaap_FinancialInstrumentAxis = hafc_RealEstateLoanMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_CommercialRealEstateOtherMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember
Non-PCI Loans [Member] | Real estate loans [Member] | Construction [Member] |  |
Financing Receivable, Recorded Investment, Past Due [Line Items] |  |
Current | 15,123 us-gaap_FinancingReceivableRecordedInvestmentCurrent / us-gaap_FinancialInstrumentAxis = hafc_RealEstateLoanMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_CommercialRealEstateConstructionMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember | 9,517 us-gaap_FinancingReceivableRecordedInvestmentCurrent / us-gaap_FinancialInstrumentAxis = hafc_RealEstateLoanMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_CommercialRealEstateConstructionMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember
Total Loans | 15,123 us-gaap_LoansAndLeasesReceivableGrossCarryingAmount / us-gaap_FinancialInstrumentAxis = hafc_RealEstateLoanMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_CommercialRealEstateConstructionMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember | 9,517 us-gaap_LoansAndLeasesReceivableGrossCarryingAmount / us-gaap_FinancialInstrumentAxis = hafc_RealEstateLoanMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_CommercialRealEstateConstructionMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember
Accruing 90 Days or More Past Due | 0 us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing / us-gaap_FinancialInstrumentAxis = hafc_RealEstateLoanMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_CommercialRealEstateConstructionMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember | 0 us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing / us-gaap_FinancialInstrumentAxis = hafc_RealEstateLoanMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_CommercialRealEstateConstructionMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember
Non-PCI Loans [Member] | Real estate loans [Member] | Residential property [Member] |  |
Financing Receivable, Recorded Investment, Past Due [Line Items] |  |
30-59 Days Past Due |  | 167 us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue / us-gaap_FinancialInstrumentAxis = hafc_RealEstateLoanMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_ResidentialPropertyRealEstateLoanMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember
90 Days or More Past Due | 547 us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue / us-gaap_FinancialInstrumentAxis = hafc_RealEstateLoanMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_ResidentialPropertyRealEstateLoanMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember | 687 us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue / us-gaap_FinancialInstrumentAxis = hafc_RealEstateLoanMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_ResidentialPropertyRealEstateLoanMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember
Total Past Due | 547 us-gaap_FinancingReceivableRecordedInvestmentPastDue / us-gaap_FinancialInstrumentAxis = hafc_RealEstateLoanMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_ResidentialPropertyRealEstateLoanMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember | 854 us-gaap_FinancingReceivableRecordedInvestmentPastDue / us-gaap_FinancialInstrumentAxis = hafc_RealEstateLoanMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_ResidentialPropertyRealEstateLoanMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember
Current | 154,250 us-gaap_FinancingReceivableRecordedInvestmentCurrent / us-gaap_FinancialInstrumentAxis = hafc_RealEstateLoanMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_ResidentialPropertyRealEstateLoanMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember | 120,078 us-gaap_FinancingReceivableRecordedInvestmentCurrent / us-gaap_FinancialInstrumentAxis = hafc_RealEstateLoanMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_ResidentialPropertyRealEstateLoanMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember
Total Loans | 154,797 us-gaap_LoansAndLeasesReceivableGrossCarryingAmount / us-gaap_FinancialInstrumentAxis = hafc_RealEstateLoanMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_ResidentialPropertyRealEstateLoanMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember | 120,932 us-gaap_LoansAndLeasesReceivableGrossCarryingAmount / us-gaap_FinancialInstrumentAxis = hafc_RealEstateLoanMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_ResidentialPropertyRealEstateLoanMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember
Accruing 90 Days or More Past Due | 0 us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing / us-gaap_FinancialInstrumentAxis = hafc_RealEstateLoanMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_ResidentialPropertyRealEstateLoanMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember | 0 us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing / us-gaap_FinancialInstrumentAxis = hafc_RealEstateLoanMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_ResidentialPropertyRealEstateLoanMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember
Non-PCI Loans [Member] | Commercial and industrial loans [Member] |  |
Financing Receivable, Recorded Investment, Past Due [Line Items] |  |
Total Loans | 250,351 us-gaap_LoansAndLeasesReceivableGrossCarryingAmount / us-gaap_FinancialInstrumentAxis = hafc_CommercialAndIndustrialLoansMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember | 248,862 us-gaap_LoansAndLeasesReceivableGrossCarryingAmount / us-gaap_FinancialInstrumentAxis = hafc_CommercialAndIndustrialLoansMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember
Non-PCI Loans [Member] | Commercial and industrial loans [Member] | Commercial term [Member] |  |
Financing Receivable, Recorded Investment, Past Due [Line Items] |  |
30-59 Days Past Due | (30)us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue / us-gaap_FinancialInstrumentAxis = hafc_CommercialAndIndustrialLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_CommercialTermLoansMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember | 1,107 us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue / us-gaap_FinancialInstrumentAxis = hafc_CommercialAndIndustrialLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_CommercialTermLoansMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember
60-89 Days Past Due | 87 us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue / us-gaap_FinancialInstrumentAxis = hafc_CommercialAndIndustrialLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_CommercialTermLoansMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember | 490 us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue / us-gaap_FinancialInstrumentAxis = hafc_CommercialAndIndustrialLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_CommercialTermLoansMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember
90 Days or More Past Due | 3,062 us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue / us-gaap_FinancialInstrumentAxis = hafc_CommercialAndIndustrialLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_CommercialTermLoansMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember | 2,847 us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue / us-gaap_FinancialInstrumentAxis = hafc_CommercialAndIndustrialLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_CommercialTermLoansMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember
Total Past Due | 3,119 us-gaap_FinancingReceivableRecordedInvestmentPastDue / us-gaap_FinancialInstrumentAxis = hafc_CommercialAndIndustrialLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_CommercialTermLoansMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember | 4,444 us-gaap_FinancingReceivableRecordedInvestmentPastDue / us-gaap_FinancialInstrumentAxis = hafc_CommercialAndIndustrialLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_CommercialTermLoansMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember
Current | 113,133 us-gaap_FinancingReceivableRecordedInvestmentCurrent / us-gaap_FinancialInstrumentAxis = hafc_CommercialAndIndustrialLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_CommercialTermLoansMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember | 111,629 us-gaap_FinancingReceivableRecordedInvestmentCurrent / us-gaap_FinancialInstrumentAxis = hafc_CommercialAndIndustrialLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_CommercialTermLoansMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember
Total Loans | 116,252 us-gaap_LoansAndLeasesReceivableGrossCarryingAmount / us-gaap_FinancialInstrumentAxis = hafc_CommercialAndIndustrialLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_CommercialTermLoansMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember | 116,073 us-gaap_LoansAndLeasesReceivableGrossCarryingAmount / us-gaap_FinancialInstrumentAxis = hafc_CommercialAndIndustrialLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_CommercialTermLoansMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember
Accruing 90 Days or More Past Due | 0 us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing / us-gaap_FinancialInstrumentAxis = hafc_CommercialAndIndustrialLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_CommercialTermLoansMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember | 0 us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing / us-gaap_FinancialInstrumentAxis = hafc_CommercialAndIndustrialLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_CommercialTermLoansMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember
Non-PCI Loans [Member] | Commercial and industrial loans [Member] | Commercial lines of credit [Member] |  |
Financing Receivable, Recorded Investment, Past Due [Line Items] |  |
30-59 Days Past Due | 1,407 us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue / us-gaap_FinancialInstrumentAxis = hafc_CommercialAndIndustrialLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_CommercialLinesOfCreditMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember |
90 Days or More Past Due | 819 us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue / us-gaap_FinancialInstrumentAxis = hafc_CommercialAndIndustrialLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_CommercialLinesOfCreditMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember | 227 us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue / us-gaap_FinancialInstrumentAxis = hafc_CommercialAndIndustrialLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_CommercialLinesOfCreditMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember
Total Past Due | 2,226 us-gaap_FinancingReceivableRecordedInvestmentPastDue / us-gaap_FinancialInstrumentAxis = hafc_CommercialAndIndustrialLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_CommercialLinesOfCreditMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember | 227 us-gaap_FinancingReceivableRecordedInvestmentPastDue / us-gaap_FinancialInstrumentAxis = hafc_CommercialAndIndustrialLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_CommercialLinesOfCreditMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember
Current | 95,535 us-gaap_FinancingReceivableRecordedInvestmentCurrent / us-gaap_FinancialInstrumentAxis = hafc_CommercialAndIndustrialLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_CommercialLinesOfCreditMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember | 93,633 us-gaap_FinancingReceivableRecordedInvestmentCurrent / us-gaap_FinancialInstrumentAxis = hafc_CommercialAndIndustrialLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_CommercialLinesOfCreditMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember
Total Loans | 97,761 us-gaap_LoansAndLeasesReceivableGrossCarryingAmount / us-gaap_FinancialInstrumentAxis = hafc_CommercialAndIndustrialLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_CommercialLinesOfCreditMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember | 93,860 us-gaap_LoansAndLeasesReceivableGrossCarryingAmount / us-gaap_FinancialInstrumentAxis = hafc_CommercialAndIndustrialLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_CommercialLinesOfCreditMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember
Accruing 90 Days or More Past Due | 0 us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing / us-gaap_FinancialInstrumentAxis = hafc_CommercialAndIndustrialLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_CommercialLinesOfCreditMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember | 0 us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing / us-gaap_FinancialInstrumentAxis = hafc_CommercialAndIndustrialLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_CommercialLinesOfCreditMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember
Non-PCI Loans [Member] | Commercial and industrial loans [Member] | International loans [Member] |  |
Financing Receivable, Recorded Investment, Past Due [Line Items] |  |
30-59 Days Past Due | 131 us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue / us-gaap_FinancialInstrumentAxis = hafc_CommercialAndIndustrialLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_InternationalLoansMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember | 200 us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue / us-gaap_FinancialInstrumentAxis = hafc_CommercialAndIndustrialLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_InternationalLoansMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember
Total Past Due | 131 us-gaap_FinancingReceivableRecordedInvestmentPastDue / us-gaap_FinancialInstrumentAxis = hafc_CommercialAndIndustrialLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_InternationalLoansMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember | 200 us-gaap_FinancingReceivableRecordedInvestmentPastDue / us-gaap_FinancialInstrumentAxis = hafc_CommercialAndIndustrialLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_InternationalLoansMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember
Current | 36,207 us-gaap_FinancingReceivableRecordedInvestmentCurrent / us-gaap_FinancialInstrumentAxis = hafc_CommercialAndIndustrialLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_InternationalLoansMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember | 38,729 us-gaap_FinancingReceivableRecordedInvestmentCurrent / us-gaap_FinancialInstrumentAxis = hafc_CommercialAndIndustrialLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_InternationalLoansMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember
Total Loans | 36,338 us-gaap_LoansAndLeasesReceivableGrossCarryingAmount / us-gaap_FinancialInstrumentAxis = hafc_CommercialAndIndustrialLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_InternationalLoansMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember | 38,929 us-gaap_LoansAndLeasesReceivableGrossCarryingAmount / us-gaap_FinancialInstrumentAxis = hafc_CommercialAndIndustrialLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_InternationalLoansMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember
Accruing 90 Days or More Past Due | 0 us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing / us-gaap_FinancialInstrumentAxis = hafc_CommercialAndIndustrialLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_InternationalLoansMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember | 0 us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing / us-gaap_FinancialInstrumentAxis = hafc_CommercialAndIndustrialLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = hafc_InternationalLoansMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember
Non-PCI Loans [Member] | Consumer loans [Member] |  |
Financing Receivable, Recorded Investment, Past Due [Line Items] |  |
30-59 Days Past Due |  | 489 us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue / us-gaap_FinancialInstrumentAxis = us-gaap_ConsumerLoanMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember
60-89 Days Past Due | 239 us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue / us-gaap_FinancialInstrumentAxis = us-gaap_ConsumerLoanMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember | 349 us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue / us-gaap_FinancialInstrumentAxis = us-gaap_ConsumerLoanMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember
90 Days or More Past Due | 348 us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue / us-gaap_FinancialInstrumentAxis = us-gaap_ConsumerLoanMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember | 248 us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue / us-gaap_FinancialInstrumentAxis = us-gaap_ConsumerLoanMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember
Total Past Due | 587 us-gaap_FinancingReceivableRecordedInvestmentPastDue / us-gaap_FinancialInstrumentAxis = us-gaap_ConsumerLoanMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember | 1,086 us-gaap_FinancingReceivableRecordedInvestmentPastDue / us-gaap_FinancialInstrumentAxis = us-gaap_ConsumerLoanMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember
Current | 25,355 us-gaap_FinancingReceivableRecordedInvestmentCurrent / us-gaap_FinancialInstrumentAxis = us-gaap_ConsumerLoanMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember | 26,426 us-gaap_FinancingReceivableRecordedInvestmentCurrent / us-gaap_FinancialInstrumentAxis = us-gaap_ConsumerLoanMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember
Total Loans | 25,942 us-gaap_LoansAndLeasesReceivableGrossCarryingAmount / us-gaap_FinancialInstrumentAxis = us-gaap_ConsumerLoanMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember | 27,512 us-gaap_LoansAndLeasesReceivableGrossCarryingAmount / us-gaap_FinancialInstrumentAxis = us-gaap_ConsumerLoanMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember
Accruing 90 Days or More Past Due | $ 0 us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing / us-gaap_FinancialInstrumentAxis = us-gaap_ConsumerLoanMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember | $ 0 us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing / us-gaap_FinancialInstrumentAxis = us-gaap_ConsumerLoanMember / hafc_ImpairedFinancialReceivableTypeAxis = hafc_NonPurchasedCreditImpairedLoansMember

X
- Definition Financing receivables that are less than 60 days past due but more than 29 days past due. + References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 310 -SubTopic 10 -Section 50 -Paragraph 7A -URI http://asc.fasb.org/extlink&oid=35738203&loc=SL6953401-111524 + Details
Name: | us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- Definition Financing receivables that are less than 90 days past due but more than 59 days past due. + References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 310 -SubTopic 10 -Section 50 -Paragraph 7A -URI http://asc.fasb.org/extlink&oid=35738203&loc=SL6953401-111524 + Details
Name: | us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- Definition Recorded investment in financing receivables that are 90 days or more past due and still accruing. + References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 310 -SubTopic 10 -Section 50 -Paragraph 7 -Subparagraph (d) -URI http://asc.fasb.org/extlink&oid=35738203&loc=d3e5111-111524 + Details
Name: | us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- Definition Financing receivables that are current. + References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 310 -SubTopic 10 -Section 50 -Paragraph 7A -URI http://asc.fasb.org/extlink&oid=35738203&loc=SL6953401-111524 + Details
Name: | us-gaap_FinancingReceivableRecordedInvestmentCurrent
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- Definition Financing receivables that are equal to or greater than 90 days past due. + References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 310 -SubTopic 10 -Section 50 -Paragraph 7A -URI http://asc.fasb.org/extlink&oid=35738203&loc=SL6953401-111524 + Details
Name: | us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- Definition Recorded Investment in financing receivables that are past due at the balance sheet date. + References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 310 -SubTopic 10 -Section 50 -Paragraph 7A -URI http://asc.fasb.org/extlink&oid=35738203&loc=SL6953401-111524 + Details
Name: | us-gaap_FinancingReceivableRecordedInvestmentPastDue
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- Details
Name: | us-gaap_FinancingReceivableRecordedInvestmentPastDueLineItems
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Amount before allowance of loans and leases held in portfolio, including but not limited to, commercial and consumer loans. Includes deferred interest and fees, undisbursed portion of loan balance, unamortized costs and premiums and discounts from face amounts. Excludes loans and leases covered under loss sharing agreements. + References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 310 -SubTopic 10 -Section 45 -Paragraph 2 -URI http://asc.fasb.org/extlink&oid=28367877&loc=d3e4428-111522 + Details
Name: | us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- Details
Name: | hafc_ImpairedFinancialReceivableTypeAxis=hafc_NonPurchasedCreditImpairedLoansMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_FinancialInstrumentAxis=hafc_CommercialAndIndustrialLoansMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_FinancialInstrumentAxis=hafc_RealEstateLoanMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_FinancialInstrumentAxis=us-gaap_ConsumerLoanMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |