XML 375 R144.htm IDEA: XBRL DOCUMENT v2.4.1.9
Average recorded investment and interest income recognized on impaired loans (Detail) (USD $)
In Thousands, unless otherwise specified
12 Months Ended
Dec. 31, 2014
Dec. 31, 2013
Financing Receivable, Impaired [Line Items]    
Average Recorded Investment $ 940,877us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment $ 1,098,413us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
Impaired Financing Receivable Interest Income Accrual Method 35,540us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod 38,964us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
Covered Under Loss Sharing Agreements With F D I C [Member]    
Financing Receivable, Impaired [Line Items]    
Average Recorded Investment 8,763us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
42,791us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
Impaired Financing Receivable Interest Income Accrual Method 469us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
1,245us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
Commercial Multi Family [Member] | Non Covered Loans [Member]    
Financing Receivable, Impaired [Line Items]    
Average Recorded Investment 4,196us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_CommercialMultiFamilyMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
15,849us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_CommercialMultiFamilyMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
Impaired Financing Receivable Interest Income Accrual Method 0us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_CommercialMultiFamilyMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
379us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_CommercialMultiFamilyMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
Commercial Real Estate Non Owner Occupied [Member] | Non Covered Loans [Member]    
Financing Receivable, Impaired [Line Items]    
Average Recorded Investment 79,418us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_CommercialRealEstateNonOwnerOccupiedMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
95,461us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_CommercialRealEstateNonOwnerOccupiedMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
Impaired Financing Receivable Interest Income Accrual Method 2,719us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_CommercialRealEstateNonOwnerOccupiedMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
2,448us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_CommercialRealEstateNonOwnerOccupiedMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
Commercial Real Estate Owner Occupied [Member] | Non Covered Loans [Member]    
Financing Receivable, Impaired [Line Items]    
Average Recorded Investment 120,671us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_CommercialRealEstateOwnerOccupiedMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
144,115us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_CommercialRealEstateOwnerOccupiedMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
Impaired Financing Receivable Interest Income Accrual Method 3,994us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_CommercialRealEstateOwnerOccupiedMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
3,106us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_CommercialRealEstateOwnerOccupiedMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
Commercial And Industrial Loans [Member] | Non Covered Loans [Member]    
Financing Receivable, Impaired [Line Items]    
Average Recorded Investment 131,895us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_CommercialAndIndustrialLoansMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
104,736us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_CommercialAndIndustrialLoansMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
Impaired Financing Receivable Interest Income Accrual Method 7,852us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_CommercialAndIndustrialLoansMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
4,221us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_CommercialAndIndustrialLoansMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
Commercial Real Estate Construction Financing Receivable Member | Non Covered Loans [Member]    
Financing Receivable, Impaired [Line Items]    
Average Recorded Investment 19,551us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
37,312us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
Impaired Financing Receivable Interest Income Accrual Method 0us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
0us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
Mortgages [Member] | Non Covered Loans [Member]    
Financing Receivable, Impaired [Line Items]    
Average Recorded Investment 448,874us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
514,671us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
Impaired Financing Receivable Interest Income Accrual Method 20,506us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
27,565us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
Legacy [Member] | Non Covered Loans [Member]    
Financing Receivable, Impaired [Line Items]    
Average Recorded Investment 2,920us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
12,957us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
Impaired Financing Receivable Interest Income Accrual Method 0us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
0us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
Finance Leases Portfolio Segment Member | Non Covered Loans [Member]    
Financing Receivable, Impaired [Line Items]    
Average Recorded Investment 2,747us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
3,822us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
Impaired Financing Receivable Interest Income Accrual Method 0us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
0us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
Consumer Loan [Member] | Consumer Credit Card Financing Receivable [Member] | Non Covered Loans [Member]    
Financing Receivable, Impaired [Line Items]    
Average Recorded Investment 42,345us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerLoanMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerCreditCardFinancingReceivableMember
40,044us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerLoanMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerCreditCardFinancingReceivableMember
Impaired Financing Receivable Interest Income Accrual Method 0us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerLoanMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerCreditCardFinancingReceivableMember
0us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerLoanMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerCreditCardFinancingReceivableMember
Consumer Loan [Member] | Home Equity Line of Credit [Member] | Non Covered Loans [Member]    
Financing Receivable, Impaired [Line Items]    
Average Recorded Investment 1,768us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerLoanMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_HomeEquityMember
199us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerLoanMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_HomeEquityMember
Impaired Financing Receivable Interest Income Accrual Method 0us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerLoanMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_HomeEquityMember
0us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerLoanMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_HomeEquityMember
Consumer Loan [Member] | Personal [Member] | Non Covered Loans [Member]    
Financing Receivable, Impaired [Line Items]    
Average Recorded Investment 74,593us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerLoanMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bpop_PersonalMember
82,687us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerLoanMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bpop_PersonalMember
Impaired Financing Receivable Interest Income Accrual Method 0us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerLoanMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bpop_PersonalMember
0us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerLoanMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bpop_PersonalMember
Consumer Loan [Member] | Consumer Loans Auto Financing Receivable [Member] | Non Covered Loans [Member]    
Financing Receivable, Impaired [Line Items]    
Average Recorded Investment 1,936us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerLoanMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerLoansAutoFinancingReceivableMember
1,092us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerLoanMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerLoansAutoFinancingReceivableMember
Impaired Financing Receivable Interest Income Accrual Method 0us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerLoanMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerLoansAutoFinancingReceivableMember
0us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerLoanMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerLoansAutoFinancingReceivableMember
Consumer Loan [Member] | Consumer Other Financing Receivable Member | Non Covered Loans [Member]    
Financing Receivable, Impaired [Line Items]    
Average Recorded Investment 1,200us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerLoanMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerOtherFinancingReceivableMember
2,677us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerLoanMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerOtherFinancingReceivableMember
Impaired Financing Receivable Interest Income Accrual Method 0us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerLoanMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerOtherFinancingReceivableMember
0us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerLoanMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerOtherFinancingReceivableMember
PUERTO RICO    
Financing Receivable, Impaired [Line Items]    
Average Recorded Investment 882,212us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_StatementGeographicalAxis
= country_PR
958,417us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_StatementGeographicalAxis
= country_PR
Impaired Financing Receivable Interest Income Accrual Method 34,353us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_StatementGeographicalAxis
= country_PR
36,501us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_StatementGeographicalAxis
= country_PR
PUERTO RICO | Covered Under Loss Sharing Agreements With F D I C [Member]    
Financing Receivable, Impaired [Line Items]    
Average Recorded Investment 8,763us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
42,791us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
Impaired Financing Receivable Interest Income Accrual Method 469us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
1,245us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
PUERTO RICO | Commercial Multi Family [Member] | Non Covered Loans [Member]    
Financing Receivable, Impaired [Line Items]    
Average Recorded Investment 1,539us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_CommercialMultiFamilyMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_StatementGeographicalAxis
= country_PR
8,356us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_CommercialMultiFamilyMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_StatementGeographicalAxis
= country_PR
Impaired Financing Receivable Interest Income Accrual Method 0us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_CommercialMultiFamilyMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_StatementGeographicalAxis
= country_PR
259us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_CommercialMultiFamilyMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_StatementGeographicalAxis
= country_PR
PUERTO RICO | Commercial Real Estate Non Owner Occupied [Member] | Non Covered Loans [Member]    
Financing Receivable, Impaired [Line Items]    
Average Recorded Investment 70,154us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_CommercialRealEstateNonOwnerOccupiedMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_StatementGeographicalAxis
= country_PR
58,773us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_CommercialRealEstateNonOwnerOccupiedMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_StatementGeographicalAxis
= country_PR
Impaired Financing Receivable Interest Income Accrual Method 2,719us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_CommercialRealEstateNonOwnerOccupiedMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_StatementGeographicalAxis
= country_PR
2,225us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_CommercialRealEstateNonOwnerOccupiedMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_StatementGeographicalAxis
= country_PR
PUERTO RICO | Commercial Real Estate Owner Occupied [Member] | Non Covered Loans [Member]    
Financing Receivable, Impaired [Line Items]    
Average Recorded Investment 114,893us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_CommercialRealEstateOwnerOccupiedMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_StatementGeographicalAxis
= country_PR
125,091us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_CommercialRealEstateOwnerOccupiedMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_StatementGeographicalAxis
= country_PR
Impaired Financing Receivable Interest Income Accrual Method 3,994us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_CommercialRealEstateOwnerOccupiedMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_StatementGeographicalAxis
= country_PR
2,956us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_CommercialRealEstateOwnerOccupiedMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_StatementGeographicalAxis
= country_PR
PUERTO RICO | Commercial And Industrial Loans [Member] | Non Covered Loans [Member]    
Financing Receivable, Impaired [Line Items]    
Average Recorded Investment 130,940us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_CommercialAndIndustrialLoansMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_StatementGeographicalAxis
= country_PR
102,408us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_CommercialAndIndustrialLoansMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_StatementGeographicalAxis
= country_PR
Impaired Financing Receivable Interest Income Accrual Method 7,852us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_CommercialAndIndustrialLoansMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_StatementGeographicalAxis
= country_PR
4,206us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_CommercialAndIndustrialLoansMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_StatementGeographicalAxis
= country_PR
PUERTO RICO | Commercial Real Estate Construction Financing Receivable Member | Non Covered Loans [Member]    
Financing Receivable, Impaired [Line Items]    
Average Recorded Investment 18,418us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_StatementGeographicalAxis
= country_PR
31,491us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_StatementGeographicalAxis
= country_PR
Impaired Financing Receivable Interest Income Accrual Method 0us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_StatementGeographicalAxis
= country_PR
0us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_StatementGeographicalAxis
= country_PR
PUERTO RICO | Mortgages [Member] | Non Covered Loans [Member]    
Financing Receivable, Impaired [Line Items]    
Average Recorded Investment 415,188us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_StatementGeographicalAxis
= country_PR
461,534us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_StatementGeographicalAxis
= country_PR
Impaired Financing Receivable Interest Income Accrual Method 19,319us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_StatementGeographicalAxis
= country_PR
25,610us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_StatementGeographicalAxis
= country_PR
PUERTO RICO | Legacy [Member] | Non Covered Loans [Member]    
Financing Receivable, Impaired [Line Items]    
Average Recorded Investment 0us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_StatementGeographicalAxis
= country_PR
0us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_StatementGeographicalAxis
= country_PR
Impaired Financing Receivable Interest Income Accrual Method 0us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_StatementGeographicalAxis
= country_PR
0us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_StatementGeographicalAxis
= country_PR
PUERTO RICO | Finance Leases Portfolio Segment Member | Non Covered Loans [Member]    
Financing Receivable, Impaired [Line Items]    
Average Recorded Investment 2,747us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_StatementGeographicalAxis
= country_PR
3,822us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_StatementGeographicalAxis
= country_PR
Impaired Financing Receivable Interest Income Accrual Method 0us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_StatementGeographicalAxis
= country_PR
0us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_StatementGeographicalAxis
= country_PR
PUERTO RICO | Consumer Loan [Member] | Consumer Credit Card Financing Receivable [Member] | Non Covered Loans [Member]    
Financing Receivable, Impaired [Line Items]    
Average Recorded Investment 42,345us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerLoanMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerCreditCardFinancingReceivableMember
/ us-gaap_StatementGeographicalAxis
= country_PR
40,044us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerLoanMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerCreditCardFinancingReceivableMember
/ us-gaap_StatementGeographicalAxis
= country_PR
Impaired Financing Receivable Interest Income Accrual Method 0us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerLoanMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerCreditCardFinancingReceivableMember
/ us-gaap_StatementGeographicalAxis
= country_PR
0us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerLoanMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerCreditCardFinancingReceivableMember
/ us-gaap_StatementGeographicalAxis
= country_PR
PUERTO RICO | Consumer Loan [Member] | Home Equity Line of Credit [Member] | Non Covered Loans [Member]    
Financing Receivable, Impaired [Line Items]    
Average Recorded Investment 0us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerLoanMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_HomeEquityMember
/ us-gaap_StatementGeographicalAxis
= country_PR
0us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerLoanMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_HomeEquityMember
/ us-gaap_StatementGeographicalAxis
= country_PR
Impaired Financing Receivable Interest Income Accrual Method 0us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerLoanMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_HomeEquityMember
/ us-gaap_StatementGeographicalAxis
= country_PR
0us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerLoanMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_HomeEquityMember
/ us-gaap_StatementGeographicalAxis
= country_PR
PUERTO RICO | Consumer Loan [Member] | Personal [Member] | Non Covered Loans [Member]    
Financing Receivable, Impaired [Line Items]    
Average Recorded Investment 74,593us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerLoanMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bpop_PersonalMember
/ us-gaap_StatementGeographicalAxis
= country_PR
82,687us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerLoanMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bpop_PersonalMember
/ us-gaap_StatementGeographicalAxis
= country_PR
Impaired Financing Receivable Interest Income Accrual Method 0us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerLoanMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bpop_PersonalMember
/ us-gaap_StatementGeographicalAxis
= country_PR
0us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerLoanMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bpop_PersonalMember
/ us-gaap_StatementGeographicalAxis
= country_PR
PUERTO RICO | Consumer Loan [Member] | Consumer Loans Auto Financing Receivable [Member] | Non Covered Loans [Member]    
Financing Receivable, Impaired [Line Items]    
Average Recorded Investment 1,884us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerLoanMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerLoansAutoFinancingReceivableMember
/ us-gaap_StatementGeographicalAxis
= country_PR
1,003us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerLoanMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerLoansAutoFinancingReceivableMember
/ us-gaap_StatementGeographicalAxis
= country_PR
Impaired Financing Receivable Interest Income Accrual Method 0us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerLoanMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerLoansAutoFinancingReceivableMember
/ us-gaap_StatementGeographicalAxis
= country_PR
0us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerLoanMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerLoansAutoFinancingReceivableMember
/ us-gaap_StatementGeographicalAxis
= country_PR
PUERTO RICO | Consumer Loan [Member] | Consumer Other Financing Receivable Member | Non Covered Loans [Member]    
Financing Receivable, Impaired [Line Items]    
Average Recorded Investment 748us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerLoanMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerOtherFinancingReceivableMember
/ us-gaap_StatementGeographicalAxis
= country_PR
417us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerLoanMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerOtherFinancingReceivableMember
/ us-gaap_StatementGeographicalAxis
= country_PR
Impaired Financing Receivable Interest Income Accrual Method 0us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerLoanMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerOtherFinancingReceivableMember
/ us-gaap_StatementGeographicalAxis
= country_PR
0us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerLoanMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerOtherFinancingReceivableMember
/ us-gaap_StatementGeographicalAxis
= country_PR
UNITED STATES    
Financing Receivable, Impaired [Line Items]    
Average Recorded Investment 58,665us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_StatementGeographicalAxis
= country_US
[1] 139,996us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_StatementGeographicalAxis
= country_US
Impaired Financing Receivable Interest Income Accrual Method 1,187us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_StatementGeographicalAxis
= country_US
[1] 2,463us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_StatementGeographicalAxis
= country_US
UNITED STATES | Covered Under Loss Sharing Agreements With F D I C [Member]    
Financing Receivable, Impaired [Line Items]    
Average Recorded Investment 0us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
[1] 0us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
Impaired Financing Receivable Interest Income Accrual Method 0us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
[1] 0us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
UNITED STATES | Commercial Multi Family [Member] | Non Covered Loans [Member]    
Financing Receivable, Impaired [Line Items]    
Average Recorded Investment 2,657us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_CommercialMultiFamilyMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_StatementGeographicalAxis
= country_US
[1] 7,493us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_CommercialMultiFamilyMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_StatementGeographicalAxis
= country_US
Impaired Financing Receivable Interest Income Accrual Method 0us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_CommercialMultiFamilyMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_StatementGeographicalAxis
= country_US
[1] 120us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_CommercialMultiFamilyMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_StatementGeographicalAxis
= country_US
UNITED STATES | Commercial Real Estate Non Owner Occupied [Member] | Non Covered Loans [Member]    
Financing Receivable, Impaired [Line Items]    
Average Recorded Investment 9,264us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_CommercialRealEstateNonOwnerOccupiedMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_StatementGeographicalAxis
= country_US
[1] 36,688us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_CommercialRealEstateNonOwnerOccupiedMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_StatementGeographicalAxis
= country_US
Impaired Financing Receivable Interest Income Accrual Method 0us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_CommercialRealEstateNonOwnerOccupiedMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_StatementGeographicalAxis
= country_US
[1] 223us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_CommercialRealEstateNonOwnerOccupiedMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_StatementGeographicalAxis
= country_US
UNITED STATES | Commercial Real Estate Owner Occupied [Member] | Non Covered Loans [Member]    
Financing Receivable, Impaired [Line Items]    
Average Recorded Investment 5,778us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_CommercialRealEstateOwnerOccupiedMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_StatementGeographicalAxis
= country_US
[1] 19,024us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_CommercialRealEstateOwnerOccupiedMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_StatementGeographicalAxis
= country_US
Impaired Financing Receivable Interest Income Accrual Method 0us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_CommercialRealEstateOwnerOccupiedMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_StatementGeographicalAxis
= country_US
[1] 150us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_CommercialRealEstateOwnerOccupiedMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_StatementGeographicalAxis
= country_US
UNITED STATES | Commercial And Industrial Loans [Member] | Non Covered Loans [Member]    
Financing Receivable, Impaired [Line Items]    
Average Recorded Investment 955us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_CommercialAndIndustrialLoansMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_StatementGeographicalAxis
= country_US
[1] 2,328us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_CommercialAndIndustrialLoansMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_StatementGeographicalAxis
= country_US
Impaired Financing Receivable Interest Income Accrual Method 0us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_CommercialAndIndustrialLoansMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_StatementGeographicalAxis
= country_US
[1] 15us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_CommercialAndIndustrialLoansMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_StatementGeographicalAxis
= country_US
UNITED STATES | Commercial Real Estate Construction Financing Receivable Member | Non Covered Loans [Member]    
Financing Receivable, Impaired [Line Items]    
Average Recorded Investment 1,133us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_StatementGeographicalAxis
= country_US
[1] 5,821us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_StatementGeographicalAxis
= country_US
Impaired Financing Receivable Interest Income Accrual Method 0us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_StatementGeographicalAxis
= country_US
[1] 0us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_StatementGeographicalAxis
= country_US
UNITED STATES | Mortgages [Member] | Non Covered Loans [Member]    
Financing Receivable, Impaired [Line Items]    
Average Recorded Investment 33,686us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_StatementGeographicalAxis
= country_US
[1] 53,137us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_StatementGeographicalAxis
= country_US
Impaired Financing Receivable Interest Income Accrual Method 1,187us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_StatementGeographicalAxis
= country_US
[1] 1,955us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_StatementGeographicalAxis
= country_US
UNITED STATES | Legacy [Member] | Non Covered Loans [Member]    
Financing Receivable, Impaired [Line Items]    
Average Recorded Investment 2,920us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_StatementGeographicalAxis
= country_US
[1] 12,957us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_StatementGeographicalAxis
= country_US
Impaired Financing Receivable Interest Income Accrual Method 0us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_StatementGeographicalAxis
= country_US
[1] 0us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_StatementGeographicalAxis
= country_US
UNITED STATES | Finance Leases Portfolio Segment Member | Non Covered Loans [Member]    
Financing Receivable, Impaired [Line Items]    
Average Recorded Investment 0us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_StatementGeographicalAxis
= country_US
[1] 0us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_StatementGeographicalAxis
= country_US
Impaired Financing Receivable Interest Income Accrual Method 0us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_StatementGeographicalAxis
= country_US
[1] 0us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_StatementGeographicalAxis
= country_US
UNITED STATES | Consumer Loan [Member] | Consumer Credit Card Financing Receivable [Member] | Non Covered Loans [Member]    
Financing Receivable, Impaired [Line Items]    
Average Recorded Investment 0us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerLoanMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerCreditCardFinancingReceivableMember
/ us-gaap_StatementGeographicalAxis
= country_US
[1] 0us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerLoanMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerCreditCardFinancingReceivableMember
/ us-gaap_StatementGeographicalAxis
= country_US
Impaired Financing Receivable Interest Income Accrual Method 0us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerLoanMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerCreditCardFinancingReceivableMember
/ us-gaap_StatementGeographicalAxis
= country_US
[1] 0us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerLoanMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerCreditCardFinancingReceivableMember
/ us-gaap_StatementGeographicalAxis
= country_US
UNITED STATES | Consumer Loan [Member] | Home Equity Line of Credit [Member] | Non Covered Loans [Member]    
Financing Receivable, Impaired [Line Items]    
Average Recorded Investment 1,768us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerLoanMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_HomeEquityMember
/ us-gaap_StatementGeographicalAxis
= country_US
[1] 199us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerLoanMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_HomeEquityMember
/ us-gaap_StatementGeographicalAxis
= country_US
Impaired Financing Receivable Interest Income Accrual Method 0us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerLoanMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_HomeEquityMember
/ us-gaap_StatementGeographicalAxis
= country_US
[1] 0us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerLoanMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_HomeEquityMember
/ us-gaap_StatementGeographicalAxis
= country_US
UNITED STATES | Consumer Loan [Member] | Personal [Member] | Non Covered Loans [Member]    
Financing Receivable, Impaired [Line Items]    
Average Recorded Investment 0us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerLoanMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bpop_PersonalMember
/ us-gaap_StatementGeographicalAxis
= country_US
[1] 0us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerLoanMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bpop_PersonalMember
/ us-gaap_StatementGeographicalAxis
= country_US
Impaired Financing Receivable Interest Income Accrual Method 0us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerLoanMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bpop_PersonalMember
/ us-gaap_StatementGeographicalAxis
= country_US
[1] 0us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerLoanMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= bpop_PersonalMember
/ us-gaap_StatementGeographicalAxis
= country_US
UNITED STATES | Consumer Loan [Member] | Consumer Loans Auto Financing Receivable [Member] | Non Covered Loans [Member]    
Financing Receivable, Impaired [Line Items]    
Average Recorded Investment 52us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerLoanMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerLoansAutoFinancingReceivableMember
/ us-gaap_StatementGeographicalAxis
= country_US
[1] 89us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerLoanMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerLoansAutoFinancingReceivableMember
/ us-gaap_StatementGeographicalAxis
= country_US
Impaired Financing Receivable Interest Income Accrual Method 0us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerLoanMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerLoansAutoFinancingReceivableMember
/ us-gaap_StatementGeographicalAxis
= country_US
[1] 0us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerLoanMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerLoansAutoFinancingReceivableMember
/ us-gaap_StatementGeographicalAxis
= country_US
UNITED STATES | Consumer Loan [Member] | Consumer Other Financing Receivable Member | Non Covered Loans [Member]    
Financing Receivable, Impaired [Line Items]    
Average Recorded Investment 452us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerLoanMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerOtherFinancingReceivableMember
/ us-gaap_StatementGeographicalAxis
= country_US
[1] 2,260us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerLoanMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerOtherFinancingReceivableMember
/ us-gaap_StatementGeographicalAxis
= country_US
Impaired Financing Receivable Interest Income Accrual Method $ 0us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerLoanMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerOtherFinancingReceivableMember
/ us-gaap_StatementGeographicalAxis
= country_US
[1] $ 0us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerLoanMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerOtherFinancingReceivableMember
/ us-gaap_StatementGeographicalAxis
= country_US
[1] Excludes impaired loans from discontinued operations.