XML 315 R140.htm IDEA: XBRL DOCUMENT v2.4.1.9
Allowance Movement (Detail) (USD $)
In Thousands, unless otherwise specified
12 Months Ended
Dec. 31, 2014
Dec. 31, 2013
Dec. 31, 2012
Financing Receivable, Allowance for Credit Losses [Line Items]      
Balance at beginning of period $ 640,555us-gaap_FinancingReceivableAllowanceForCreditLosses $ 730,607us-gaap_FinancingReceivableAllowanceForCreditLosses  
Provision for loan losses 263,370us-gaap_ProvisionForLoanLeaseAndOtherLosses 602,563us-gaap_ProvisionForLoanLeaseAndOtherLosses  
Charge-offs (372,088)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs (485,148)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs  
Recoveries 125,831us-gaap_ValuationAllowancesAndReservesRecoveries 155,178us-gaap_ValuationAllowancesAndReservesRecoveries  
Net write-down related to loans sold (35,674)bpop_FinancingReceivableAllowanceForCreditLossesOtherAdjustments (362,645)bpop_FinancingReceivableAllowanceForCreditLossesOtherAdjustments  
Net write-downs related to loans transferred to discontinued operations (20,202)bpop_NetWriteDownsRelatedToLoansTransferredToDiscontinuedOperations    
Balance at end of period 601,792us-gaap_FinancingReceivableAllowanceForCreditLosses 640,555us-gaap_FinancingReceivableAllowanceForCreditLosses  
Segment, Continuing Operations [Member]      
Financing Receivable, Allowance for Credit Losses [Line Items]      
Provision for loan losses 270,134us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
606,106us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
397,073us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
Non Covered Under Loss Sharing Agreements With F D I C [Member]      
Financing Receivable, Allowance for Credit Losses [Line Items]      
Balance at end of period 519,719us-gaap_FinancingReceivableAllowanceForCreditLosses
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
538,463us-gaap_FinancingReceivableAllowanceForCreditLosses
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
 
Covered Under Loss Sharing Agreements With F D I C [Member]      
Financing Receivable, Allowance for Credit Losses [Line Items]      
Balance at end of period 82,073us-gaap_FinancingReceivableAllowanceForCreditLosses
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
102,092us-gaap_FinancingReceivableAllowanceForCreditLosses
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
 
PUERTO RICO      
Financing Receivable, Allowance for Credit Losses [Line Items]      
Balance at end of period 571,208us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_StatementGeographicalAxis
= country_PR
528,867us-gaap_FinancingReceivableAllowanceForCreditLosses
/ 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 [Line Items]      
Balance at beginning of period 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
 
Provision for loan losses 242,849us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
547,884us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Charge-offs (245,941)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
(288,091)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Recoveries 65,452us-gaap_ValuationAllowancesAndReservesRecoveries
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
84,330us-gaap_ValuationAllowancesAndReservesRecoveries
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Net write-down related to loans sold 0bpop_FinancingReceivableAllowanceForCreditLossesOtherAdjustments
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
(362,645)bpop_FinancingReceivableAllowanceForCreditLossesOtherAdjustments
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Balance at end of period 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
 
PUERTO RICO | Covered Under Loss Sharing Agreements With F D I C [Member]      
Financing Receivable, Allowance for Credit Losses [Line Items]      
Balance at beginning of period 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
 
Provision for loan losses 46,135us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
69,396us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Charge-offs (77,531)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
(82,783)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Recoveries 11,377us-gaap_ValuationAllowancesAndReservesRecoveries
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
6,573us-gaap_ValuationAllowancesAndReservesRecoveries
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Balance at end of period 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
 
UNITED STATES | Non Covered Under Loss Sharing Agreements With F D I C [Member]      
Financing Receivable, Allowance for Credit Losses [Line Items]      
Balance at end of period 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
 
UNITED STATES | Non Covered Under Loss Sharing Agreements With F D I C [Member] | Segment, Continuing Operations [Member]      
Financing Receivable, Allowance for Credit Losses [Line Items]      
Balance at beginning of period 82,283us-gaap_FinancingReceivableAllowanceForCreditLosses
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
124,551us-gaap_FinancingReceivableAllowanceForCreditLosses
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
 
Provision for loan losses (18,850)us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
(11,174)us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
 
Allowance transferred from discontinued operations 7,984bpop_AllowanceTransferredFromDiscontinuedOperations
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
   
Charge-offs (44,164)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
(75,317)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
 
Recoveries 39,005us-gaap_ValuationAllowancesAndReservesRecoveries
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
44,223us-gaap_ValuationAllowancesAndReservesRecoveries
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
 
Net write-down related to loans sold (35,674)bpop_FinancingReceivableAllowanceForCreditLossesOtherAdjustments
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
0bpop_FinancingReceivableAllowanceForCreditLossesOtherAdjustments
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
 
Balance at end of period 30,584us-gaap_FinancingReceivableAllowanceForCreditLosses
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
82,283us-gaap_FinancingReceivableAllowanceForCreditLosses
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
 
UNITED STATES | Non Covered Under Loss Sharing Agreements With F D I C [Member] | Segment, Discontinued Operations [Member]      
Financing Receivable, Allowance for Credit Losses [Line Items]      
Balance at beginning of period 29,405us-gaap_FinancingReceivableAllowanceForCreditLosses
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentDiscontinuedOperationsMember
51,853us-gaap_FinancingReceivableAllowanceForCreditLosses
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentDiscontinuedOperationsMember
 
Provision for loan losses (6,764)us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentDiscontinuedOperationsMember
(3,543)us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentDiscontinuedOperationsMember
 
Allowance Transferred To Continuing Operations (7,984)bpop_AllowanceTransferredToContinuingOperations
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentDiscontinuedOperationsMember
   
Charge-offs (4,452)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentDiscontinuedOperationsMember
(38,957)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentDiscontinuedOperationsMember
 
Recoveries 9,997us-gaap_ValuationAllowancesAndReservesRecoveries
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentDiscontinuedOperationsMember
20,052us-gaap_ValuationAllowancesAndReservesRecoveries
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentDiscontinuedOperationsMember
 
Net write-downs related to loans transferred to discontinued operations (20,202)bpop_NetWriteDownsRelatedToLoansTransferredToDiscontinuedOperations
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentDiscontinuedOperationsMember
   
Balance at end of period 0us-gaap_FinancingReceivableAllowanceForCreditLosses
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentDiscontinuedOperationsMember
29,405us-gaap_FinancingReceivableAllowanceForCreditLosses
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentDiscontinuedOperationsMember
 
Commercial Portfolio Segment Member      
Financing Receivable, Allowance for Credit Losses [Line Items]      
Balance at beginning of period 217,180us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
369,742us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
 
Provision for loan losses 128,590us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
145,311us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
 
Charge-offs (124,766)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
(196,758)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
 
Recoveries 56,661us-gaap_ValuationAllowancesAndReservesRecoveries
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
60,182us-gaap_ValuationAllowancesAndReservesRecoveries
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
 
Net write-down related to loans sold (19,182)bpop_FinancingReceivableAllowanceForCreditLossesOtherAdjustments
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
(161,297)bpop_FinancingReceivableAllowanceForCreditLossesOtherAdjustments
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
 
Net write-downs related to loans transferred to discontinued operations (16,375)bpop_NetWriteDownsRelatedToLoansTransferredToDiscontinuedOperations
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
   
Balance at end of period 242,108us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
217,180us-gaap_FinancingReceivableAllowanceForCreditLosses
/ 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 [Line Items]      
Balance at end of period 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
 
Commercial Portfolio Segment Member | Covered Under Loss Sharing Agreements With F D I C [Member]      
Financing Receivable, Allowance for Credit Losses [Line Items]      
Balance at end of period 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
 
Commercial Portfolio Segment Member | PUERTO RICO      
Financing Receivable, Allowance for Credit Losses [Line Items]      
Balance at end of period 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
 
Commercial Portfolio Segment Member | PUERTO RICO | Non Covered Under Loss Sharing Agreements With F D I C [Member]      
Financing Receivable, Allowance for Credit Losses [Line Items]      
Balance at beginning of period 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
 
Provision for loan losses 112,821us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
157,433us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Charge-offs (70,402)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
(112,266)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Recoveries 31,020us-gaap_ValuationAllowancesAndReservesRecoveries
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
26,665us-gaap_ValuationAllowancesAndReservesRecoveries
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Net write-down related to loans sold 0bpop_FinancingReceivableAllowanceForCreditLossesOtherAdjustments
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
(161,297)bpop_FinancingReceivableAllowanceForCreditLossesOtherAdjustments
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Balance at end of period 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
 
Commercial Portfolio Segment Member | PUERTO RICO | Covered Under Loss Sharing Agreements With F D I C [Member]      
Financing Receivable, Allowance for Credit Losses [Line Items]      
Balance at beginning of period 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
 
Provision for loan losses 21,579us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
(2,255)us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Charge-offs (34,741)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
(28,422)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Recoveries 1,835us-gaap_ValuationAllowancesAndReservesRecoveries
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
815us-gaap_ValuationAllowancesAndReservesRecoveries
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Balance at end of period 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
 
Commercial Portfolio Segment Member | UNITED STATES | Non Covered Under Loss Sharing Agreements With F D I C [Member]      
Financing Receivable, Allowance for Credit Losses [Line Items]      
Balance at end of period 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
 
Commercial Portfolio Segment Member | UNITED STATES | Non Covered Under Loss Sharing Agreements With F D I C [Member] | Segment, Continuing Operations [Member]      
Financing Receivable, Allowance for Credit Losses [Line Items]      
Balance at beginning of period 24,930us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
37,554us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
 
Provision for loan losses (2,979)us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
(3,440)us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
 
Allowance transferred from discontinued operations 7,984bpop_AllowanceTransferredFromDiscontinuedOperations
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
   
Charge-offs (16,628)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
(26,116)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
 
Recoveries 15,523us-gaap_ValuationAllowancesAndReservesRecoveries
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
16,932us-gaap_ValuationAllowancesAndReservesRecoveries
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
 
Net write-down related to loans sold (19,182)bpop_FinancingReceivableAllowanceForCreditLossesOtherAdjustments
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
0bpop_FinancingReceivableAllowanceForCreditLossesOtherAdjustments
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
 
Balance at end of period 9,648us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
24,930us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
 
Commercial Portfolio Segment Member | UNITED STATES | Non Covered Under Loss Sharing Agreements With F D I C [Member] | Segment, Discontinued Operations [Member]      
Financing Receivable, Allowance for Credit Losses [Line Items]      
Balance at beginning of period 21,902us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentDiscontinuedOperationsMember
42,513us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentDiscontinuedOperationsMember
 
Provision for loan losses (2,831)us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentDiscontinuedOperationsMember
(6,427)us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentDiscontinuedOperationsMember
 
Allowance Transferred To Continuing Operations (7,984)bpop_AllowanceTransferredToContinuingOperations
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentDiscontinuedOperationsMember
   
Charge-offs (2,995)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentDiscontinuedOperationsMember
(29,954)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentDiscontinuedOperationsMember
 
Recoveries 8,283us-gaap_ValuationAllowancesAndReservesRecoveries
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentDiscontinuedOperationsMember
15,770us-gaap_ValuationAllowancesAndReservesRecoveries
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentDiscontinuedOperationsMember
 
Net write-downs related to loans transferred to discontinued operations (16,375)bpop_NetWriteDownsRelatedToLoansTransferredToDiscontinuedOperations
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentDiscontinuedOperationsMember
   
Balance at end of period 0us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentDiscontinuedOperationsMember
21,902us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentDiscontinuedOperationsMember
 
Commercial Real Estate Construction Financing Receivable Member      
Financing Receivable, Allowance for Credit Losses [Line Items]      
Balance at beginning of period 24,833us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
17,375us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
 
Provision for loan losses 12,786us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
34,770us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
 
Charge-offs (37,945)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
(46,487)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
 
Recoveries 14,225us-gaap_ValuationAllowancesAndReservesRecoveries
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
21,021us-gaap_ValuationAllowancesAndReservesRecoveries
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
 
Net write-down related to loans sold 0bpop_FinancingReceivableAllowanceForCreditLossesOtherAdjustments
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
(1,846)bpop_FinancingReceivableAllowanceForCreditLossesOtherAdjustments
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
 
Net write-downs related to loans transferred to discontinued operations (27)bpop_NetWriteDownsRelatedToLoansTransferredToDiscontinuedOperations
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
   
Balance at end of period 13,872us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
24,833us-gaap_FinancingReceivableAllowanceForCreditLosses
/ 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 [Line Items]      
Balance at end of period 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
 
Commercial Real Estate Construction Financing Receivable Member | Covered Under Loss Sharing Agreements With F D I C [Member]      
Financing Receivable, Allowance for Credit Losses [Line Items]      
Balance at end of period 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
 
Commercial Real Estate Construction Financing Receivable Member | PUERTO RICO      
Financing Receivable, Allowance for Credit Losses [Line Items]      
Balance at end of period 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
 
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 [Line Items]      
Balance at beginning of period 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
 
Provision for loan losses (3,121)us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
(7,563)us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Charge-offs (1,722)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
(6,757)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Recoveries 5,231us-gaap_ValuationAllowancesAndReservesRecoveries
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
15,399us-gaap_ValuationAllowancesAndReservesRecoveries
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Net write-down related to loans sold 0bpop_FinancingReceivableAllowanceForCreditLossesOtherAdjustments
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
(1,846)bpop_FinancingReceivableAllowanceForCreditLossesOtherAdjustments
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Balance at end of period 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
 
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 [Line Items]      
Balance at beginning of period 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
 
Provision for loan losses 15,397us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
43,653us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Charge-offs (36,223)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
(39,730)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Recoveries 8,537us-gaap_ValuationAllowancesAndReservesRecoveries
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
5,622us-gaap_ValuationAllowancesAndReservesRecoveries
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Balance at end of period 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
 
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 [Line Items]      
Balance at end of period 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
 
Commercial Real Estate Construction Financing Receivable Member | UNITED STATES | Non Covered Under Loss Sharing Agreements With F D I C [Member] | Segment, Continuing Operations [Member]      
Financing Receivable, Allowance for Credit Losses [Line Items]      
Balance at beginning of period 214us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
1,196us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
 
Provision for loan losses 736us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
(982)us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
 
Allowance transferred from discontinued operations 0bpop_AllowanceTransferredFromDiscontinuedOperations
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
   
Charge-offs 0us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
0us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
 
Recoveries 237us-gaap_ValuationAllowancesAndReservesRecoveries
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
0us-gaap_ValuationAllowancesAndReservesRecoveries
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
 
Net write-down related to loans sold 0bpop_FinancingReceivableAllowanceForCreditLossesOtherAdjustments
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
0bpop_FinancingReceivableAllowanceForCreditLossesOtherAdjustments
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
 
Balance at end of period 1,187us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
214us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
 
Commercial Real Estate Construction Financing Receivable Member | UNITED STATES | Non Covered Under Loss Sharing Agreements With F D I C [Member] | Segment, Discontinued Operations [Member]      
Financing Receivable, Allowance for Credit Losses [Line Items]      
Balance at beginning of period 33us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentDiscontinuedOperationsMember
371us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentDiscontinuedOperationsMember
 
Provision for loan losses (226)us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentDiscontinuedOperationsMember
(338)us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentDiscontinuedOperationsMember
 
Allowance Transferred To Continuing Operations 0bpop_AllowanceTransferredToContinuingOperations
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentDiscontinuedOperationsMember
   
Charge-offs 0us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentDiscontinuedOperationsMember
0us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentDiscontinuedOperationsMember
 
Recoveries 220us-gaap_ValuationAllowancesAndReservesRecoveries
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentDiscontinuedOperationsMember
0us-gaap_ValuationAllowancesAndReservesRecoveries
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentDiscontinuedOperationsMember
 
Net write-downs related to loans transferred to discontinued operations (27)bpop_NetWriteDownsRelatedToLoansTransferredToDiscontinuedOperations
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentDiscontinuedOperationsMember
   
Balance at end of period 0us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentDiscontinuedOperationsMember
33us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentDiscontinuedOperationsMember
 
Mortgages [Member]      
Financing Receivable, Allowance for Credit Losses [Line Items]      
Balance at beginning of period 192,935us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
170,289us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
 
Provision for loan losses 32,504us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
288,301us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
 
Charge-offs (58,062)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
(70,253)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
 
Recoveries 4,424us-gaap_ValuationAllowancesAndReservesRecoveries
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
4,100us-gaap_ValuationAllowancesAndReservesRecoveries
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
 
Net write-down related to loans sold (7,531)bpop_FinancingReceivableAllowanceForCreditLossesOtherAdjustments
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
(199,502)bpop_FinancingReceivableAllowanceForCreditLossesOtherAdjustments
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
 
Net write-downs related to loans transferred to discontinued operations 0bpop_NetWriteDownsRelatedToLoansTransferredToDiscontinuedOperations
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
   
Balance at end of period 164,270us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
192,935us-gaap_FinancingReceivableAllowanceForCreditLosses
/ 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 [Line Items]      
Balance at end of period 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
 
Mortgages [Member] | Covered Under Loss Sharing Agreements With F D I C [Member]      
Financing Receivable, Allowance for Credit Losses [Line Items]      
Balance at end of period 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
 
Mortgages [Member] | PUERTO RICO      
Financing Receivable, Allowance for Credit Losses [Line Items]      
Balance at end of period 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
 
Mortgages [Member] | PUERTO RICO | Non Covered Under Loss Sharing Agreements With F D I C [Member]      
Financing Receivable, Allowance for Credit Losses [Line Items]      
Balance at beginning of period 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
 
Provision for loan losses 34,530us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
258,541us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Charge-offs (45,389)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
(49,418)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Recoveries 1,389us-gaap_ValuationAllowancesAndReservesRecoveries
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
1,682us-gaap_ValuationAllowancesAndReservesRecoveries
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Net write-down related to loans sold 0bpop_FinancingReceivableAllowanceForCreditLossesOtherAdjustments
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
(199,502)bpop_FinancingReceivableAllowanceForCreditLossesOtherAdjustments
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Balance at end of period 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
 
Mortgages [Member] | PUERTO RICO | Covered Under Loss Sharing Agreements With F D I C [Member]      
Financing Receivable, Allowance for Credit Losses [Line Items]      
Balance at beginning of period 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
 
Provision for loan losses 13,384us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
25,706us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Charge-offs (9,156)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
(10,679)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Recoveries 714us-gaap_ValuationAllowancesAndReservesRecoveries
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
65us-gaap_ValuationAllowancesAndReservesRecoveries
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Balance at end of period 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
 
Mortgages [Member] | UNITED STATES | Non Covered Under Loss Sharing Agreements With F D I C [Member]      
Financing Receivable, Allowance for Credit Losses [Line Items]      
Balance at end of period 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
 
Mortgages [Member] | UNITED STATES | Non Covered Under Loss Sharing Agreements With F D I C [Member] | Segment, Continuing Operations [Member]      
Financing Receivable, Allowance for Credit Losses [Line Items]      
Balance at beginning of period 26,599us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
30,348us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
 
Provision for loan losses (15,410)us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
4,054us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
 
Allowance transferred from discontinued operations 0bpop_AllowanceTransferredFromDiscontinuedOperations
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
   
Charge-offs (3,517)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
(10,156)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
 
Recoveries 2,321us-gaap_ValuationAllowancesAndReservesRecoveries
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
2,353us-gaap_ValuationAllowancesAndReservesRecoveries
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
 
Net write-down related to loans sold (7,531)bpop_FinancingReceivableAllowanceForCreditLossesOtherAdjustments
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
0bpop_FinancingReceivableAllowanceForCreditLossesOtherAdjustments
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
 
Balance at end of period 2,462us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
26,599us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
 
Mortgages [Member] | UNITED STATES | Non Covered Under Loss Sharing Agreements With F D I C [Member] | Segment, Discontinued Operations [Member]      
Financing Receivable, Allowance for Credit Losses [Line Items]      
Balance at beginning of period 0us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentDiscontinuedOperationsMember
0us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentDiscontinuedOperationsMember
 
Provision for loan losses 0us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentDiscontinuedOperationsMember
0us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentDiscontinuedOperationsMember
 
Allowance Transferred To Continuing Operations 0bpop_AllowanceTransferredToContinuingOperations
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentDiscontinuedOperationsMember
   
Charge-offs 0us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentDiscontinuedOperationsMember
0us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentDiscontinuedOperationsMember
 
Recoveries 0us-gaap_ValuationAllowancesAndReservesRecoveries
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentDiscontinuedOperationsMember
0us-gaap_ValuationAllowancesAndReservesRecoveries
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentDiscontinuedOperationsMember
 
Net write-downs related to loans transferred to discontinued operations 0bpop_NetWriteDownsRelatedToLoansTransferredToDiscontinuedOperations
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentDiscontinuedOperationsMember
   
Balance at end of period 0us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentDiscontinuedOperationsMember
0us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentDiscontinuedOperationsMember
 
Legacy [Member]      
Financing Receivable, Allowance for Credit Losses [Line Items]      
Balance at beginning of period 13,704us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
33,102us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
 
Provision for loan losses (10,423)us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
(21,981)us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
 
Charge-offs (8,628)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
(22,528)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
 
Recoveries 18,541us-gaap_ValuationAllowancesAndReservesRecoveries
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
25,111us-gaap_ValuationAllowancesAndReservesRecoveries
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
 
Net write-down related to loans sold (8,850)bpop_FinancingReceivableAllowanceForCreditLossesOtherAdjustments
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
0bpop_FinancingReceivableAllowanceForCreditLossesOtherAdjustments
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
 
Net write-downs related to loans transferred to discontinued operations (1,400)bpop_NetWriteDownsRelatedToLoansTransferredToDiscontinuedOperations
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
   
Balance at end of period 2,944us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
13,704us-gaap_FinancingReceivableAllowanceForCreditLosses
/ 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 [Line Items]      
Balance at end of period 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
 
Legacy [Member] | Covered Under Loss Sharing Agreements With F D I C [Member]      
Financing Receivable, Allowance for Credit Losses [Line Items]      
Balance at end of period 0us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
0us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
 
Legacy [Member] | UNITED STATES | Non Covered Under Loss Sharing Agreements With F D I C [Member]      
Financing Receivable, Allowance for Credit Losses [Line Items]      
Balance at end of period 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
 
Legacy [Member] | UNITED STATES | Non Covered Under Loss Sharing Agreements With F D I C [Member] | Segment, Continuing Operations [Member]      
Financing Receivable, Allowance for Credit Losses [Line Items]      
Balance at beginning of period 11,335us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
29,070us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
 
Provision for loan losses (8,611)us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
(21,632)us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
 
Allowance transferred from discontinued operations 0bpop_AllowanceTransferredFromDiscontinuedOperations
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
   
Charge-offs (8,071)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
(17,423)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
 
Recoveries 17,141us-gaap_ValuationAllowancesAndReservesRecoveries
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
21,320us-gaap_ValuationAllowancesAndReservesRecoveries
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
 
Net write-down related to loans sold (8,850)bpop_FinancingReceivableAllowanceForCreditLossesOtherAdjustments
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
0bpop_FinancingReceivableAllowanceForCreditLossesOtherAdjustments
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
 
Balance at end of period 2,944us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
11,335us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
 
Legacy [Member] | UNITED STATES | Non Covered Under Loss Sharing Agreements With F D I C [Member] | Segment, Discontinued Operations [Member]      
Financing Receivable, Allowance for Credit Losses [Line Items]      
Balance at beginning of period 2,369us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentDiscontinuedOperationsMember
4,032us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentDiscontinuedOperationsMember
 
Provision for loan losses (1,812)us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentDiscontinuedOperationsMember
(349)us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentDiscontinuedOperationsMember
 
Allowance Transferred To Continuing Operations 0bpop_AllowanceTransferredToContinuingOperations
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentDiscontinuedOperationsMember
   
Charge-offs (557)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentDiscontinuedOperationsMember
(5,105)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentDiscontinuedOperationsMember
 
Recoveries 1,400us-gaap_ValuationAllowancesAndReservesRecoveries
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentDiscontinuedOperationsMember
3,791us-gaap_ValuationAllowancesAndReservesRecoveries
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentDiscontinuedOperationsMember
 
Net write-downs related to loans transferred to discontinued operations (1,400)bpop_NetWriteDownsRelatedToLoansTransferredToDiscontinuedOperations
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentDiscontinuedOperationsMember
   
Balance at end of period 0us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentDiscontinuedOperationsMember
2,369us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentDiscontinuedOperationsMember
 
Finance Leases Portfolio Segment Member      
Financing Receivable, Allowance for Credit Losses [Line Items]      
Balance at beginning of period 10,622us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
2,894us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
 
Provision for loan losses 470us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
11,234us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
 
Charge-offs (6,028)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
(6,034)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
 
Recoveries 2,067us-gaap_ValuationAllowancesAndReservesRecoveries
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
2,528us-gaap_ValuationAllowancesAndReservesRecoveries
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
 
Net write-down related to loans sold 0bpop_FinancingReceivableAllowanceForCreditLossesOtherAdjustments
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
0bpop_FinancingReceivableAllowanceForCreditLossesOtherAdjustments
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
 
Net write-downs related to loans transferred to discontinued operations 0bpop_NetWriteDownsRelatedToLoansTransferredToDiscontinuedOperations
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
   
Balance at end of period 7,131us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
10,622us-gaap_FinancingReceivableAllowanceForCreditLosses
/ 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 [Line Items]      
Balance at end of period 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
 
Finance Leases Portfolio Segment Member | Covered Under Loss Sharing Agreements With F D I C [Member]      
Financing Receivable, Allowance for Credit Losses [Line Items]      
Balance at end of period 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
 
Finance Leases Portfolio Segment Member | PUERTO RICO      
Financing Receivable, Allowance for Credit Losses [Line Items]      
Balance at end of period 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
 
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 [Line Items]      
Balance at beginning of period 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
 
Provision for loan losses 470us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
11,234us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Charge-offs (6,028)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
(6,034)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Recoveries 2,067us-gaap_ValuationAllowancesAndReservesRecoveries
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
2,528us-gaap_ValuationAllowancesAndReservesRecoveries
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Net write-down related to loans sold 0bpop_FinancingReceivableAllowanceForCreditLossesOtherAdjustments
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
0bpop_FinancingReceivableAllowanceForCreditLossesOtherAdjustments
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Balance at end of period 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
 
Finance Leases Portfolio Segment Member | PUERTO RICO | Covered Under Loss Sharing Agreements With F D I C [Member]      
Financing Receivable, Allowance for Credit Losses [Line Items]      
Balance at beginning of period 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
 
Provision for loan losses 0us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
0us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Charge-offs 0us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
0us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Recoveries 0us-gaap_ValuationAllowancesAndReservesRecoveries
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
0us-gaap_ValuationAllowancesAndReservesRecoveries
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Balance at end of period 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
 
Consumer [Member]      
Financing Receivable, Allowance for Credit Losses [Line Items]      
Balance at beginning of period 181,281us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
137,205us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
 
Provision for loan losses 99,443us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
144,928us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
 
Charge-offs (136,659)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
(143,088)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
 
Recoveries 29,913us-gaap_ValuationAllowancesAndReservesRecoveries
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
42,236us-gaap_ValuationAllowancesAndReservesRecoveries
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
 
Net write-down related to loans sold (111)bpop_FinancingReceivableAllowanceForCreditLossesOtherAdjustments
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
0bpop_FinancingReceivableAllowanceForCreditLossesOtherAdjustments
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
 
Net write-downs related to loans transferred to discontinued operations (2,400)bpop_NetWriteDownsRelatedToLoansTransferredToDiscontinuedOperations
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
   
Balance at end of period 171,467us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
181,281us-gaap_FinancingReceivableAllowanceForCreditLosses
/ 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 [Line Items]      
Balance at end of period 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
 
Consumer [Member] | Covered Under Loss Sharing Agreements With F D I C [Member]      
Financing Receivable, Allowance for Credit Losses [Line Items]      
Balance at end of period 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
 
Consumer [Member] | PUERTO RICO      
Financing Receivable, Allowance for Credit Losses [Line Items]      
Balance at end of period 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
 
Consumer [Member] | PUERTO RICO | Non Covered Under Loss Sharing Agreements With F D I C [Member]      
Financing Receivable, Allowance for Credit Losses [Line Items]      
Balance at beginning of period 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
 
Provision for loan losses 98,149us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
128,239us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Charge-offs (122,400)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
(113,616)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Recoveries 25,745us-gaap_ValuationAllowancesAndReservesRecoveries
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
38,056us-gaap_ValuationAllowancesAndReservesRecoveries
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Net write-down related to loans sold 0bpop_FinancingReceivableAllowanceForCreditLossesOtherAdjustments
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
0bpop_FinancingReceivableAllowanceForCreditLossesOtherAdjustments
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Balance at end of period 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
 
Consumer [Member] | PUERTO RICO | Covered Under Loss Sharing Agreements With F D I C [Member]      
Financing Receivable, Allowance for Credit Losses [Line Items]      
Balance at beginning of period 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
 
Provision for loan losses (4,225)us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
2,292us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Charge-offs 2,589us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
(3,952)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Recoveries 291us-gaap_ValuationAllowancesAndReservesRecoveries
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
71us-gaap_ValuationAllowancesAndReservesRecoveries
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Balance at end of period 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
 
Consumer [Member] | UNITED STATES | Non Covered Under Loss Sharing Agreements With F D I C [Member]      
Financing Receivable, Allowance for Credit Losses [Line Items]      
Balance at end of period 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
 
Consumer [Member] | UNITED STATES | Non Covered Under Loss Sharing Agreements With F D I C [Member] | Segment, Continuing Operations [Member]      
Financing Receivable, Allowance for Credit Losses [Line Items]      
Balance at beginning of period 19,205us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
26,383us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
 
Provision for loan losses 7,414us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
10,826us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
 
Allowance transferred from discontinued operations 0bpop_AllowanceTransferredFromDiscontinuedOperations
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
   
Charge-offs (15,948)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
(21,622)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
 
Recoveries 3,783us-gaap_ValuationAllowancesAndReservesRecoveries
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
3,618us-gaap_ValuationAllowancesAndReservesRecoveries
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
 
Net write-down related to loans sold (111)bpop_FinancingReceivableAllowanceForCreditLossesOtherAdjustments
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
0bpop_FinancingReceivableAllowanceForCreditLossesOtherAdjustments
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
 
Balance at end of period 14,343us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
19,205us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
 
Consumer [Member] | UNITED STATES | Non Covered Under Loss Sharing Agreements With F D I C [Member] | Segment, Discontinued Operations [Member]      
Financing Receivable, Allowance for Credit Losses [Line Items]      
Balance at beginning of period 5,101us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentDiscontinuedOperationsMember
4,937us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentDiscontinuedOperationsMember
 
Provision for loan losses (1,895)us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentDiscontinuedOperationsMember
3,571us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentDiscontinuedOperationsMember
 
Allowance Transferred To Continuing Operations 0bpop_AllowanceTransferredToContinuingOperations
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentDiscontinuedOperationsMember
   
Charge-offs (900)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentDiscontinuedOperationsMember
(3,898)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentDiscontinuedOperationsMember
 
Recoveries 94us-gaap_ValuationAllowancesAndReservesRecoveries
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentDiscontinuedOperationsMember
491us-gaap_ValuationAllowancesAndReservesRecoveries
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentDiscontinuedOperationsMember
 
Net write-downs related to loans transferred to discontinued operations (2,400)bpop_NetWriteDownsRelatedToLoansTransferredToDiscontinuedOperations
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentDiscontinuedOperationsMember
   
Balance at end of period $ 0us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentDiscontinuedOperationsMember
$ 5,101us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentDiscontinuedOperationsMember