XML 144 R123.htm IDEA: XBRL DOCUMENT v2.4.1.9
Allowance Movement (Detail) (USD $)
In Thousands, unless otherwise specified
3 Months Ended
Mar. 31, 2015
Mar. 31, 2014
Dec. 31, 2014
Financing Receivable, Allowance for Credit Losses [Line Items]      
Balance at beginning of period $ 601,792us-gaap_FinancingReceivableAllowanceForCreditLosses $ 640,555us-gaap_FinancingReceivableAllowanceForCreditLosses  
Provision for loan losses 40,035us-gaap_ProvisionForLoanLeaseAndOtherLosses 73,072us-gaap_ProvisionForLoanLeaseAndOtherLosses  
Charge-offs (81,815)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs (112,773)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs  
Recoveries 26,005us-gaap_ValuationAllowancesAndReservesRecoveries 39,494us-gaap_ValuationAllowancesAndReservesRecoveries  
Net write-down related to loans sold 2,680bpop_FinancingReceivableAllowanceForCreditLossesOtherAdjustments    
Balance at end of period 588,697us-gaap_FinancingReceivableAllowanceForCreditLosses 640,348us-gaap_FinancingReceivableAllowanceForCreditLosses  
Segment, Continuing Operations [Member]      
Financing Receivable, Allowance for Credit Losses [Line Items]      
Provision for loan losses 40,035us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
79,836us-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 beginning of period     519,719us-gaap_FinancingReceivableAllowanceForCreditLosses
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
Balance at end of period 516,224us-gaap_FinancingReceivableAllowanceForCreditLosses
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
  519,719us-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 beginning of period     82,073us-gaap_FinancingReceivableAllowanceForCreditLosses
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
Balance at end of period 72,473us-gaap_FinancingReceivableAllowanceForCreditLosses
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
  82,073us-gaap_FinancingReceivableAllowanceForCreditLosses
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
PUERTO RICO      
Financing Receivable, Allowance for Credit Losses [Line Items]      
Balance at beginning of period     571,208us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_StatementGeographicalAxis
= country_PR
Balance at end of period 556,749us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_StatementGeographicalAxis
= country_PR
  571,208us-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 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
 
Provision for loan losses 31,913us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
53,915us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Charge-offs (51,481)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
(61,422)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Recoveries 14,709us-gaap_ValuationAllowancesAndReservesRecoveries
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
15,472us-gaap_ValuationAllowancesAndReservesRecoveries
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Balance at end of period 484,276us-gaap_FinancingReceivableAllowanceForCreditLosses
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
434,740us-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 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
 
Provision for loan losses 10,324us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
25,714us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Charge-offs (26,671)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
(32,310)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Recoveries 6,747us-gaap_ValuationAllowancesAndReservesRecoveries
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
2,277us-gaap_ValuationAllowancesAndReservesRecoveries
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Balance at end of period 72,473us-gaap_FinancingReceivableAllowanceForCreditLosses
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
97,773us-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 beginning of period     30,584us-gaap_FinancingReceivableAllowanceForCreditLosses
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
Balance at end of period 31,948us-gaap_FinancingReceivableAllowanceForCreditLosses
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
  30,584us-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 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
 
Provision for loan losses (2,202)us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
207us-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 (3,663)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
(14,589)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
 
Recoveries 4,549us-gaap_ValuationAllowancesAndReservesRecoveries
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
11,748us-gaap_ValuationAllowancesAndReservesRecoveries
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
 
Net write-down related to loans sold 2,680bpop_FinancingReceivableAllowanceForCreditLossesOtherAdjustments
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
   
Balance at end of period 31,948us-gaap_FinancingReceivableAllowanceForCreditLosses
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
87,633us-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
 
Provision for loan losses   (6,764)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
 
Recoveries   9,997us-gaap_ValuationAllowancesAndReservesRecoveries
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentDiscontinuedOperationsMember
 
Balance at end of period   20,202us-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 242,108us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
217,180us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
 
Provision for loan losses 973us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
12,943us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
 
Charge-offs (24,261)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
(38,071)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
 
Recoveries 8,339us-gaap_ValuationAllowancesAndReservesRecoveries
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
18,551us-gaap_ValuationAllowancesAndReservesRecoveries
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
 
Net write-down related to loans sold 0bpop_FinancingReceivableAllowanceForCreditLossesOtherAdjustments
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
   
Balance at end of period 227,159us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
210,603us-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 beginning of period     211,237us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
Balance at end of period 205,892us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
  211,237us-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 beginning of period     30,871us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
Balance at end of period 21,267us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
  30,871us-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 beginning of period     232,460us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ us-gaap_StatementGeographicalAxis
= country_PR
Balance at end of period 216,733us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ us-gaap_StatementGeographicalAxis
= country_PR
  232,460us-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 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
 
Provision for loan losses (1,321)us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
11,157us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Charge-offs (9,572)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
(22,117)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Recoveries 4,770us-gaap_ValuationAllowancesAndReservesRecoveries
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
6,944us-gaap_ValuationAllowancesAndReservesRecoveries
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Balance at end of period 195,466us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
124,134us-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 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
 
Provision for loan losses 1,995us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
4,039us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Charge-offs (14,239)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
(7,968)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Recoveries 2,640us-gaap_ValuationAllowancesAndReservesRecoveries
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
320us-gaap_ValuationAllowancesAndReservesRecoveries
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Balance at end of period 21,267us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
38,589us-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 beginning of period     9,648us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
Balance at end of period 10,426us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
  9,648us-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 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
 
Provision for loan losses 299us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
578us-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 (450)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
(4,991)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 929us-gaap_ValuationAllowancesAndReservesRecoveries
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
3,004us-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 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 10,426us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
31,505us-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
 
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
 
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
 
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
 
Balance at end of period   16,375us-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 13,872us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
24,833us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
 
Provision for loan losses 125us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
15,753us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
 
Charge-offs (9,046)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
(23,397)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
 
Recoveries 6,200us-gaap_ValuationAllowancesAndReservesRecoveries
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
4,079us-gaap_ValuationAllowancesAndReservesRecoveries
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
 
Net write-down related to loans sold 0bpop_FinancingReceivableAllowanceForCreditLossesOtherAdjustments
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
   
Balance at end of period 11,151us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
21,268us-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 beginning of period     6,670us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
Balance at end of period 3,444us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
  6,670us-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 beginning of period     7,202us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
Balance at end of period 7,707us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
  7,202us-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 beginning of period     12,685us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ us-gaap_StatementGeographicalAxis
= country_PR
Balance at end of period 9,302us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ us-gaap_StatementGeographicalAxis
= country_PR
  12,685us-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,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
 
Provision for loan losses (6,813)us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
(1,394)us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Charge-offs 0us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
(416)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Recoveries 2,925us-gaap_ValuationAllowancesAndReservesRecoveries
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
1,794us-gaap_ValuationAllowancesAndReservesRecoveries
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Balance at end of period 1,595us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
5,079us-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 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
 
Provision for loan losses 6,276us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
17,567us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Charge-offs (9,046)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
(22,981)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Recoveries 3,275us-gaap_ValuationAllowancesAndReservesRecoveries
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
1,889us-gaap_ValuationAllowancesAndReservesRecoveries
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Balance at end of period 7,707us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
15,966us-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 beginning of period     1,187us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
Balance at end of period 1,849us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
  1,187us-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 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
 
Provision for loan losses 662us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
(194)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 0us-gaap_ValuationAllowancesAndReservesRecoveries
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
176us-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
   
Balance at end of period 1,849us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
196us-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
 
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
 
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
 
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
 
Balance at end of period   27us-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 164,270us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
192,935us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
 
Provision for loan losses 12,867us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
19,918us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
 
Charge-offs (14,580)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
(11,920)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
 
Recoveries 672us-gaap_ValuationAllowancesAndReservesRecoveries
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
878us-gaap_ValuationAllowancesAndReservesRecoveries
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
 
Net write-down related to loans sold 6,081bpop_FinancingReceivableAllowanceForCreditLossesOtherAdjustments
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
   
Balance at end of period 169,310us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
201,811us-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 beginning of period     123,322us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
Balance at end of period 128,841us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
  123,322us-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 beginning of period     40,948us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
Balance at end of period 40,469us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
  40,948us-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 beginning of period     161,808us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_StatementGeographicalAxis
= country_PR
Balance at end of period 167,048us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_StatementGeographicalAxis
= country_PR
  161,808us-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 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
 
Provision for loan losses 16,192us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
15,982us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Charge-offs (10,973)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
(8,726)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Recoveries 500us-gaap_ValuationAllowancesAndReservesRecoveries
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
210us-gaap_ValuationAllowancesAndReservesRecoveries
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Balance at end of period 126,579us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
137,796us-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 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
 
Provision for loan losses 2,802us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
4,498us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Charge-offs (3,386)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
(1,656)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Recoveries 105us-gaap_ValuationAllowancesAndReservesRecoveries
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
0us-gaap_ValuationAllowancesAndReservesRecoveries
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Balance at end of period 40,469us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
38,848us-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 beginning of period     2,462us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
Balance at end of period 2,262us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
  2,462us-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 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
 
Provision for loan losses (6,127)us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
(562)us-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 (221)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
(1,538)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 67us-gaap_ValuationAllowancesAndReservesRecoveries
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
668us-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 6,081bpop_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,262us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
25,167us-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
 
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
 
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
 
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
 
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
 
Legacy [Member]      
Financing Receivable, Allowance for Credit Losses [Line Items]      
Balance at beginning of period 2,944us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
13,704us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
 
Provision for loan losses (1,810)us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
(5,484)us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
 
Charge-offs (474)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
(3,541)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
 
Recoveries 2,302us-gaap_ValuationAllowancesAndReservesRecoveries
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
8,593us-gaap_ValuationAllowancesAndReservesRecoveries
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
 
Net write-down related to loans sold 0bpop_FinancingReceivableAllowanceForCreditLossesOtherAdjustments
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
   
Balance at end of period 2,962us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
13,272us-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 beginning of period     2,944us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
Balance at end of period 2,962us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
  2,944us-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 beginning of period     0us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
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 beginning of period     2,944us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
Balance at end of period 2,962us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
  2,944us-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 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
 
Provision for loan losses (1,810)us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
(3,672)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 (474)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
(2,984)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
 
Recoveries 2,302us-gaap_ValuationAllowancesAndReservesRecoveries
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
7,193us-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 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,962us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= bpop_LegacyMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
11,872us-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
 
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
 
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
 
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
 
Balance at end of period   1,400us-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 7,131us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
10,622us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
 
Provision for loan losses 846us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
517us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
 
Charge-offs (1,237)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
(967)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
 
Recoveries 468us-gaap_ValuationAllowancesAndReservesRecoveries
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
311us-gaap_ValuationAllowancesAndReservesRecoveries
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
 
Net write-down related to loans sold 0bpop_FinancingReceivableAllowanceForCreditLossesOtherAdjustments
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
   
Balance at end of period 7,208us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
10,483us-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 beginning of period     7,131us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
Balance at end of period 7,208us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
  7,131us-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 beginning of period     0us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
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 beginning of period     7,131us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
/ us-gaap_StatementGeographicalAxis
= country_PR
Balance at end of period 7,208us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
/ us-gaap_StatementGeographicalAxis
= country_PR
  7,131us-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 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
 
Provision for loan losses 846us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
517us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Charge-offs (1,237)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
(967)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Recoveries 468us-gaap_ValuationAllowancesAndReservesRecoveries
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
311us-gaap_ValuationAllowancesAndReservesRecoveries
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Balance at end of period 7,208us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_FinanceLeasesPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
10,483us-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 171,467us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
181,281us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
 
Provision for loan losses 27,034us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
29,425us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
 
Charge-offs (32,217)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
(34,877)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
 
Recoveries 8,024us-gaap_ValuationAllowancesAndReservesRecoveries
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
7,082us-gaap_ValuationAllowancesAndReservesRecoveries
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
 
Net write-down related to loans sold (3,401)bpop_FinancingReceivableAllowanceForCreditLossesOtherAdjustments
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
   
Balance at end of period 170,907us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
182,911us-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 beginning of period     168,415us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
Balance at end of period 167,877us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
  168,415us-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 beginning of period     3,052us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
Balance at end of period 3,030us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
  3,052us-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 beginning of period     157,124us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ us-gaap_StatementGeographicalAxis
= country_PR
Balance at end of period 156,458us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ us-gaap_StatementGeographicalAxis
= country_PR
  157,124us-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 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
 
Provision for loan losses 23,009us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
27,653us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Charge-offs (29,699)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
(29,196)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Recoveries 6,046us-gaap_ValuationAllowancesAndReservesRecoveries
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
6,213us-gaap_ValuationAllowancesAndReservesRecoveries
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Balance at end of period 153,428us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
157,248us-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 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
 
Provision for loan losses (749)us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
(390)us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Charge-offs 0us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
295us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Recoveries 727us-gaap_ValuationAllowancesAndReservesRecoveries
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
68us-gaap_ValuationAllowancesAndReservesRecoveries
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
 
Balance at end of period 3,030us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_CoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_PR
4,370us-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 beginning of period     14,343us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
Balance at end of period 14,449us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
  14,343us-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 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
 
Provision for loan losses 4,774us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
4,057us-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 (2,518)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
(5,076)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 1,251us-gaap_ValuationAllowancesAndReservesRecoveries
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
707us-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 (3,401)bpop_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,449us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
18,893us-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
 
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
 
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
 
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
 
Balance at end of period   $ 2,400us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ bpop_BankingAgenciesAxis
= bpop_NonCoveredUnderLossSharingAgreementsWithFDICMember
/ us-gaap_StatementGeographicalAxis
= country_US
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentDiscontinuedOperationsMember