XML 165 R142.htm IDEA: XBRL DOCUMENT v2.4.1.9
Allowance for loan losses ending balance and the loan balance by portfolio segments (Detail) (USD $)
In Thousands, unless otherwise specified
Dec. 31, 2014
Dec. 31, 2013
Dec. 31, 2012
Financing Receivable Allowance For Credit Losses Roll Forward      
Allowance for loan losses $ 601,792us-gaap_FinancingReceivableAllowanceForCreditLosses $ 640,555us-gaap_FinancingReceivableAllowanceForCreditLosses $ 730,607us-gaap_FinancingReceivableAllowanceForCreditLosses
Loans held-in-portfolio:      
Non-covered Loans held-in-portfolio 19,404,451us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome [1] 21,611,866us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome [1]  
Covered Loans 2,542,662us-gaap_LoansAndLeasesReceivableGrossCarryingAmountCovered 2,984,427us-gaap_LoansAndLeasesReceivableGrossCarryingAmountCovered  
Loans and Leases Receivable Covered And Not Covered Total Net Of Unearned Income 21,947,113bpop_LoansAndLeasesReceivableCoveredAndNotCoveredTotalNetOfUnearnedIncome 24,596,294bpop_LoansAndLeasesReceivableCoveredAndNotCoveredTotalNetOfUnearnedIncome  
Non Covered Under Loss Sharing Agreements With F D I C [Member]      
Financing Receivable Allowance For Credit Losses Roll Forward      
Ending balance: loans individually evaluated for impairment 140,141us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
103,506us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
 
Ending balance: loans collectively evaluated for impairment 379,578us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
434,957us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
 
Allowance for loan losses 519,719us-gaap_FinancingReceivableAllowanceForCreditLosses
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
538,463us-gaap_FinancingReceivableAllowanceForCreditLosses
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
 
Loans held-in-portfolio:      
Ending balance: loans individually evaluated for impairment 927,008us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
908,716us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
 
Ending balance: loans collectively evaluated for impairment 18,477,443us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
20,703,151us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
 
Non-covered Loans held-in-portfolio 19,404,451us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
21,611,867us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
 
Covered Under Loss Sharing Agreements With F D I C [Member]      
Financing Receivable Allowance For Credit Losses Roll Forward      
Ending balance: loans individually evaluated for impairment 5us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
293us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
 
Ending balance: loans collectively evaluated for impairment 82,068us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
101,799us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
 
Allowance for loan losses 82,073us-gaap_FinancingReceivableAllowanceForCreditLosses
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
102,092us-gaap_FinancingReceivableAllowanceForCreditLosses
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
 
Loans held-in-portfolio:      
Ending balance: loans individually evaluated for impairment 6,906us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
20,945us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
 
Ending balance: loans collectively evaluated for impairment 2,535,756us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
2,963,482us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
 
Covered Loans 2,542,662us-gaap_LoansAndLeasesReceivableGrossCarryingAmountCovered
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
2,984,427us-gaap_LoansAndLeasesReceivableGrossCarryingAmountCovered
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
 
PUERTO RICO      
Financing Receivable Allowance For Credit Losses Roll Forward      
Allowance for loan losses 571,208us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_StatementGeographicalAxis
= country_PR
528,867us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Loans held-in-portfolio:      
Non-covered Loans held-in-portfolio 15,938,114us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_StatementGeographicalAxis
= country_PR
[2] 15,887,839us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_StatementGeographicalAxis
= country_PR
[2]  
Loans and Leases Receivable Covered And Not Covered Total Net Of Unearned Income 18,480,776bpop_LoansAndLeasesReceivableCoveredAndNotCoveredTotalNetOfUnearnedIncome
/ us-gaap_StatementGeographicalAxis
= country_PR
18,872,266bpop_LoansAndLeasesReceivableCoveredAndNotCoveredTotalNetOfUnearnedIncome
/ us-gaap_StatementGeographicalAxis
= country_PR
 
PUERTO RICO | Non Covered Under Loss Sharing Agreements With F D I C [Member]      
Financing Receivable Allowance For Credit Losses Roll Forward      
Ending balance: loans individually evaluated for impairment 139,503us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
85,593us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Ending balance: loans collectively evaluated for impairment 349,632us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
341,182us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Allowance for loan losses 489,135us-gaap_FinancingReceivableAllowanceForCreditLosses
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
426,775us-gaap_FinancingReceivableAllowanceForCreditLosses
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
445,297us-gaap_FinancingReceivableAllowanceForCreditLosses
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
Loans held-in-portfolio:      
Ending balance: loans individually evaluated for impairment 920,530us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
789,785us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Ending balance: loans collectively evaluated for impairment 15,017,584us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
15,098,054us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Non-covered Loans held-in-portfolio 15,938,114us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
15,887,839us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
PUERTO RICO | Covered Under Loss Sharing Agreements With F D I C [Member]      
Financing Receivable Allowance For Credit Losses Roll Forward      
Ending balance: loans individually evaluated for impairment 5us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
293us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Ending balance: loans collectively evaluated for impairment 82,068us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
101,799us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Allowance for loan losses 82,073us-gaap_FinancingReceivableAllowanceForCreditLosses
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
102,092us-gaap_FinancingReceivableAllowanceForCreditLosses
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
108,906us-gaap_FinancingReceivableAllowanceForCreditLosses
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
Loans held-in-portfolio:      
Ending balance: loans individually evaluated for impairment 6,906us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
20,945us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Ending balance: loans collectively evaluated for impairment 2,535,756us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
2,963,482us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Covered Loans 2,542,662us-gaap_LoansAndLeasesReceivableGrossCarryingAmountCovered
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
2,984,427us-gaap_LoansAndLeasesReceivableGrossCarryingAmountCovered
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
UNITED STATES      
Loans held-in-portfolio:      
Non-covered Loans held-in-portfolio 3,466,337us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_StatementGeographicalAxis
= country_US
[3] 5,724,027us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_StatementGeographicalAxis
= country_US
 
UNITED STATES | Non Covered Under Loss Sharing Agreements With F D I C [Member]      
Financing Receivable Allowance For Credit Losses Roll Forward      
Ending balance: loans individually evaluated for impairment 638us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
17,913us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
 
Ending balance: loans collectively evaluated for impairment 29,946us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
93,775us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
 
Allowance for loan losses 30,584us-gaap_FinancingReceivableAllowanceForCreditLosses
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
111,688us-gaap_FinancingReceivableAllowanceForCreditLosses
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
 
Loans held-in-portfolio:      
Ending balance: loans individually evaluated for impairment 6,478us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
118,931us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
 
Ending balance: loans collectively evaluated for impairment 3,459,859us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
5,605,097us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
 
Non-covered Loans held-in-portfolio 3,466,337us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
5,724,028us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
 
Commercial Portfolio Segment Member      
Financing Receivable Allowance For Credit Losses Roll Forward      
Allowance for loan losses 242,108us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
217,180us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
369,742us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
Loans held-in-portfolio:      
Non-covered Loans held-in-portfolio 8,134,267us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
10,037,184us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
 
Loans and Leases Receivable Covered And Not Covered Total Net Of Unearned Income 9,749,048bpop_LoansAndLeasesReceivableCoveredAndNotCoveredTotalNetOfUnearnedIncome
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
11,849,989bpop_LoansAndLeasesReceivableCoveredAndNotCoveredTotalNetOfUnearnedIncome
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
 
Commercial Portfolio Segment Member | Non Covered Under Loss Sharing Agreements With F D I C [Member]      
Financing Receivable Allowance For Credit Losses Roll Forward      
Ending balance: loans individually evaluated for impairment 64,736us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
16,409us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
 
Ending balance: loans collectively evaluated for impairment 146,501us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
158,573us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
 
Allowance for loan losses 211,237us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
174,982us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
 
Loans held-in-portfolio:      
Ending balance: loans individually evaluated for impairment 357,161us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
297,516us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
 
Ending balance: loans collectively evaluated for impairment 7,777,106us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
9,739,669us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
 
Non-covered Loans held-in-portfolio 8,134,267us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
10,037,185us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
 
Commercial Portfolio Segment Member | Covered Under Loss Sharing Agreements With F D I C [Member]      
Financing Receivable Allowance For Credit Losses Roll Forward      
Ending balance: loans individually evaluated for impairment 5us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
153us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
 
Ending balance: loans collectively evaluated for impairment 30,866us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
42,045us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
 
Allowance for loan losses 30,871us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
42,198us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
 
Loans held-in-portfolio:      
Ending balance: loans individually evaluated for impairment 4,487us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
20,945us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
 
Ending balance: loans collectively evaluated for impairment 1,610,294us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
1,791,859us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
 
Covered Loans 1,614,781us-gaap_LoansAndLeasesReceivableGrossCarryingAmountCovered
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
1,812,804us-gaap_LoansAndLeasesReceivableGrossCarryingAmountCovered
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
 
Commercial Portfolio Segment Member | PUERTO RICO      
Financing Receivable Allowance For Credit Losses Roll Forward      
Allowance for loan losses 232,460us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ us-gaap_StatementGeographicalAxis
= country_PR
170,348us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Loans held-in-portfolio:      
Non-covered Loans held-in-portfolio 6,374,803us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ us-gaap_StatementGeographicalAxis
= country_PR
[2] 6,465,590us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ us-gaap_StatementGeographicalAxis
= country_PR
[2]  
Loans and Leases Receivable Covered And Not Covered Total Net Of Unearned Income 7,989,584bpop_LoansAndLeasesReceivableCoveredAndNotCoveredTotalNetOfUnearnedIncome
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ us-gaap_StatementGeographicalAxis
= country_PR
8,278,394bpop_LoansAndLeasesReceivableCoveredAndNotCoveredTotalNetOfUnearnedIncome
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Commercial Portfolio Segment Member | PUERTO RICO | Non Covered Under Loss Sharing Agreements With F D I C [Member]      
Financing Receivable Allowance For Credit Losses Roll Forward      
Ending balance: loans individually evaluated for impairment 64,736us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
16,409us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Ending balance: loans collectively evaluated for impairment 136,853us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
111,741us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Allowance for loan losses 201,589us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
128,150us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
217,615us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
Loans held-in-portfolio:      
Ending balance: loans individually evaluated for impairment 356,911us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
245,380us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Ending balance: loans collectively evaluated for impairment 6,017,892us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
6,220,210us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Non-covered Loans held-in-portfolio 6,374,803us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
6,465,590us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Commercial Portfolio Segment Member | PUERTO RICO | Covered Under Loss Sharing Agreements With F D I C [Member]      
Financing Receivable Allowance For Credit Losses Roll Forward      
Ending balance: loans individually evaluated for impairment 5us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
153us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Ending balance: loans collectively evaluated for impairment 30,866us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
42,045us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Allowance for loan losses 30,871us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
42,198us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
72,060us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
Loans held-in-portfolio:      
Ending balance: loans individually evaluated for impairment 4,487us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
20,945us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Ending balance: loans collectively evaluated for impairment 1,610,294us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
1,791,859us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Covered Loans 1,614,781us-gaap_LoansAndLeasesReceivableGrossCarryingAmountCovered
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
1,812,804us-gaap_LoansAndLeasesReceivableGrossCarryingAmountCovered
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Commercial Portfolio Segment Member | UNITED STATES      
Loans held-in-portfolio:      
Non-covered Loans held-in-portfolio 1,759,464us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ us-gaap_StatementGeographicalAxis
= country_US
[3] 3,571,594us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ us-gaap_StatementGeographicalAxis
= country_US
 
Commercial Portfolio Segment Member | UNITED STATES | Non Covered Under Loss Sharing Agreements With F D I C [Member]      
Financing Receivable Allowance For Credit Losses Roll Forward      
Ending balance: loans individually evaluated for impairment 0us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
0us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
 
Ending balance: loans collectively evaluated for impairment 9,648us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
46,832us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
 
Allowance for loan losses 9,648us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
46,832us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
 
Loans held-in-portfolio:      
Ending balance: loans individually evaluated for impairment 250us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
52,136us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
 
Ending balance: loans collectively evaluated for impairment 1,759,214us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
3,519,459us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
 
Non-covered Loans held-in-portfolio 1,759,464us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
3,571,595us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
 
Commercial Real Estate Construction Financing Receivable Member      
Financing Receivable Allowance For Credit Losses Roll Forward      
Allowance for loan losses 13,872us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
24,833us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
17,375us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
Loans held-in-portfolio:      
Non-covered Loans held-in-portfolio 251,820us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
206,084us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
 
Covered Loans 70,336us-gaap_LoansAndLeasesReceivableGrossCarryingAmountCovered
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
190,127us-gaap_LoansAndLeasesReceivableGrossCarryingAmountCovered
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
 
Loans and Leases Receivable Covered And Not Covered Total Net Of Unearned Income 322,156bpop_LoansAndLeasesReceivableCoveredAndNotCoveredTotalNetOfUnearnedIncome
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
396,211bpop_LoansAndLeasesReceivableCoveredAndNotCoveredTotalNetOfUnearnedIncome
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
 
Commercial Real Estate Construction Financing Receivable Member | Non Covered Under Loss Sharing Agreements With F D I C [Member]      
Financing Receivable Allowance For Credit Losses Roll Forward      
Ending balance: loans individually evaluated for impairment 363us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
177us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
 
Ending balance: loans collectively evaluated for impairment 6,307us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
5,165us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
 
Allowance for loan losses 6,670us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
5,342us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
 
Loans held-in-portfolio:      
Ending balance: loans individually evaluated for impairment 13,268us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
22,486us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
 
Ending balance: loans collectively evaluated for impairment 238,552us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
183,598us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
 
Non-covered Loans held-in-portfolio 251,820us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
206,084us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
 
Commercial Real Estate Construction Financing Receivable Member | Covered Under Loss Sharing Agreements With F D I C [Member]      
Financing Receivable Allowance For Credit Losses Roll Forward      
Ending balance: loans individually evaluated for impairment 0us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
140us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
 
Ending balance: loans collectively evaluated for impairment 7,202us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
19,351us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
 
Allowance for loan losses 7,202us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
19,491us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
 
Loans held-in-portfolio:      
Ending balance: loans individually evaluated for impairment 2,419us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
0us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
 
Ending balance: loans collectively evaluated for impairment 67,917us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
190,127us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
 
Covered Loans 70,336us-gaap_LoansAndLeasesReceivableGrossCarryingAmountCovered
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
190,127us-gaap_LoansAndLeasesReceivableGrossCarryingAmountCovered
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
 
Commercial Real Estate Construction Financing Receivable Member | PUERTO RICO      
Financing Receivable Allowance For Credit Losses Roll Forward      
Allowance for loan losses 12,685us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ us-gaap_StatementGeographicalAxis
= country_PR
24,586us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Loans held-in-portfolio:      
Non-covered Loans held-in-portfolio 159,384us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ us-gaap_StatementGeographicalAxis
= country_PR
[2] 161,171us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ us-gaap_StatementGeographicalAxis
= country_PR
[2]  
Loans and Leases Receivable Covered And Not Covered Total Net Of Unearned Income 229,720bpop_LoansAndLeasesReceivableCoveredAndNotCoveredTotalNetOfUnearnedIncome
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ us-gaap_StatementGeographicalAxis
= country_PR
351,298bpop_LoansAndLeasesReceivableCoveredAndNotCoveredTotalNetOfUnearnedIncome
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Commercial Real Estate Construction Financing Receivable Member | PUERTO RICO | Non Covered Under Loss Sharing Agreements With F D I C [Member]      
Financing Receivable Allowance For Credit Losses Roll Forward      
Ending balance: loans individually evaluated for impairment 363us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
177us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Ending balance: loans collectively evaluated for impairment 5,120us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
4,918us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Allowance for loan losses 5,483us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
5,095us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
5,862us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
Loans held-in-portfolio:      
Ending balance: loans individually evaluated for impairment 13,268us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
16,823us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Ending balance: loans collectively evaluated for impairment 146,116us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
144,348us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Non-covered Loans held-in-portfolio 159,384us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
161,171us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Commercial Real Estate Construction Financing Receivable Member | PUERTO RICO | Covered Under Loss Sharing Agreements With F D I C [Member]      
Financing Receivable Allowance For Credit Losses Roll Forward      
Ending balance: loans individually evaluated for impairment 0us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
140us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Ending balance: loans collectively evaluated for impairment 7,202us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
19,351us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Allowance for loan losses 7,202us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
19,491us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
9,946us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
Loans held-in-portfolio:      
Ending balance: loans individually evaluated for impairment 2,419us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
0us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Ending balance: loans collectively evaluated for impairment 67,917us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
190,127us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Covered Loans 70,336us-gaap_LoansAndLeasesReceivableGrossCarryingAmountCovered
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
190,127us-gaap_LoansAndLeasesReceivableGrossCarryingAmountCovered
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Commercial Real Estate Construction Financing Receivable Member | UNITED STATES      
Loans held-in-portfolio:      
Non-covered Loans held-in-portfolio 92,436us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ us-gaap_StatementGeographicalAxis
= country_US
[3] 44,913us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ us-gaap_StatementGeographicalAxis
= country_US
 
Commercial Real Estate Construction Financing Receivable Member | UNITED STATES | Non Covered Under Loss Sharing Agreements With F D I C [Member]      
Financing Receivable Allowance For Credit Losses Roll Forward      
Ending balance: loans individually evaluated for impairment 0us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
0us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
 
Ending balance: loans collectively evaluated for impairment 1,187us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
247us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
 
Allowance for loan losses 1,187us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
247us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
 
Loans held-in-portfolio:      
Ending balance: loans individually evaluated for impairment 0us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
5,663us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
 
Ending balance: loans collectively evaluated for impairment 92,436us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
39,250us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
 
Non-covered Loans held-in-portfolio 92,436us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
44,913us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
 
Mortgages [Member]      
Financing Receivable Allowance For Credit Losses Roll Forward      
Allowance for loan losses 164,270us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
192,935us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
170,289us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
Loans held-in-portfolio:      
Non-covered Loans held-in-portfolio 6,502,886us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
6,681,476us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
 
Covered Loans 822,986us-gaap_LoansAndLeasesReceivableGrossCarryingAmountCovered
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
934,373us-gaap_LoansAndLeasesReceivableGrossCarryingAmountCovered
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
 
Loans and Leases Receivable Covered And Not Covered Total Net Of Unearned Income 7,325,872bpop_LoansAndLeasesReceivableCoveredAndNotCoveredTotalNetOfUnearnedIncome
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
7,615,849bpop_LoansAndLeasesReceivableCoveredAndNotCoveredTotalNetOfUnearnedIncome
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
 
Mortgages [Member] | Non Covered Under Loss Sharing Agreements With F D I C [Member]      
Financing Receivable Allowance For Credit Losses Roll Forward      
Ending balance: loans individually evaluated for impairment 46,111us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
55,667us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
 
Ending balance: loans collectively evaluated for impairment 77,211us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
101,262us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
 
Allowance for loan losses 123,322us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
156,929us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
 
Loans held-in-portfolio:      
Ending balance: loans individually evaluated for impairment 435,824us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
452,073us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
 
Ending balance: loans collectively evaluated for impairment 6,067,062us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
6,229,403us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
 
Non-covered Loans held-in-portfolio 6,502,886us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
6,681,476us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
 
Mortgages [Member] | Covered Under Loss Sharing Agreements With F D I C [Member]      
Financing Receivable Allowance For Credit Losses Roll Forward      
Ending balance: loans individually evaluated for impairment 0us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
0us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
 
Ending balance: loans collectively evaluated for impairment 40,948us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
36,006us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
 
Allowance for loan losses 40,948us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
36,006us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
 
Loans held-in-portfolio:      
Ending balance: loans individually evaluated for impairment 0us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
0us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
 
Ending balance: loans collectively evaluated for impairment 822,986us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
934,373us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
 
Covered Loans 822,986us-gaap_LoansAndLeasesReceivableGrossCarryingAmountCovered
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
934,373us-gaap_LoansAndLeasesReceivableGrossCarryingAmountCovered
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
 
Mortgages [Member] | PUERTO RICO      
Financing Receivable Allowance For Credit Losses Roll Forward      
Allowance for loan losses 161,808us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_StatementGeographicalAxis
= country_PR
166,336us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Loans held-in-portfolio:      
Non-covered Loans held-in-portfolio 5,450,501us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_StatementGeographicalAxis
= country_PR
[2] 5,400,679us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_StatementGeographicalAxis
= country_PR
[2]  
Loans and Leases Receivable Covered And Not Covered Total Net Of Unearned Income 6,273,487bpop_LoansAndLeasesReceivableCoveredAndNotCoveredTotalNetOfUnearnedIncome
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_StatementGeographicalAxis
= country_PR
6,335,052bpop_LoansAndLeasesReceivableCoveredAndNotCoveredTotalNetOfUnearnedIncome
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Mortgages [Member] | PUERTO RICO | Non Covered Under Loss Sharing Agreements With F D I C [Member]      
Financing Receivable Allowance For Credit Losses Roll Forward      
Ending balance: loans individually evaluated for impairment 45,838us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
38,034us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Ending balance: loans collectively evaluated for impairment 75,022us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
92,296us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Allowance for loan losses 120,860us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
130,330us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
119,027us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
Loans held-in-portfolio:      
Ending balance: loans individually evaluated for impairment 431,569us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
399,347us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Ending balance: loans collectively evaluated for impairment 5,018,932us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
5,001,332us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Non-covered Loans held-in-portfolio 5,450,501us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
5,400,679us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Mortgages [Member] | PUERTO RICO | Covered Under Loss Sharing Agreements With F D I C [Member]      
Financing Receivable Allowance For Credit Losses Roll Forward      
Ending balance: loans individually evaluated for impairment 0us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
0us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Ending balance: loans collectively evaluated for impairment 40,948us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
36,006us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Allowance for loan losses 40,948us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
36,006us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
20,914us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
Loans held-in-portfolio:      
Ending balance: loans individually evaluated for impairment 0us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
0us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Ending balance: loans collectively evaluated for impairment 822,986us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
934,373us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Covered Loans 822,986us-gaap_LoansAndLeasesReceivableGrossCarryingAmountCovered
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
934,373us-gaap_LoansAndLeasesReceivableGrossCarryingAmountCovered
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Mortgages [Member] | UNITED STATES      
Loans held-in-portfolio:      
Non-covered Loans held-in-portfolio 1,052,385us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_StatementGeographicalAxis
= country_US
[3] 1,280,797us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_StatementGeographicalAxis
= country_US
 
Mortgages [Member] | UNITED STATES | Non Covered Under Loss Sharing Agreements With F D I C [Member]      
Financing Receivable Allowance For Credit Losses Roll Forward      
Ending balance: loans individually evaluated for impairment 273us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
17,633us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
 
Ending balance: loans collectively evaluated for impairment 2,189us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
8,966us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
 
Allowance for loan losses 2,462us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
26,599us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
 
Loans held-in-portfolio:      
Ending balance: loans individually evaluated for impairment 4,255us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
52,726us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
 
Ending balance: loans collectively evaluated for impairment 1,048,130us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
1,228,071us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
 
Non-covered Loans held-in-portfolio 1,052,385us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
1,280,797us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
 
Legacy [Member]      
Financing Receivable Allowance For Credit Losses Roll Forward      
Allowance for loan losses 2,944us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
13,704us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
33,102us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
Loans held-in-portfolio:      
Non-covered Loans held-in-portfolio 80,818us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
[4] 211,135us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
[4]  
Loans and Leases Receivable Covered And Not Covered Total Net Of Unearned Income 80,818bpop_LoansAndLeasesReceivableCoveredAndNotCoveredTotalNetOfUnearnedIncome
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
211,135bpop_LoansAndLeasesReceivableCoveredAndNotCoveredTotalNetOfUnearnedIncome
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
 
Legacy [Member] | Non Covered Under Loss Sharing Agreements With F D I C [Member]      
Financing Receivable Allowance For Credit Losses Roll Forward      
Ending balance: loans individually evaluated for impairment 0us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
0us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
 
Ending balance: loans collectively evaluated for impairment 2,944us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
13,704us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
 
Allowance for loan losses 2,944us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
13,704us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
 
Loans held-in-portfolio:      
Ending balance: loans individually evaluated for impairment 0us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
6,045us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
 
Ending balance: loans collectively evaluated for impairment 80,818us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
205,090us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
 
Non-covered Loans held-in-portfolio 80,818us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
211,135us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
 
Legacy [Member] | Covered Under Loss Sharing Agreements With F D I C [Member]      
Financing Receivable Allowance For Credit Losses Roll Forward      
Ending balance: loans individually evaluated for impairment 0us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
0us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
 
Ending balance: loans collectively evaluated for impairment 0us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
0us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
 
Allowance for loan losses 0us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
0us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
 
Loans held-in-portfolio:      
Ending balance: loans individually evaluated for impairment 0us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
0us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
 
Ending balance: loans collectively evaluated for impairment 0us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
0us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
 
Covered Loans 0us-gaap_LoansAndLeasesReceivableGrossCarryingAmountCovered
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
0us-gaap_LoansAndLeasesReceivableGrossCarryingAmountCovered
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
 
Legacy [Member] | UNITED STATES      
Loans held-in-portfolio:      
Non-covered Loans held-in-portfolio 80,818us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
/ us-gaap_StatementGeographicalAxis
= country_US
[3] 211,135us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
/ us-gaap_StatementGeographicalAxis
= country_US
 
Legacy [Member] | UNITED STATES | Non Covered Under Loss Sharing Agreements With F D I C [Member]      
Financing Receivable Allowance For Credit Losses Roll Forward      
Ending balance: loans individually evaluated for impairment 0us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
0us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
 
Ending balance: loans collectively evaluated for impairment 2,944us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
13,704us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
 
Allowance for loan losses 2,944us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
13,704us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
 
Loans held-in-portfolio:      
Ending balance: loans individually evaluated for impairment 0us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
6,045us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
 
Ending balance: loans collectively evaluated for impairment 80,818us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
205,090us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
 
Non-covered Loans held-in-portfolio 80,818us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
211,135us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
 
Finance Leases Portfolio Segment Member      
Financing Receivable Allowance For Credit Losses Roll Forward      
Allowance for loan losses 7,131us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
10,622us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
2,894us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
Loans held-in-portfolio:      
Non-covered Loans held-in-portfolio 564,389us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
543,761us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
 
Loans and Leases Receivable Covered And Not Covered Total Net Of Unearned Income 564,389bpop_LoansAndLeasesReceivableCoveredAndNotCoveredTotalNetOfUnearnedIncome
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
543,761bpop_LoansAndLeasesReceivableCoveredAndNotCoveredTotalNetOfUnearnedIncome
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
 
Finance Leases Portfolio Segment Member | Non Covered Under Loss Sharing Agreements With F D I C [Member]      
Financing Receivable Allowance For Credit Losses Roll Forward      
Ending balance: loans individually evaluated for impairment 770us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
1,053us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
 
Ending balance: loans collectively evaluated for impairment 6,361us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
9,569us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
 
Allowance for loan losses 7,131us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
10,622us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
 
Loans held-in-portfolio:      
Ending balance: loans individually evaluated for impairment 3,023us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
2,893us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
 
Ending balance: loans collectively evaluated for impairment 561,366us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
540,868us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
 
Non-covered Loans held-in-portfolio 564,389us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
543,761us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
 
Finance Leases Portfolio Segment Member | Covered Under Loss Sharing Agreements With F D I C [Member]      
Financing Receivable Allowance For Credit Losses Roll Forward      
Ending balance: loans individually evaluated for impairment 0us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
0us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
 
Ending balance: loans collectively evaluated for impairment 0us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
0us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
 
Allowance for loan losses 0us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
0us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
 
Loans held-in-portfolio:      
Ending balance: loans individually evaluated for impairment 0us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
0us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
 
Ending balance: loans collectively evaluated for impairment 0us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
0us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
 
Covered Loans 0us-gaap_LoansAndLeasesReceivableGrossCarryingAmountCovered
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
0us-gaap_LoansAndLeasesReceivableGrossCarryingAmountCovered
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
 
Finance Leases Portfolio Segment Member | PUERTO RICO      
Financing Receivable Allowance For Credit Losses Roll Forward      
Allowance for loan losses 7,131us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
/ us-gaap_StatementGeographicalAxis
= country_PR
10,622us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Loans held-in-portfolio:      
Non-covered Loans held-in-portfolio 564,389us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
/ us-gaap_StatementGeographicalAxis
= country_PR
[2] 543,761us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
/ us-gaap_StatementGeographicalAxis
= country_PR
[2]  
Loans and Leases Receivable Covered And Not Covered Total Net Of Unearned Income 564,389bpop_LoansAndLeasesReceivableCoveredAndNotCoveredTotalNetOfUnearnedIncome
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
/ us-gaap_StatementGeographicalAxis
= country_PR
543,761bpop_LoansAndLeasesReceivableCoveredAndNotCoveredTotalNetOfUnearnedIncome
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Finance Leases Portfolio Segment Member | PUERTO RICO | Non Covered Under Loss Sharing Agreements With F D I C [Member]      
Financing Receivable Allowance For Credit Losses Roll Forward      
Ending balance: loans individually evaluated for impairment 770us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
1,053us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Ending balance: loans collectively evaluated for impairment 6,361us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
9,569us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Allowance for loan losses 7,131us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
10,622us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
2,894us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
Loans held-in-portfolio:      
Ending balance: loans individually evaluated for impairment 3,023us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
2,893us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Ending balance: loans collectively evaluated for impairment 561,366us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
540,868us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Non-covered Loans held-in-portfolio 564,389us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
543,761us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Finance Leases Portfolio Segment Member | PUERTO RICO | Covered Under Loss Sharing Agreements With F D I C [Member]      
Financing Receivable Allowance For Credit Losses Roll Forward      
Ending balance: loans individually evaluated for impairment 0us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
0us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Ending balance: loans collectively evaluated for impairment 0us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
0us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Allowance for loan losses 0us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
0us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
0us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
Loans held-in-portfolio:      
Ending balance: loans individually evaluated for impairment 0us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
0us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Ending balance: loans collectively evaluated for impairment 0us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
0us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Covered Loans 0us-gaap_LoansAndLeasesReceivableGrossCarryingAmountCovered
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
0us-gaap_LoansAndLeasesReceivableGrossCarryingAmountCovered
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Consumer [Member]      
Financing Receivable Allowance For Credit Losses Roll Forward      
Allowance for loan losses 171,467us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
181,281us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
137,205us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
Loans held-in-portfolio:      
Non-covered Loans held-in-portfolio 3,870,271us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
3,932,226us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
 
Covered Loans 34,559us-gaap_LoansAndLeasesReceivableGrossCarryingAmountCovered
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
47,123us-gaap_LoansAndLeasesReceivableGrossCarryingAmountCovered
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
 
Loans and Leases Receivable Covered And Not Covered Total Net Of Unearned Income 3,904,830bpop_LoansAndLeasesReceivableCoveredAndNotCoveredTotalNetOfUnearnedIncome
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
3,979,349bpop_LoansAndLeasesReceivableCoveredAndNotCoveredTotalNetOfUnearnedIncome
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
 
Consumer [Member] | Non Covered Under Loss Sharing Agreements With F D I C [Member]      
Financing Receivable Allowance For Credit Losses Roll Forward      
Ending balance: loans individually evaluated for impairment 28,161us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
30,200us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
 
Ending balance: loans collectively evaluated for impairment 140,254us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
146,684us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
 
Allowance for loan losses 168,415us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
176,884us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
 
Loans held-in-portfolio:      
Ending balance: loans individually evaluated for impairment 117,732us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
127,703us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
 
Ending balance: loans collectively evaluated for impairment 3,752,539us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
3,804,523us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
 
Non-covered Loans held-in-portfolio 3,870,271us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
3,932,226us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
 
Consumer [Member] | Covered Under Loss Sharing Agreements With F D I C [Member]      
Financing Receivable Allowance For Credit Losses Roll Forward      
Ending balance: loans individually evaluated for impairment 0us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
0us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
 
Ending balance: loans collectively evaluated for impairment 3,052us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
4,397us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
 
Allowance for loan losses 3,052us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
4,397us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
 
Loans held-in-portfolio:      
Ending balance: loans individually evaluated for impairment 0us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
0us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
 
Ending balance: loans collectively evaluated for impairment 34,559us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
47,123us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
 
Covered Loans 34,559us-gaap_LoansAndLeasesReceivableGrossCarryingAmountCovered
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
47,123us-gaap_LoansAndLeasesReceivableGrossCarryingAmountCovered
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
 
Consumer [Member] | PUERTO RICO      
Financing Receivable Allowance For Credit Losses Roll Forward      
Allowance for loan losses 157,124us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ us-gaap_StatementGeographicalAxis
= country_PR
156,975us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Loans held-in-portfolio:      
Non-covered Loans held-in-portfolio 3,389,037us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ us-gaap_StatementGeographicalAxis
= country_PR
[2] 3,316,638us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ us-gaap_StatementGeographicalAxis
= country_PR
[2]  
Loans and Leases Receivable Covered And Not Covered Total Net Of Unearned Income 3,423,596bpop_LoansAndLeasesReceivableCoveredAndNotCoveredTotalNetOfUnearnedIncome
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ us-gaap_StatementGeographicalAxis
= country_PR
3,363,761bpop_LoansAndLeasesReceivableCoveredAndNotCoveredTotalNetOfUnearnedIncome
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Consumer [Member] | PUERTO RICO | Non Covered Under Loss Sharing Agreements With F D I C [Member]      
Financing Receivable Allowance For Credit Losses Roll Forward      
Ending balance: loans individually evaluated for impairment 27,796us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
29,920us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Ending balance: loans collectively evaluated for impairment 126,276us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
122,658us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Allowance for loan losses 154,072us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
152,578us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
99,899us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
Loans held-in-portfolio:      
Ending balance: loans individually evaluated for impairment 115,759us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
125,342us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Ending balance: loans collectively evaluated for impairment 3,273,278us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
3,191,296us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Non-covered Loans held-in-portfolio 3,389,037us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
3,316,638us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Consumer [Member] | PUERTO RICO | Covered Under Loss Sharing Agreements With F D I C [Member]      
Financing Receivable Allowance For Credit Losses Roll Forward      
Ending balance: loans individually evaluated for impairment 0us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
0us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Ending balance: loans collectively evaluated for impairment 3,052us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
4,397us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Allowance for loan losses 3,052us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
4,397us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
5,986us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
Loans held-in-portfolio:      
Ending balance: loans individually evaluated for impairment 0us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
0us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Ending balance: loans collectively evaluated for impairment 34,559us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
47,123us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Covered Loans 34,559us-gaap_LoansAndLeasesReceivableGrossCarryingAmountCovered
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
47,123us-gaap_LoansAndLeasesReceivableGrossCarryingAmountCovered
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Consumer [Member] | UNITED STATES      
Loans held-in-portfolio:      
Non-covered Loans held-in-portfolio 481,234us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ us-gaap_StatementGeographicalAxis
= country_US
[3] 615,588us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ us-gaap_StatementGeographicalAxis
= country_US
 
Consumer [Member] | UNITED STATES | Non Covered Under Loss Sharing Agreements With F D I C [Member]      
Financing Receivable Allowance For Credit Losses Roll Forward      
Ending balance: loans individually evaluated for impairment 365us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
280us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
 
Ending balance: loans collectively evaluated for impairment 13,978us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
24,026us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
 
Allowance for loan losses 14,343us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
24,306us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
 
Loans held-in-portfolio:      
Ending balance: loans individually evaluated for impairment 1,973us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
2,361us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
 
Ending balance: loans collectively evaluated for impairment 479,261us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
613,227us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
 
Non-covered Loans held-in-portfolio $ 481,234us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
$ 615,588us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
 
[1] Non-covered loans held-in-portfolio at December 31, 2014 are net of $94 million in unearned income and exclude $106 million in loans held-for-sale. (December 31, 2013 - $92 million in unearned income and $110 million in loans held-for-sale.)
[2] Excludes covered loans acquired in the Westernbank FDIC-assisted transaction.
[3]  Excludes discontinued operations.
[4] The legacy portfolio is comprised of commercial loans, construction loans and lease financings related to certain lending products exited by the Corporation as part of restructuring efforts carried out in prior years at the BPNA segment.