XML 36 R2.htm IDEA: XBRL DOCUMENT
v3.25.1

Pay vs Performance Disclosure - USD ($) | 2 Months Ended | 10 Months Ended | 12 Months Ended
--- | --- | --- | ---
Feb. 28, 2021 | Dec. 31, 2021 | Dec. 31, 2024 | Dec. 31, 2023 | Dec. 31, 2022 | Dec. 31, 2021 | Dec. 31, 2020
Pay vs Performance Disclosure |  |  |  |  |  |  |
Pay vs Performance Disclosure, Table |  |  |
Year | Summary Compensation Table Total for Current CEO(1) | Compensation Actually Paid (CAP) to Current CEO(1,2) | Summary Compensation Table Total for Former CEO(1) | Compensation Actually Paid (CAP) to Former CEO(1,2) | Average Summary Compensation Table Total for Non-CEO NEOs(1) | Average Compensation Actually Paid (CAP) to Non- CEO NEOs(1,2) | Value of Initial Fixed $100 Investment Based On:(3) | Net Income (Loss) (in thousands) | Non-GAAP Revenue in Constant Currency (in thousands) (5)
|  |  |  |  |  |  | Company TSR | Peer Group TSR(4) |  |
2024 | $4,288,063 |  | $4,495,491 |  | NA | NA | $1,212,388 |  | $1,048,910 |  | $38.5 |  | $115.0 |  | $16,593 |  | $499,014 |
2023 | $5,126,861 |  | $6,729,460 |  | NA | NA | $1,242,867 |  | $1,552,217 |  | $38.4 |  | $100.1 |  | $17,220 |  | $504,044 |
2022 | $4,619,545 |  | $2,034,934 |  | NA | NA | $1,017,900 |  | $550,832 |  | $25.1 |  | $88.8 |  | ($103,462) |  | $500,005 |
2021 | $3,022,116 |  | $504,316 |  | $178,812 |  | ($5,566,128) |  | $1,187,153 |  | ($354,016) |  | $50.6 |  | $140.9 |  | $33,372 |  | $484,799 |
2020 | NA | NA | $3,407,218 |  | $6,736,558 |  | $1,028,556 |  | $2,350,811 |  | $151.1 |  | $116.3 |  | $50,867 |  | $433,379 |
Company Selected Measure Name |  |  | revenue in constant currency |  |  |  |
Named Executive Officers, Footnote |  |  | The current CEO is Robert Bodor, who began serving as CEO effective March 1, 2021. The former CEO is Victoria M. Holt, who retired effective February 28, 2021.
Year | Current CEO | Former CEO | Non-CEO NEOs
2024 | Robert Bodor |  | Daniel Schumacher, Michael R. Kenison, Oleg Ryaboy, and Bjoern Klaas
2023 | Robert Bodor |  | Daniel Schumacher, Michael R. Kenison, Bjoern Klaas, and Oleg Ryaboy
2022 | Robert Bodor |  | Daniel Schumacher, Michael R. Kenison, Bjoern Klaas, Oleg Ryaboy, and Arthur R. Baker III
2021 | Robert Bodor | Victoria Holt | Daniel Schumacher, Arthur R. Baker III, Michael R. Kenison, Bjoern Klaas, and John A. Way
2020 |  | Victoria Holt | Robert Bodor, Arthur R. Baker III, Bjoern Klaas, and John A. Way
Peer Group Issuers, Footnote |  |  | Our selected peer group for each of 2023 and 2024 is the peer group discussed above under "Compensation Discussion and Analysis - Peer Group" (our "CD&A Peer Group"). The reasons for the changes between 2023 and 2024 of the companies that were included in the peer group are described above under "Compensation Discussion and Analysis - Peer Group." In our pay versus performance disclosures for 2020, 2021, and 2022, we used the Russell 2000 Growth Index as our peer group. Pursuant to SEC guidance, we have changed our peer group. Our CD&A Peer Group included the following companies for the 2023 and 2024 fiscal years:
Year | CD&A Peer Group
2024 | 3D Systems Corporation, Allient, Inc., Badger Meter, Inc., Cerence Inc., CTS Corporation, Enerpac Tool Group Corp, ESCO Technologies, Inc., FARO Technologies, Inc., Helios Technologies Inc., Lindsay Corporation, Rimini Street, Inc., Semtech Corporation, SPS Commerce, Inc., Vicor Corporation, and Vishay Precision Group, Inc.
2023 | 3D Systems Corporation, Badger Meter, Inc., Cerence Inc., CTS Corporation, Enerpac Tool Group Corp, ESCO Technologies, Inc., FARO Technologies, Inc., Helios Technologies Inc., Lindsay Corporation, Novanta Inc., RBC Bearings Incorporated, Semtech Corporation, SPS Commerce, Inc., and Vicor Corporation.
A comparison of our TSR, the Russell 2000 Growth Index TSR, and our CD&A Peer Group TSR (adjusted for each respective year's group) is below:
Value of $100 Initial Fixed Investment on December 31, 2019
Year | PRLB | Russell 2000 Growth Index | 2023 CD&A Peer Group | 2024 CD&A Peer Group
2024 | $39 | $143 | $163 | $115
2023 | $38 | $128 | $148 | $100
2022 | $25 | $110 | $123 | $89
2021 | $51 | $138 | $177 | $141
2020 | $151 | $120 | $144 | $116
PEO Total Compensation Amount |  |  | $ 4,288,063 |  |  |  |
PEO Actually Paid Compensation Amount |  |  | $ 4,495,491 |  |  |  |
Adjustment To PEO Compensation, Footnote |  |  | We did not report a change in pension value for any of the years reflected in this table; therefore, an adjustment to the SCT totals related to pension value is not needed. To calculate compensation actually paid (“CAP”), the following adjustments were made to SCT Total Compensation: 2024 CAP for the current CEO and the average CAP for the non-CEO NEOs reflects the following adjustments from Total Compensation reported in the SCT:
| Current CEO | Average
| Non-CEO NEOs
Total 2024 Compensation reported in Summary Compensation Table (SCT) | $4,288,063 |  | $1,212,388 |
Adjustments for stock and option awards |  |
Subtract SCT amounts of stock and option awards | (3,656,863) |  | (684,899) |
Add fair value at year-end of awards granted during fiscal year 2024 that are outstanding and unvested at 2024 year-end | 4,291,834 |  | 671,141 |
+/- The difference between fair value of awards from the end of fiscal year 2023 to the end of fiscal year 2024 for awards granted in any prior fiscal year that are outstanding and unvested at 2024 year-end | 4,106 |  | 10 |
Add the fair value as of the vesting date for awards granted and vesting during fiscal year 2024 | — |  | 16,734 |
+/- The change in fair value from the end of fiscal year 2023 to the vesting date for awards granted in any prior fiscal year for which all applicable vesting conditions were satisfied during fiscal year 2024 | (431,649) |  | (75,205) |
Subtract fair value at end of prior year for awards granted in any prior fiscal year that fail to meet the applicable vesting conditions during fiscal year 2024 | — |  | (91,259) |
Add dividends or other earnings paid on stock or option awards in 2024 prior to vesting if not otherwise included in total compensation for fiscal year 2024 | — |  | — |
Compensation Actually Paid for Fiscal Year 2024 (as calculated) | $4,495,491 |  | $1,048,910 |
Non-PEO NEO Average Total Compensation Amount |  |  | $ 1,212,388 | $ 1,242,867 | $ 1,017,900 | $ 1,187,153 | $ 1,028,556
Non-PEO NEO Average Compensation Actually Paid Amount |  |  | $ 1,048,910 | 1,552,217 | 550,832 | (354,016) | 2,350,811
Adjustment to Non-PEO NEO Compensation Footnote |  |  | We did not report a change in pension value for any of the years reflected in this table; therefore, an adjustment to the SCT totals related to pension value is not needed. To calculate compensation actually paid (“CAP”), the following adjustments were made to SCT Total Compensation: 2024 CAP for the current CEO and the average CAP for the non-CEO NEOs reflects the following adjustments from Total Compensation reported in the SCT:
| Current CEO | Average
| Non-CEO NEOs
Total 2024 Compensation reported in Summary Compensation Table (SCT) | $4,288,063 |  | $1,212,388 |
Adjustments for stock and option awards |  |
Subtract SCT amounts of stock and option awards | (3,656,863) |  | (684,899) |
Add fair value at year-end of awards granted during fiscal year 2024 that are outstanding and unvested at 2024 year-end | 4,291,834 |  | 671,141 |
+/- The difference between fair value of awards from the end of fiscal year 2023 to the end of fiscal year 2024 for awards granted in any prior fiscal year that are outstanding and unvested at 2024 year-end | 4,106 |  | 10 |
Add the fair value as of the vesting date for awards granted and vesting during fiscal year 2024 | — |  | 16,734 |
+/- The change in fair value from the end of fiscal year 2023 to the vesting date for awards granted in any prior fiscal year for which all applicable vesting conditions were satisfied during fiscal year 2024 | (431,649) |  | (75,205) |
Subtract fair value at end of prior year for awards granted in any prior fiscal year that fail to meet the applicable vesting conditions during fiscal year 2024 | — |  | (91,259) |
Add dividends or other earnings paid on stock or option awards in 2024 prior to vesting if not otherwise included in total compensation for fiscal year 2024 | — |  | — |
Compensation Actually Paid for Fiscal Year 2024 (as calculated) | $4,495,491 |  | $1,048,910 |
Compensation Actually Paid vs. Total Shareholder Return |  |  | Compensation Actually Paid Versus TSR TSR in the above chart, in the case of both our Company and our peer group, reflects the cumulative return of $100 as if invested on December 31, 2019, including reinvestment of any dividends. |  |  |  |
Compensation Actually Paid vs. Net Income |  |  | Compensation Actually Paid Versus Net Income (Loss) |  |  |  |
Compensation Actually Paid vs. Company Selected Measure |  |  | Compensation Actually Paid Versus Revenue in Constant Currency Compensation decisions at our Company are made independently of disclosure requirements. Therefore, the relationships between pay and performance as described above were not considered by the compensation and talent committee in determining CAP for any of the five years reported. |  |  |  |
Total Shareholder Return Vs Peer Group |  |  | Compensation Actually Paid Versus TSR TSR in the above chart, in the case of both our Company and our peer group, reflects the cumulative return of $100 as if invested on December 31, 2019, including reinvestment of any dividends. |  |  |  |
Tabular List, Table |  |  |
Most Important Performance Measures
Revenue in Constant Currency(1)
3-Year Cumulative TSR Performance relative to Russell 2000 Growth Index
Adjusted Operating Income(2)
Total Shareholder Return Amount |  |  | $ 38.5 | 38.4 | 25.1 | 50.6 | 151.1
Peer Group Total Shareholder Return Amount |  |  | 115.0 | 100.1 | 88.8 | 140.9 | 116.3
Net Income (Loss) |  |  | $ 16,593,000 | $ 17,220,000 | $ (103,462,000) | $ 33,372,000 | $ 50,867,000
Company Selected Measure Amount |  |  | 499,014,000 | 504,044,000 | 500,005,000 | 484,799,000 | 433,379,000
PEO Name | Victoria Holt | Robert Bodor | Robert Bodor | Robert Bodor | Robert Bodor |  | Victoria Holt
Additional 402(v) Disclosure |  |  | TSR, in the case of both our Company and our peer group, reflects the cumulative return of $100 as if invested on December 31, 2019, including reinvestment of any dividends. |  |  |  |
Russell 2000 Growth Index Total Shareholder Return Amount |  |  | $ 143 | $ 128 | $ 110 | $ 138 | $ 120
2023 CD&A Peer Group Total Shareholder Return Amount |  |  | 163 | 148 | 123 | 177 | 144
2024 CD&A Peer Group Total Shareholder Return Amount |  |  | $ 115 | 100 | 89 | 141 | 116
Measure:: 1 |  |  |  |  |  |  |
Pay vs Performance Disclosure |  |  |  |  |  |  |
Name |  |  | Revenue in Constant Currency(1) |  |  |  |
Non-GAAP Measure Description |  |  | Our Company-selected measure, which is the measure we believe represents the most important financial performance not otherwise presented in the table above that we used to link CAP for our NEOs for fiscal 2024 to our Company’s performance is our Company’s revenue in constant currency, a non-GAAP measure, which is GAAP revenue calculated to exclude the impact of foreign currency exchange rates. For information regarding GAAP revenue and the impact of foreign currency exchange rates, see our earnings release filed as an exhibit to our Current Report on Form 8-K filed on February 7, 2025.Revenue in constant currency is a non-GAAP financial measure that consists of GAAP revenue which is then adjusted to eliminate the impact of changes in foreign currency exchange rates. |  |  |  |
Measure:: 2 |  |  |  |  |  |  |
Pay vs Performance Disclosure |  |  |  |  |  |  |
Name |  |  | 3-Year Cumulative TSR Performance relative to Russell 2000 Growth Index |  |  |  |
Measure:: 3 |  |  |  |  |  |  |
Pay vs Performance Disclosure |  |  |  |  |  |  |
Name |  |  | Adjusted Operating Income(2) |  |  |  |
Non-GAAP Measure Description |  |  | Adjusted operating income is a non-GAAP financial measure that consists of GAAP income from operations which is then adjusted to eliminate the effect of items or events that the compensation and talent committee determines in its discretion should be excluded for compensation purposes. |  |  |  |
Robert Bodor [Member] |  |  |  |  |  |  |
Pay vs Performance Disclosure |  |  |  |  |  |  |
PEO Total Compensation Amount |  |  | $ 4,288,063 | 5,126,861 | 4,619,545 | 3,022,116 |
PEO Actually Paid Compensation Amount |  |  | 4,495,491 | $ 6,729,460 | $ 2,034,934 | 504,316 |
Victoria M. Holt [Member] |  |  |  |  |  |  |
Pay vs Performance Disclosure |  |  |  |  |  |  |
PEO Total Compensation Amount |  |  |  |  |  | 178,812 | 3,407,218
PEO Actually Paid Compensation Amount |  |  |  |  |  | $ (5,566,128) | $ 6,736,558
PEO | Aggregate Grant Date Fair Value of Equity Award Amounts Reported in Summary Compensation Table |  |  |  |  |  |  |
Pay vs Performance Disclosure |  |  |  |  |  |  |
Adjustment to Compensation, Amount |  |  | (3,656,863) |  |  |  |
PEO | Year-end Fair Value of Equity Awards Granted in Covered Year that are Outstanding and Unvested |  |  |  |  |  |  |
Pay vs Performance Disclosure |  |  |  |  |  |  |
Adjustment to Compensation, Amount |  |  | 4,291,834 |  |  |  |
PEO | Year-over-Year Change in Fair Value of Equity Awards Granted in Prior Years That are Outstanding and Unvested |  |  |  |  |  |  |
Pay vs Performance Disclosure |  |  |  |  |  |  |
Adjustment to Compensation, Amount |  |  | 4,106 |  |  |  |
PEO | Vesting Date Fair Value of Equity Awards Granted and Vested in Covered Year |  |  |  |  |  |  |
Pay vs Performance Disclosure |  |  |  |  |  |  |
Adjustment to Compensation, Amount |  |  | 0 |  |  |  |
PEO | Change in Fair Value as of Vesting Date of Prior Year Equity Awards Vested in Covered Year |  |  |  |  |  |  |
Pay vs Performance Disclosure |  |  |  |  |  |  |
Adjustment to Compensation, Amount |  |  | (431,649) |  |  |  |
PEO | Prior Year End Fair Value of Equity Awards Granted in Any Prior Year that Fail to Meet Applicable Vesting Conditions During Covered Year |  |  |  |  |  |  |
Pay vs Performance Disclosure |  |  |  |  |  |  |
Adjustment to Compensation, Amount |  |  | 0 |  |  |  |
PEO | Dividends or Other Earnings Paid on Equity Awards not Otherwise Reflected in Total Compensation for Covered Year |  |  |  |  |  |  |
Pay vs Performance Disclosure |  |  |  |  |  |  |
Adjustment to Compensation, Amount |  |  | 0 |  |  |  |
Non-PEO NEO | Aggregate Grant Date Fair Value of Equity Award Amounts Reported in Summary Compensation Table |  |  |  |  |  |  |
Pay vs Performance Disclosure |  |  |  |  |  |  |
Adjustment to Compensation, Amount |  |  | (684,899) |  |  |  |
Non-PEO NEO | Year-end Fair Value of Equity Awards Granted in Covered Year that are Outstanding and Unvested |  |  |  |  |  |  |
Pay vs Performance Disclosure |  |  |  |  |  |  |
Adjustment to Compensation, Amount |  |  | 671,141 |  |  |  |
Non-PEO NEO | Year-over-Year Change in Fair Value of Equity Awards Granted in Prior Years That are Outstanding and Unvested |  |  |  |  |  |  |
Pay vs Performance Disclosure |  |  |  |  |  |  |
Adjustment to Compensation, Amount |  |  | 10 |  |  |  |
Non-PEO NEO | Vesting Date Fair Value of Equity Awards Granted and Vested in Covered Year |  |  |  |  |  |  |
Pay vs Performance Disclosure |  |  |  |  |  |  |
Adjustment to Compensation, Amount |  |  | 16,734 |  |  |  |
Non-PEO NEO | Change in Fair Value as of Vesting Date of Prior Year Equity Awards Vested in Covered Year |  |  |  |  |  |  |
Pay vs Performance Disclosure |  |  |  |  |  |  |
Adjustment to Compensation, Amount |  |  | (75,205) |  |  |  |
Non-PEO NEO | Prior Year End Fair Value of Equity Awards Granted in Any Prior Year that Fail to Meet Applicable Vesting Conditions During Covered Year |  |  |  |  |  |  |
Pay vs Performance Disclosure |  |  |  |  |  |  |
Adjustment to Compensation, Amount |  |  | (91,259) |  |  |  |
Non-PEO NEO | Dividends or Other Earnings Paid on Equity Awards not Otherwise Reflected in Total Compensation for Covered Year |  |  |  |  |  |  |
Pay vs Performance Disclosure |  |  |  |  |  |  |
Adjustment to Compensation, Amount |  |  | $ 0 |  |  |  |

X
- References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher SEC -Name Regulation S-K -Number 229 -Section 402 -Subsection v + Details
Name: | ecd_Additional402vDisclosureTextBlock
Namespace Prefix: | ecd_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher SEC -Name Regulation S-K -Number 229 -Section 402 -Subsection v -Paragraph 3 + Details
Name: | ecd_AdjToCompAmt
Namespace Prefix: | ecd_
Data Type: | xbrli:monetaryItemType
Balance Type: | na
Period Type: | duration

X
- References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher SEC -Name Regulation S-K -Number 229 -Section 402 -Subsection v -Paragraph 3 + Details
Name: | ecd_AdjToNonPeoNeoCompFnTextBlock
Namespace Prefix: | ecd_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher SEC -Name Regulation S-K -Number 229 -Section 402 -Subsection v -Paragraph 3 + Details
Name: | ecd_AdjToPeoCompFnTextBlock
Namespace Prefix: | ecd_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher SEC -Name Regulation S-K -Number 229 -Section 402 -Subsection v -Paragraph 2 -Subparagraph vi + Details
Name: | ecd_CoSelectedMeasureAmt
Namespace Prefix: | ecd_
Data Type: | xbrli:decimalItemType
Balance Type: | na
Period Type: | duration

X
- References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher SEC -Name Regulation S-K -Number 229 -Section 402 -Subsection v -Paragraph 2 -Subparagraph vi + Details
Name: | ecd_CoSelectedMeasureName
Namespace Prefix: | ecd_
Data Type: | xbrli:normalizedStringItemType
Balance Type: | na
Period Type: | duration

X
- References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher SEC -Name Regulation S-K -Number 229 -Section 402 -Subsection v -Paragraph 5 -Subparagraph iii + Details
Name: | ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock
Namespace Prefix: | ecd_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher SEC -Name Regulation S-K -Number 229 -Section 402 -Subsection v -Paragraph 5 -Subparagraph ii + Details
Name: | ecd_CompActuallyPaidVsNetIncomeTextBlock
Namespace Prefix: | ecd_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher SEC -Name Regulation S-K -Number 229 -Section 402 -Subsection v -Paragraph 5 -Subparagraph i + Details
Name: | ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock
Namespace Prefix: | ecd_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher SEC -Name Regulation S-K -Number 229 -Section 402 -Subsection v -Paragraph 2 -Subparagraph vi + Details
Name: | ecd_MeasureName
Namespace Prefix: | ecd_
Data Type: | xbrli:normalizedStringItemType
Balance Type: | na
Period Type: | duration

X
- References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher SEC -Name Regulation S-K -Number 229 -Section 402 -Subsection v -Paragraph 3 + Details
Name: | ecd_NamedExecutiveOfficersFnTextBlock
Namespace Prefix: | ecd_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher SEC -Name Regulation S-K -Number 229 -Section 402 -Subsection v -Paragraph 2 -Subparagraph vi + Details
Name: | ecd_NonGaapMeasureDescriptionTextBlock
Namespace Prefix: | ecd_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher SEC -Name Regulation S-K -Number 229 -Section 402 -Subsection v -Paragraph 2 -Subparagraph iii + Details
Name: | ecd_NonPeoNeoAvgCompActuallyPaidAmt
Namespace Prefix: | ecd_
Data Type: | xbrli:monetaryItemType
Balance Type: | na
Period Type: | duration

X
- References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher SEC -Name Regulation S-K -Number 229 -Section 402 -Subsection v -Paragraph 2 -Subparagraph ii + Details
Name: | ecd_NonPeoNeoAvgTotalCompAmt
Namespace Prefix: | ecd_
Data Type: | xbrli:monetaryItemType
Balance Type: | na
Period Type: | duration

X
- References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher SEC -Name Regulation S-K -Number 229 -Section 402 -Subsection v -Paragraph 2 -Subparagraph iv + Details
Name: | ecd_PeerGroupIssuersFnTextBlock
Namespace Prefix: | ecd_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher SEC -Name Regulation S-K -Number 229 -Section 402 -Subsection v -Paragraph 2 -Subparagraph iv + Details
Name: | ecd_PeerGroupTotalShareholderRtnAmt
Namespace Prefix: | ecd_
Data Type: | xbrli:monetaryItemType
Balance Type: | na
Period Type: | duration

X
- References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher SEC -Name Regulation S-K -Number 229 -Section 402 -Subsection v -Paragraph 2 -Subparagraph iii + Details
Name: | ecd_PeoActuallyPaidCompAmt
Namespace Prefix: | ecd_
Data Type: | xbrli:monetaryItemType
Balance Type: | na
Period Type: | duration

X
- References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher SEC -Name Regulation S-K -Number 229 -Section 402 -Subsection v -Paragraph 3 + Details
Name: | ecd_PeoName
Namespace Prefix: | ecd_
Data Type: | xbrli:normalizedStringItemType
Balance Type: | na
Period Type: | duration

X
- References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher SEC -Name Regulation S-K -Number 229 -Section 402 -Subsection v -Paragraph 2 -Subparagraph ii + Details
Name: | ecd_PeoTotalCompAmt
Namespace Prefix: | ecd_
Data Type: | xbrli:monetaryItemType
Balance Type: | na
Period Type: | duration

X
- References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher SEC -Name Regulation S-K -Number 229 -Section 402 -Subsection v -Paragraph 1 + Details
Name: | ecd_PvpTable
Namespace Prefix: | ecd_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher SEC -Name Regulation S-K -Number 229 -Section 402 -Subsection v -Paragraph 1 + Details
Name: | ecd_PvpTableTextBlock
Namespace Prefix: | ecd_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher SEC -Name Regulation S-K -Number 229 -Section 402 -Subsection v -Paragraph 6 + Details
Name: | ecd_TabularListTableTextBlock
Namespace Prefix: | ecd_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher SEC -Name Regulation S-K -Number 229 -Section 402 -Subsection v -Paragraph 2 -Subparagraph iv + Details
Name: | ecd_TotalShareholderRtnAmt
Namespace Prefix: | ecd_
Data Type: | xbrli:monetaryItemType
Balance Type: | na
Period Type: | duration

X
- References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher SEC -Name Regulation S-K -Number 229 -Section 402 -Subsection v -Paragraph 5 -Subparagraph iv + Details
Name: | ecd_TotalShareholderRtnVsPeerGroupTextBlock
Namespace Prefix: | ecd_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- References No definition available. + Details
Name: | prlb_A2023CDAPeerGroupTotalShareholderReturnAmount
Namespace Prefix: | prlb_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- References No definition available. + Details
Name: | prlb_A2024CDAPeerGroupTotalShareholderReturnAmount
Namespace Prefix: | prlb_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- References No definition available. + Details
Name: | prlb_Russell2000GrowthIndexTotalShareholderReturnAmount
Namespace Prefix: | prlb_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- Definition The portion of profit or loss for the period, net of income taxes, which is attributable to the parent. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 250 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 6 -Publisher FASB -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Topic 250 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 9 -Publisher FASB -URI https://asc.fasb.org/1943274/2147483443/250-10-50-9 Reference 3: http://www.xbrl.org/2003/role/disclosureRef -Topic 805 -SubTopic 60 -Name Accounting Standards Codification -Section 65 -Paragraph 1 -Subparagraph (g) -Publisher FASB -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1 Reference 4: http://www.xbrl.org/2003/role/disclosureRef -Topic 740 -SubTopic 323 -Name Accounting Standards Codification -Section 65 -Paragraph 2 -Subparagraph (g)(3) -Publisher FASB -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2 Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef -Topic 220 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 2 -Subparagraph (SX 210.5-03(20)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2 Reference 6: http://www.xbrl.org/2003/role/disclosureRef -Topic 235 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1 -Subparagraph (SX 210.4-08(g)(1)(ii)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1 Reference 7: http://www.xbrl.org/2003/role/disclosureRef -Topic 323 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 3 -Subparagraph (c) -Publisher FASB -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3 Reference 8: http://www.xbrl.org/2003/role/disclosureRef -Topic 825 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 28 -Subparagraph (f) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28 Reference 9: http://www.xbrl.org/2003/role/disclosureRef -Topic 220 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 6 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482765/220-10-50-6 Reference 10: http://www.xbrl.org/2003/role/disclosureRef -Topic 250 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 3 -Publisher FASB -URI https://asc.fasb.org/1943274/2147483443/250-10-50-3 Reference 11: http://www.xbrl.org/2003/role/disclosureRef -Topic 250 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 1 -Subparagraph (b)(2) -Publisher FASB -URI https://asc.fasb.org/1943274/2147483443/250-10-50-1 Reference 12: http://www.xbrl.org/2003/role/disclosureRef -Topic 815 -SubTopic 40 -Name Accounting Standards Codification -Section 65 -Paragraph 1 -Subparagraph (f) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1 Reference 13: http://www.xbrl.org/2003/role/disclosureRef -Topic 250 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 8 -Publisher FASB -URI https://asc.fasb.org/1943274/2147483443/250-10-50-8 Reference 14: http://www.xbrl.org/2003/role/disclosureRef -Topic 250 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 11 -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11 Reference 15: http://www.xbrl.org/2003/role/disclosureRef -Topic 250 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 11 -Subparagraph (b) -Publisher FASB -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11 Reference 16: http://www.xbrl.org/2003/role/disclosureRef -Topic 250 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 4 -Publisher FASB -URI https://asc.fasb.org/1943274/2147483443/250-10-50-4 Reference 17: http://www.xbrl.org/2003/role/exampleRef -Topic 946 -SubTopic 830 -Name Accounting Standards Codification -Section 55 -Paragraph 10 -Publisher FASB -URI https://asc.fasb.org/1943274/2147479168/946-830-55-10 Reference 18: http://www.xbrl.org/2003/role/disclosureRef -Topic 946 -SubTopic 220 -Name Accounting Standards Codification -Section 45 -Paragraph 7 -Publisher FASB -URI https://asc.fasb.org/1943274/2147479105/946-220-45-7 Reference 19: http://www.xbrl.org/2003/role/disclosureRef -Topic 944 -SubTopic 220 -Name Accounting Standards Codification -Section S99 -Paragraph 1 -Subparagraph (SX 210.7-04(18)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1 Reference 20: http://www.xbrl.org/2003/role/disclosureRef -Topic 946 -SubTopic 220 -Name Accounting Standards Codification -Section S99 -Paragraph 1 -Subparagraph (SX 210.6-07(9)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1 Reference 21: http://www.xbrl.org/2003/role/disclosureRef -Topic 946 -SubTopic 220 -Name Accounting Standards Codification -Section S99 -Paragraph 3 -Subparagraph (SX 210.6-09(1)(d)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3 Reference 22: http://www.xbrl.org/2003/role/disclosureRef -Topic 470 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1A -Subparagraph (SX 210.13-01(a)(4)(i)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A Reference 23: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 470 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1A -Subparagraph (SX 210.13-01(a)(4)(ii)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A Reference 24: http://www.xbrl.org/2003/role/disclosureRef -Topic 470 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1A -Subparagraph (SX 210.13-01(a)(4)(iii)(A)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A Reference 25: http://www.xbrl.org/2003/role/disclosureRef -Topic 470 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1A -Subparagraph (SX 210.13-01(a)(4)(iv)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A Reference 26: http://www.xbrl.org/2003/role/disclosureRef -Topic 470 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1A -Subparagraph (SX 210.13-01(a)(5)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A Reference 27: http://www.xbrl.org/2003/role/disclosureRef -Topic 470 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1B -Subparagraph (SX 210.13-02(a)(4)(i)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B Reference 28: http://www.xbrl.org/2003/role/disclosureRef -Topic 470 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1B -Subparagraph (SX 210.13-02(a)(4)(iii)(A)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B Reference 29: http://www.xbrl.org/2003/role/disclosureRef -Topic 470 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1B -Subparagraph (SX 210.13-02(a)(4)(iii)(B)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B Reference 30: http://www.xbrl.org/2003/role/disclosureRef -Topic 470 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1B -Subparagraph (SX 210.13-02(a)(4)(iv)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B Reference 31: http://www.xbrl.org/2003/role/disclosureRef -Topic 470 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1B -Subparagraph (SX 210.13-02(a)(5)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B Reference 32: http://www.xbrl.org/2003/role/disclosureRef -Topic 260 -SubTopic 10 -Name Accounting Standards Codification -Section 45 -Paragraph 60B -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482689/260-10-45-60B Reference 33: http://www.xbrl.org/2003/role/disclosureRef -Topic 205 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 7 -Publisher FASB -URI https://asc.fasb.org/1943274/2147483499/205-20-50-7 Reference 34: http://fasb.org/us-gaap/role/ref/legacyRef -Topic 230 -SubTopic 10 -Name Accounting Standards Codification -Section 45 -Paragraph 28 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28 Reference 35: http://www.xbrl.org/2003/role/disclosureRef -Topic 220 -SubTopic 10 -Name Accounting Standards Codification -Section 45 -Paragraph 1A -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1A Reference 36: http://www.xbrl.org/2003/role/disclosureRef -Topic 220 -SubTopic 10 -Name Accounting Standards Codification -Section 45 -Paragraph 1B -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1B Reference 37: http://fasb.org/us-gaap/role/ref/legacyRef -Topic 942 -SubTopic 220 -Name Accounting Standards Codification -Section S99 -Paragraph 1 -Subparagraph (SX 210.9-04(22)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1 + Details
Name: | us-gaap_NetIncomeLoss
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- Details
Name: | ecd_MeasureAxis=1
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | ecd_MeasureAxis=2
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | ecd_MeasureAxis=3
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | ecd_IndividualAxis=prlb_RobertBodorMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | ecd_IndividualAxis=prlb_VictoriaMHoltMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | ecd_ExecutiveCategoryAxis=ecd_PeoMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | ecd_AdjToCompAxis=ecd_EqtyAwrdsInSummryCompstnTblForAplblYrMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | ecd_AdjToCompAxis=ecd_YrEndFrValOfEqtyAwrdsGrntdInCvrdYrOutsdngAndUnvstdMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | ecd_AdjToCompAxis=ecd_ChngInFrValOfOutsdngAndUnvstdEqtyAwrdsGrntdInPrrYrsMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | ecd_AdjToCompAxis=ecd_VstngDtFrValOfEqtyAwrdsGrntdAndVstdInCvrdYrMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | ecd_AdjToCompAxis=ecd_ChngInFrValAsOfVstngDtOfPrrYrEqtyAwrdsVstdInCvrdYrMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | ecd_AdjToCompAxis=ecd_FrValAsOfPrrYrEndOfEqtyAwrdsGrntdInPrrYrsFldVstngCondsDrngCvrdYrMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | ecd_AdjToCompAxis=ecd_DvddsOrOthrErngsPdOnEqtyAwrdsNtOthrwsRflctdInTtlCompForCvrdYrMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | ecd_ExecutiveCategoryAxis=ecd_NonPeoNeoMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |