<SEC-DOCUMENT>0001104659-25-053045.txt : 20250527
<SEC-HEADER>0001104659-25-053045.hdr.sgml : 20250527
<ACCEPTANCE-DATETIME>20250527165407
ACCESSION NUMBER:		0001104659-25-053045
CONFORMED SUBMISSION TYPE:	S-8
PUBLIC DOCUMENT COUNT:		17
FILED AS OF DATE:		20250527
DATE AS OF CHANGE:		20250527
EFFECTIVENESS DATE:		20250527

FILER:

	COMPANY DATA:	
		COMPANY CONFORMED NAME:			Proto Labs Inc
		CENTRAL INDEX KEY:			0001443669
		STANDARD INDUSTRIAL CLASSIFICATION:	FABRICATED STRUCTURAL METAL PRODUCTS [3440]
		ORGANIZATION NAME:           	04 Manufacturing
		EIN:				000000000
		FISCAL YEAR END:			1231

	FILING VALUES:
		FORM TYPE:		S-8
		SEC ACT:		1933 Act
		SEC FILE NUMBER:	333-287598
		FILM NUMBER:		25989521

	BUSINESS ADDRESS:	
		STREET 1:		5540 Pioneer Creek
		CITY:			Maple Plain
		STATE:			MN
		ZIP:			55359
		BUSINESS PHONE:		763-479-7474

	MAIL ADDRESS:	
		STREET 1:		5540 Pioneer Creek
		CITY:			Maple Plain
		STATE:			MN
		ZIP:			55359
</SEC-HEADER>
<DOCUMENT>
<TYPE>S-8
<SEQUENCE>1
<FILENAME>tm2516136d2_s8.htm
<DESCRIPTION>FORM S-8
<TEXT>
<HTML>
<HEAD>
     <TITLE></TITLE>
</HEAD>
<BODY STYLE="font: 10pt Times New Roman, Times, Serif">

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><B>As filed with the Securities and Exchange Commission
on May&nbsp;27, 2025</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"><B>Registration No.&nbsp;333-</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"></P>

<!-- Field: Rule-Page --><DIV STYLE="width: 100%"><DIV STYLE="font-size: 1pt; border-top: Black 2pt solid; border-bottom: Black 1pt solid">&nbsp;</DIV></DIV><!-- Field: /Rule-Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><B>UNITED STATES</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><B>SECURITIES AND EXCHANGE COMMISSION</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><B>Washington, D.C. 20549</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><B>FORM&nbsp;S-8</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><B>REGISTRATION STATEMENT<BR>
<I>UNDER</I></B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><B><I>THE SECURITIES ACT OF 1933</I></B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 18pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><B>PROTO LABS,&nbsp;INC.</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">(Exact name of registrant as specified in its charter)</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR STYLE="vertical-align: bottom">
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt; text-align: center; width: 50%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>Minnesota</B></FONT></TD>
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt; text-align: center; width: 50%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>41-1939628</B></FONT></TD></TR>
  <TR STYLE="vertical-align: bottom">
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(State or other jurisdiction of</FONT></TD>
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(I.R.S. Employer</FONT></TD></TR>
  <TR STYLE="vertical-align: bottom">
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">incorporation or organization)</FONT></TD>
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Identification No.)</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><B>5540 Pioneer Creek Drive</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>Maple
Plain, Minnesota</B></FONT>&nbsp;<B>55359</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">(Address of principal executive offices and zip
code)</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><B>Performance Stock Unit Award Agreement &ndash;
TSR (Inducement Grant)</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><B>Performance Stock Unit Award Agreement &ndash;
Revenue and TSR (Inducement Grant)</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">(Full Title of the Plan)</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR STYLE="vertical-align: top">
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt; width: 50%">&nbsp;</TD>
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt; text-align: center; width: 50%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Copy to:</FONT></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt">&nbsp;</TD>
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>Jason Frankman</B></FONT></TD>
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>W. Morgan Burns</B></FONT></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>Secretary</B></FONT></TD>
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>Mark D. Pihlstrom</B></FONT></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>Proto Labs,&nbsp;Inc.</B></FONT></TD>
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>Faegre Drinker Biddle&nbsp;&amp; Reath LLP</B></FONT></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>5540 Pioneer Creek Drive</B></FONT></TD>
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>2200 Wells Fargo Center</B></FONT></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>Maple Plain, MN 55359</B></FONT></TD>
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>90 South Seventh Street</B></FONT></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>(763) 479-3680</B></FONT></TD>
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>Minneapolis, MN 55402-3901</B></FONT></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt">&nbsp;</TD>
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>(612) 766-7000</B></FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">(Name, address and telephone number, including
area code, of agent for service)</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Indicate by check mark whether the registrant
is a large accelerated filer, an accelerated filer, a non-accelerated filer, a smaller reporting company or an emerging growth company.
See the definitions of &ldquo;large accelerated filer,&rdquo; &ldquo;accelerated filer,&rdquo; &ldquo;smaller reporting company,&rdquo;
and &ldquo;emerging growth company&rdquo; in Rule&nbsp;12b-2 of the Exchange Act.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR STYLE="vertical-align: bottom">
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt; width: 50%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Large accelerated filer </FONT><FONT STYLE="font-family: Times New Roman, Times, Serif"><FONT STYLE="font-family: Wingdings">&#120;</FONT></FONT></TD>
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt; width: 50%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Accelerated filer </FONT><FONT STYLE="font-family: Times New Roman, Times, Serif"><FONT STYLE="font-family: Wingdings">&#168;</FONT></FONT></TD></TR>
  <TR STYLE="vertical-align: bottom">
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Non-accelerated filer </FONT><FONT STYLE="font-family: Times New Roman, Times, Serif"><FONT STYLE="font-family: Wingdings">&#168;</FONT></FONT></TD>
    <TD STYLE="padding: 1.5pt 1.25pt">
    <P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><FONT STYLE="font-size: 10pt">Smaller reporting
    company </FONT><FONT STYLE="font-family: Wingdings">&#168;</FONT></P>
    <P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><FONT STYLE="font-size: 10pt">Emerging growth
    company </FONT><FONT STYLE="font-family: Wingdings">&#168;</FONT></P></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><FONT STYLE="font-size: 10pt">If an emerging growth
company, indicate by check mark if the registrant has elected not to use the extended transition period for complying with any new or
revised financial accounting standards provided pursuant to Section&nbsp;7(a)(2)(B)&nbsp;of the Securities Act. </FONT><FONT STYLE="font-family: Wingdings">&#168;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"></P>

<!-- Field: Rule-Page --><DIV STYLE="width: 100%"><DIV STYLE="font-size: 1pt; border-top: Black 1pt solid; border-bottom: Black 2pt solid">&nbsp;</DIV></DIV><!-- Field: /Rule-Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"></P>

<!-- Field: Page; Sequence: 1 -->
    <DIV STYLE="margin-top: 12pt; margin-bottom: 6pt; border-bottom: Black 1pt solid"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt; margin-bottom: 12pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><B>EXPLANATORY NOTE</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">As
previously disclosed on a </FONT><A HREF="https://www.sec.gov/ix?doc=/Archives/edgar/data/1443669/000110465925051610/tm2515767d1_8k.htm" STYLE="-sec-extract: exhibit">Current Report on Form&nbsp;8-K</A> filed by Proto Labs,&nbsp;Inc., a Minnesota corporation (the &ldquo;Company&rdquo;),
with the Securities and Exchange Commission (the &ldquo;Commission&rdquo;) on May&nbsp;21, 2025,&nbsp;Suresh Krishna was appointed as
President and Chief Executive Officer of the Company, effective as of May&nbsp;20, 2025. In connection with Mr.&nbsp;Krishna&rsquo;s appointment,
this Registration Statement on Form&nbsp;S-8 (this &ldquo;Registration Statement&rdquo;) is being filed with the Commission for the purpose
of registering an aggregate of 108,640 shares of the Company&rsquo;s common stock, par value $0.001 per share (the &ldquo;Common Stock&rdquo;),
issuable upon (i)&nbsp;the vesting of a maximum of 54,320 performance stock units granted to Mr.&nbsp;Krishna pursuant to a Performance
Stock Unit Award Agreement &ndash; TSR (Inducement Grant), and (ii)&nbsp;the vesting of a maximum of 54,320 performance stock units granted
to Mr.&nbsp;Krishna pursuant to a Performance Stock Unit Award Agreement &ndash; Revenue and TSR (Inducement Grant), each entered into
on May&nbsp;23, 2025.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"></P>

<!-- Field: Page; Sequence: 2 -->
    <DIV STYLE="margin-top: 12pt; margin-bottom: 6pt; border-bottom: Black 1pt solid"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt; margin-bottom: 12pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><B>PART&nbsp;I</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><B>INFORMATION REQUIRED IN THE SECTION&nbsp;10(a)&nbsp;PROSPECTUS</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in">The information specified
in Part&nbsp;I of Form&nbsp;S-8 is not required to be filed with the Commission either as part of this Registration Statement or as prospectuses
or prospectus supplements pursuant to Rule&nbsp;424 under the Securities Act of 1933, as amended (the &ldquo;Securities Act&rdquo;). The
information required in the Section&nbsp;10(a)&nbsp;prospectus is included in the documents being maintained and delivered by the Company
as required by Rule&nbsp;428 under the Securities Act. Such documents and the documents incorporated by reference in this Registration
Statement pursuant to Item 3 of Part&nbsp;II hereof, taken together, constitute a prospectus that meets the requirements of Section&nbsp;10(a)&nbsp;of
the Securities Act.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><B>PART&nbsp;II</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><B>INFORMATION REQUIRED IN THE REGISTRATION STATEMENT</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR STYLE="vertical-align: top">
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt; width: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>Item 3.</B></FONT></TD>
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>Incorporation of Documents by Reference.</B></FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in">The following documents filed
by the Company with the Commission are hereby incorporated by reference into this Registration Statement:</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(a)&nbsp;the
Company&rsquo;s </FONT><A HREF="https://www.sec.gov/ix?doc=/Archives/edgar/data/1443669/000162828025007052/prlb-20241231.htm" STYLE="-sec-extract: exhibit">Annual Report on Form&nbsp;10-K for the year ended December&nbsp;31, 2024, filed on February&nbsp;21, 2025</A>;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(b)&nbsp;those
portions of the Company&rsquo;s </FONT><A HREF="https://www.sec.gov/ix?doc=/Archives/edgar/data/1443669/000162828025017209/prlb-20250408.htm" STYLE="-sec-extract: exhibit">Definitive Proxy Statement on Schedule 14A for its 2025 Annual Meeting of Shareholders, filed with the Commission on April&nbsp;9, 2025</A>, that were specifically incorporated by reference into the Company&rsquo;s <A HREF="https://www.sec.gov/ix?doc=/Archives/edgar/data/1443669/000162828025007052/prlb-20241231.htm" STYLE="-sec-extract: exhibit">Annual Report on Form&nbsp;10-K for the year ended December&nbsp;31, 2024</A>;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(c)&nbsp;the
Company&rsquo;s </FONT><A HREF="https://www.sec.gov/ix?doc=/Archives/edgar/data/1443669/000162828025021822/prlb-20250331.htm" STYLE="-sec-extract: exhibit">Quarterly Report on Form&nbsp;10-Q, filed on May&nbsp;2, 2025</A>;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(d)&nbsp;the
Company&rsquo;s </FONT><A HREF="https://www.sec.gov/ix?doc=/Archives/edgar/data/1443669/000110465925051610/tm2515767d1_8k.htm" STYLE="-sec-extract: exhibit">Current Report on Form&nbsp;8-K, filed on May&nbsp;21, 2025</A>;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in">(e)&nbsp;all other reports
filed pursuant to Section&nbsp;13(a)&nbsp;or 15(d)&nbsp;of the Securities Exchange Act of 1934, as amended (the &ldquo;Exchange Act&rdquo;)
since the end of the fiscal year covered by the Annual Report referred to in (a)&nbsp;above (other than information deemed to have been
&ldquo;furnished&rdquo; rather than &ldquo;filed&rdquo; in accordance with the Commission&rsquo;s rules); and</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(f)&nbsp;the
description of the Company&rsquo;s Common Stock contained in the Company&rsquo;s Registration Statement on <A HREF="https://www.sec.gov/Archives/edgar/data/1443669/000119312512070263/d305274d8a12b.htm" STYLE="-sec-extract: exhibit">Form&nbsp;8-A filed on February&nbsp;21, 2012</A>, as updated by <A HREF="https://www.sec.gov/Archives/edgar/data/1443669/000143774923003930/ex_472326.htm" STYLE="-sec-extract: exhibit">Exhibit&nbsp;4.2</A> to the Annual Report referred to in (a)&nbsp;above, including any amendment or report filed
with the Commission for the purpose of updating such description.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in">In addition, all reports and
other documents subsequently filed (but not furnished) by the Company pursuant to Sections 13(a), 13(c), 14 and 15(d)&nbsp;of the Exchange
Act, prior to the filing of a post-effective amendment to this Registration Statement that indicates that all of the shares of Common
Stock offered hereby have been sold or that deregisters all shares of the Common Stock then remaining unsold, shall be deemed to be incorporated
by reference in and a part of this Registration Statement from the date of filing of such reports and documents; except as to any document,
or portion of or exhibit to a document, that is &ldquo;furnished&rdquo; to (rather than &ldquo;filed&rdquo; with) the Commission.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in">Any statement contained in
a document incorporated, or deemed to be incorporated, by reference in this Registration Statement shall be deemed to be modified or superseded
for purposes of this Registration Statement to the extent that a statement contained in this Registration Statement or in any other subsequently
filed document that also is or is deemed to be incorporated by reference in this Registration Statement modifies or supersedes such statement.
Any such statement so modified or superseded shall not be deemed, except as so modified or superseded, to constitute a part of this Registration
Statement.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"></P>

<!-- Field: Page; Sequence: 3 -->
    <DIV STYLE="margin-top: 12pt; margin-bottom: 6pt; border-bottom: Black 1pt solid"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt; margin-bottom: 12pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR STYLE="vertical-align: top">
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt; width: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>Item 4.</B></FONT></TD>
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>Description of Securities.</B></FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Not applicable.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR STYLE="vertical-align: top">
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt; width: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>Item 5.</B></FONT></TD>
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>Interests of Named Experts and Counsel.</B></FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Not applicable.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR STYLE="vertical-align: top">
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt; width: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>Item 6.</B></FONT></TD>
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>Indemnification of Directors and Officers.</B></FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in">The Company is subject to
Minnesota Statutes Chapter 302A, the Minnesota Business Corporation Act (the &ldquo;Corporation Act&rdquo;). Section&nbsp;302A.521 of
the Corporation Act provides in substance that, unless prohibited by its articles of incorporation or bylaws, a corporation must indemnify
a person, including an officer or director, who is made or threatened to be made a party to a proceeding by reason of the former or present
official capacity of the person against judgments, penalties, fines, including, without limitation, excise taxes assessed against the
person with respect to an employee benefit plan, settlements, and reasonable expenses, including attorneys&rsquo; fees and disbursements,
incurred by such person in connection with the proceeding, if certain criteria are met. These criteria, all of which must be met by the
person seeking indemnification, are (a)&nbsp;that such person has not been indemnified by another organization or employee benefit plan
for the same judgments, penalties, fines, including, without limitation, excise taxes assessed against the person with respect to an employee
benefit plan, settlements, and reasonable expenses, including attorneys&rsquo; fees and disbursements, incurred by the person in connection
with the proceeding with respect to the same acts or omissions; (b)&nbsp;that such person must have acted in good faith; (c)&nbsp;that
no improper personal benefit was obtained by such person and such person satisfied certain statutory conflicts of interest provisions,
if applicable; (d)&nbsp;that in the case of a criminal proceeding, such person had no reasonable cause to believe that the conduct was
unlawful; and (e)&nbsp;that, in the case of acts or omissions occurring in such person&rsquo;s performance in an official capacity, such
person must have acted in a manner such person reasonably believed was in the best interests of the corporation or, in certain limited
circumstances, not opposed to the best interests of the corporation. In addition, Section&nbsp;302A.521, subd. 3 requires payment by the
Company, upon written request, of reasonable expenses in advance of final disposition in certain instances. A decision as to required
indemnification is made by a majority of the disinterested board of directors present at a meeting at which a disinterested quorum is
present, or by a designated committee of disinterested directors, by special legal counsel, by the disinterested shareholders, or by a
court.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.5in">The Company also maintains a director and officer
insurance policy to cover the Company, its directors and its officers against certain liabilities.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR STYLE="vertical-align: top">
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt; width: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>Item 7.</B></FONT></TD>
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>Exemption from Registration Claimed.</B></FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Not applicable.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR STYLE="vertical-align: top">
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt; width: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>Item 8.</B></FONT></TD>
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>Exhibits.</B></FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"></P>

<!-- Field: Page; Sequence: 4 -->
    <DIV STYLE="margin-top: 12pt; margin-bottom: 6pt; border-bottom: Black 1pt solid"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt; margin-bottom: 12pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR STYLE="vertical-align: top">
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt; width: 8%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><U>Exhibit</U></FONT></TD>
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt; width: 1%">&nbsp;</TD>
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt; text-align: justify; width: 91%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><U>Description</U></FONT></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt">&nbsp;</TD>
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt">&nbsp;</TD>
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt">&nbsp;</TD></TR>
  <TR>
    <TD STYLE="padding: 1.5pt 1.25pt; vertical-align: top; font-size: 10pt"><A HREF="https://www.sec.gov/Archives/edgar/data/1443669/000119312512054357/d199869dex32.htm" STYLE="-sec-extract: exhibit"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">4.1</FONT></A></TD>
    <TD STYLE="padding-right: 1.25pt; padding-left: 1.25pt">&nbsp;</TD>
    <TD STYLE="padding: 1.5pt 1.25pt; vertical-align: bottom; font-size: 10pt; text-align: justify"><A HREF="https://www.sec.gov/Archives/edgar/data/1443669/000119312512054357/d199869dex32.htm" STYLE="-sec-extract: exhibit"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt; color: blue">Third Amended and Restated Articles of Incorporation of Proto Labs,&nbsp;Inc. (incorporated by reference to Exhibit&nbsp;3.2 to the Company&rsquo;s Registration Statement on Form&nbsp;S-1/A (File No.&nbsp;333-175745), filed with the Commission on February&nbsp;13, 2012)</FONT></A></TD></TR>
  <TR>
    <TD STYLE="padding-right: 1.25pt; padding-left: 1.25pt">&nbsp;</TD>
    <TD STYLE="padding-right: 1.25pt; padding-left: 1.25pt">&nbsp;</TD>
    <TD STYLE="padding-right: 1.25pt; padding-left: 1.25pt">&nbsp;</TD></TR>
  <TR>
    <TD STYLE="padding: 1.5pt 1.25pt; vertical-align: top; font-size: 10pt"><A HREF="https://www.sec.gov/Archives/edgar/data/1443669/000143774915010824/ex3-1.htm" STYLE="-sec-extract: exhibit"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">4.2</FONT></A></TD>
    <TD STYLE="padding-right: 1.25pt; padding-left: 1.25pt">&nbsp;</TD>
    <TD STYLE="padding: 1.5pt 1.25pt; vertical-align: bottom; font-size: 10pt; text-align: justify"><A HREF="https://www.sec.gov/Archives/edgar/data/1443669/000143774915010824/ex3-1.htm" STYLE="-sec-extract: exhibit"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt; color: blue">Articles of Amendment to Third Amended and Restated Articles of Incorporation of Proto Labs,&nbsp;Inc. dated May&nbsp;20, 2015 (incorporated by reference to Exhibit&nbsp;3.1 to the Company&rsquo;s Form&nbsp;8-K, filed with the Commission on May&nbsp;21, 2015)</FONT></A></TD></TR>
  <TR>
    <TD STYLE="padding-right: 1.25pt; padding-left: 1.25pt">&nbsp;</TD>
    <TD STYLE="padding-right: 1.25pt; padding-left: 1.25pt">&nbsp;</TD>
    <TD STYLE="padding-right: 1.25pt; padding-left: 1.25pt">&nbsp;</TD></TR>
  <TR>
    <TD STYLE="padding: 1.5pt 1.25pt; vertical-align: top; font-size: 10pt"><A HREF="https://www.sec.gov/Archives/edgar/data/1443669/000143774922027471/ex_445136.htm" STYLE="-sec-extract: exhibit"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">4.3</FONT></A></TD>
    <TD STYLE="padding-right: 1.25pt; padding-left: 1.25pt">&nbsp;</TD>
    <TD STYLE="padding: 1.5pt 1.25pt; vertical-align: bottom; font-size: 10pt; text-align: justify"><A HREF="https://www.sec.gov/Archives/edgar/data/1443669/000143774922027471/ex_445136.htm" STYLE="-sec-extract: exhibit"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Third Amended and Restated By-Laws of Proto Labs,&nbsp;Inc, as amended through November&nbsp;15, 2022 (incorporated by reference to Exhibit&nbsp;3.2 to the Company&rsquo;s Form&nbsp;8-K, filed with the Commission on November&nbsp;15, 2022)</FONT></A></TD></TR>
  <TR>
    <TD STYLE="padding-right: 1.25pt; padding-left: 1.25pt">&nbsp;</TD>
    <TD STYLE="padding-right: 1.25pt; padding-left: 1.25pt">&nbsp;</TD>
    <TD STYLE="padding-right: 1.25pt; padding-left: 1.25pt">&nbsp;</TD></TR>
  <TR>
    <TD STYLE="padding: 1.5pt 1.25pt; vertical-align: top; font-size: 10pt"><A HREF="tm2516136d2_ex5-1.htm" STYLE="-sec-extract: exhibit"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">5.1</FONT></A></TD>
    <TD STYLE="padding: 1.5pt 1.25pt; vertical-align: top; font-size: 10pt">&nbsp;</TD>
    <TD STYLE="padding: 1.5pt 1.25pt; vertical-align: bottom; font-size: 10pt"><A HREF="tm2516136d2_ex5-1.htm" STYLE="-sec-extract: exhibit"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Opinion of Faegre Drinker Biddle&nbsp;&amp; Reath LLP</FONT></A></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt">&nbsp;</TD>
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt">&nbsp;</TD>
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt"><A HREF="tm2516136d2_ex10-1.htm" STYLE="-sec-extract: exhibit"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">10.1</FONT></A></TD>
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt">&nbsp;</TD>
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt"><A HREF="tm2516136d2_ex10-1.htm" STYLE="-sec-extract: exhibit"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Performance Stock Unit Award Agreement &ndash; TSR (Inducement Grant) between Proto Labs,&nbsp;Inc. and Suresh Krishna, dated May&nbsp;23, 2025</FONT></A></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt">&nbsp;</TD>
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt">&nbsp;</TD>
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt"><A HREF="tm2516136d2_ex10-2.htm" STYLE="-sec-extract: exhibit"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">10.2</FONT></A></TD>
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt">&nbsp;</TD>
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt"><A HREF="tm2516136d2_ex10-2.htm" STYLE="-sec-extract: exhibit"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Performance Stock Unit Award Agreement &ndash; Revenue and TSR (Inducement Grant) between Proto Labs,&nbsp;Inc. and Suresh Krishna, dated May&nbsp;23, 2025</FONT></A></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt">&nbsp;</TD>
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt">&nbsp;</TD>
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt"><A HREF="tm2516136d2_ex5-1.htm" STYLE="-sec-extract: exhibit"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">23.1</FONT></A></TD>
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt">&nbsp;</TD>
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt"><A HREF="tm2516136d2_ex5-1.htm" STYLE="-sec-extract: exhibit"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Consent of Faegre Drinker Biddle&nbsp;&amp; Reath LLP (included in Exhibit&nbsp;5.1)</FONT></A></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt">&nbsp;</TD>
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt">&nbsp;</TD>
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt">&nbsp;</TD></TR>
  <TR>
    <TD STYLE="padding: 1.5pt 1.25pt; vertical-align: top; font-size: 10pt"><A HREF="tm2516136d2_ex23-2.htm" STYLE="-sec-extract: exhibit"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">23.2</FONT></A></TD>
    <TD STYLE="padding: 1.5pt 1.25pt; vertical-align: top; font-size: 10pt">&nbsp;</TD>
    <TD STYLE="padding: 1.5pt 1.25pt; vertical-align: bottom; font-size: 10pt"><A HREF="tm2516136d2_ex23-2.htm" STYLE="-sec-extract: exhibit"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Consent of Ernst&nbsp;&amp; Young LLP</FONT></A></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt">&nbsp;</TD>
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt">&nbsp;</TD>
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt">&nbsp;</TD></TR>
  <TR>
    <TD STYLE="padding: 1.5pt 1.25pt; vertical-align: top; font-size: 10pt"><A HREF="#a1"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">24.1</FONT></A></TD>
    <TD STYLE="padding: 1.5pt 1.25pt; vertical-align: top; font-size: 10pt">&nbsp;</TD>
    <TD STYLE="padding: 1.5pt 1.25pt; vertical-align: bottom; font-size: 10pt"><A HREF="#a1"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Power of Attorney (included on signature page&nbsp;hereto)</FONT></A></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt">&nbsp;</TD>
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt">&nbsp;</TD>
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt">&nbsp;</TD></TR>
  <TR>
    <TD STYLE="padding: 1.5pt 1.25pt; vertical-align: top; font-size: 10pt"><A HREF="tm2516136d2_ex-filingfees.htm" STYLE="-sec-extract: exhibit"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">107.1</FONT></A></TD>
    <TD STYLE="padding: 1.5pt 1.25pt; vertical-align: top; font-size: 10pt">&nbsp;</TD>
    <TD STYLE="padding: 1.5pt 1.25pt; vertical-align: bottom; font-size: 10pt"><A HREF="tm2516136d2_ex-filingfees.htm" STYLE="-sec-extract: exhibit"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Filing Fee Table</FONT></A></TD></TR>
</TABLE>

<P STYLE="margin: 0">&nbsp;</P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR STYLE="vertical-align: top">
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt; width: 8%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>Item 9.</B></FONT></TD>
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt; width: 2%">&nbsp;</TD>
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt; text-align: justify; width: 90%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>Undertakings.</B></FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">(a)&nbsp;The Company hereby undertakes:</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in">(1)&nbsp;To file, during any
period in which offers or sales are being made, a post-effective amendment to this Registration Statement:</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in">(i)&nbsp;To include any prospectus
required by Section&nbsp;10(a)(3)&nbsp;of the Securities Act;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 1in">(ii)&nbsp;To reflect in the
prospectus any facts or events arising after the effective date of the Registration Statement (or the most recent post-effective amendment
thereof) which, individually or in the aggregate, represent a fundamental change in the information set forth in the Registration Statement.
Notwithstanding the foregoing, any increase or decrease in volume of securities offered (if the total dollar value of securities offered
would not exceed that which was registered) and any deviation from the low or high end of the estimated maximum offering range may be
reflected in the form of prospectus filed with the Commission pursuant to Rule&nbsp;424(b)&nbsp;if, in the aggregate, the changes in volume
and price represent no more than 20 percent change in the maximum aggregate offering price set forth in the &ldquo;Calculation of Registration
Fee&rdquo; table in the effective Registration Statement;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 1in">(iii)&nbsp;To include any material
information with respect to the plan of distribution not previously disclosed in the Registration Statement or any material change to
such information in the Registration Statement;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"></P>

<!-- Field: Page; Sequence: 5 -->
    <DIV STYLE="margin-top: 12pt; margin-bottom: 6pt; border-bottom: Black 1pt solid"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt; margin-bottom: 12pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><I>provided,
however</I></FONT>, that paragraphs (a)(1)(i)&nbsp;and (a)(1)(ii)&nbsp;above do not apply if the Registration Statement is on Form&nbsp;S-8,
and the information required to be included in a post-effective amendment by those paragraphs is contained in reports filed with or furnished
to the Commission by the Company pursuant to Section&nbsp;13 or Section&nbsp;15(d)&nbsp;of the Exchange Act that are incorporated by reference
in this Registration Statement; and</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in">(2)&nbsp;That, for the purpose
of determining any liability under the Securities Act, each such post-effective amendment shall be deemed to be a new Registration Statement
relating to the securities offered therein, and the offering of such securities at that time shall be deemed to be the initial bona fide
offering thereof.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in">(3)&nbsp;To remove from registration
by means of a post-effective amendment any of the securities being registered which remain unsold at the termination of the offering.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">(b)&nbsp;The Company hereby undertakes that, for
purposes of determining any liability under the Securities Act, each filing of the Company&rsquo;s annual report pursuant to Section&nbsp;13(a)&nbsp;or
15(d)&nbsp;of the Exchange Act (and, where applicable, each filing of an employee benefit plan&rsquo;s annual report pursuant to Section&nbsp;15(d)&nbsp;of
the Exchange Act) that is incorporated by reference in the Registration Statement shall be deemed to be a new Registration Statement relating
to the securities offered therein, and the offering of such securities at that time shall be deemed to be the initial bona fide offering
thereof.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">(c)&nbsp;Insofar as indemnification for liabilities
arising under the Securities Act may be permitted to directors, officers and controlling persons of the Company pursuant to the foregoing
provisions, or otherwise, the Company has been advised that in the opinion of the Securities and Exchange Commission such indemnification
is against public policy as expressed in the Securities Act and is, therefore, unenforceable. In the event that a claim for indemnification
against such liabilities (other than the payment by the Company of expenses incurred or paid by a director, officer or controlling person
of the Company in the successful defense of any action, suit or proceeding) is asserted by such director, officer or controlling person
in connection with the securities being registered, the Company will, unless in the opinion of its counsel the matter has been settled
by controlling precedent, submit to a court of appropriate jurisdiction the question whether such indemnification by it is against public
policy as expressed in the Securities Act and will be governed by the final adjudication of such issue.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"></P>

<!-- Field: Page; Sequence: 6 -->
    <DIV STYLE="margin-top: 12pt; margin-bottom: 6pt; border-bottom: Black 1pt solid"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt; margin-bottom: 12pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><B>SIGNATURES</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in">Pursuant to the requirements
of the Securities Act of 1933, the registrant certifies that it has reasonable grounds to believe that it meets all of the requirements
for filing on Form&nbsp;S-8 and has duly caused this Registration Statement to be signed on its behalf by the undersigned, thereunto duly
authorized, in the City of Maple Plain, State of Minnesota, on May&nbsp;27, 2025.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" BORDER="0" STYLE="width: 100%; margin-top: 0pt; margin-bottom: 0pt; font: 10pt Times New Roman, Times, Serif">
<TR STYLE="vertical-align: top">
  <TD STYLE="width: 50%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">PROTO LABS,&nbsp;INC.</FONT></TD>
  <TD STYLE="width: 50%">&nbsp;</TD></TR>
</TABLE>


<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" BORDER="0" STYLE="width: 100%; margin-top: 0pt; margin-bottom: 0pt; font: 10pt Times New Roman, Times, Serif">
<TR STYLE="vertical-align: top">
  <TD STYLE="width: 3%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">By: </FONT></TD>
  <TD STYLE="border-bottom: Black 1pt solid; width: 47%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">/s/ Suresh Krishna</FONT></TD>
  <TD STYLE="width: 50%">&nbsp;</TD></TR>

<TR STYLE="vertical-align: top">
  <TD>&nbsp;</TD>
  <TD><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Suresh Krishna, President and Chief Executive Officer</FONT></TD>
  <TD>&nbsp;</TD></TR>
</TABLE>



<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"></P>

<!-- Field: Page; Sequence: 7 -->
    <DIV STYLE="margin-top: 12pt; margin-bottom: 6pt; border-bottom: Black 1pt solid"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt; margin-bottom: 12pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><A NAME="a1"></A><B>POWER OF ATTORNEY</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in">Each person whose signature
to this Registration Statement appears below hereby constitutes and appoints Suresh Krishna and Daniel Schumacher, and each of them, his
or her true and lawful attorney-in-fact and agent, each with full power of substitution and resubstitution, for him or her and in his
or her name, place and stead, in any and all capacities, to sign any and all amendments, including post-effective amendments, to this
Registration Statement, and to file the same, with exhibits thereto and other documents in connection therewith, with the Securities and
Exchange Commission, granting unto said attorneys-in-fact and agents and each of them, full power and authority to do and perform each
and every act and thing requisite and necessary to be done, as fully to all intents and purposes as he or she might or could do in person,
hereby ratifying and confirming all that each of said attorneys-in-fact and agents or their substitute or substitutes may lawfully do
or cause to be done by virtue hereof.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in">Pursuant to the requirements
of the Securities Act of 1933, this Registration Statement has been signed below on May&nbsp;27, 2025 by the following persons in the
capacities indicated.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR STYLE="vertical-align: top">
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt; text-align: justify; width: 35%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">/s/ Suresh Krishna</FONT></TD>
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt; width: 2%">&nbsp;</TD>
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt; text-align: justify; width: 63%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">President, Chief Executive Officer and Director</FONT></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="border-top: black 1pt solid; padding: 1.5pt 1.25pt; font-size: 10pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Suresh Krishna</FONT></TD>
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt">&nbsp;</TD>
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(Principal Executive Officer)</FONT></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt">&nbsp;</TD>
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt">&nbsp;</TD>
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">/s/ Daniel Schumacher</FONT></TD>
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt">&nbsp;</TD>
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Chief Financial Officer</FONT></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="border-top: black 1pt solid; padding: 1.5pt 1.25pt; font-size: 10pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Daniel Schumacher</FONT></TD>
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt">&nbsp;</TD>
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(Principal Financial Officer and Principal Accounting Officer)</FONT></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt">&nbsp;</TD>
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt">&nbsp;</TD>
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">/s/ Rainer Gawlick</FONT></TD>
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt">&nbsp;</TD>
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Chairman of the Board</FONT></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="border-top: black 1pt solid; padding: 1.5pt 1.25pt; font-size: 10pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Rainer Gawlick</FONT></TD>
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt">&nbsp;</TD>
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt">&nbsp;</TD>
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt">&nbsp;</TD>
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">/s/ Archie C. Black</FONT></TD>
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt">&nbsp;</TD>
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Director</FONT></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="border-top: black 1pt solid; padding: 1.5pt 1.25pt; font-size: 10pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Archie C. Black</FONT></TD>
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt">&nbsp;</TD>
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt">&nbsp;</TD></TR>
  <TR>
    <TD STYLE="padding-right: 1.25pt; padding-left: 1.25pt">&nbsp;</TD>
    <TD STYLE="padding-right: 1.25pt; padding-left: 1.25pt">&nbsp;</TD>
    <TD STYLE="padding-right: 1.25pt; padding-left: 1.25pt">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">/s/ Sujeet Chand</FONT></TD>
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt">&nbsp;</TD>
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Director</FONT></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="border-top: black 1pt solid; padding: 1.5pt 1.25pt; font-size: 10pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Sujeet Chand</FONT></TD>
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt">&nbsp;</TD>
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt">&nbsp;</TD>
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt">&nbsp;</TD>
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">/s/ Moonhie Chin</FONT></TD>
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt">&nbsp;</TD>
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Director</FONT></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="border-top: black 1pt solid; padding: 1.5pt 1.25pt; font-size: 10pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Moonhie Chin</FONT></TD>
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt">&nbsp;</TD>
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt">&nbsp;</TD>
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt">&nbsp;</TD>
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">/s/ Stacy Greiner</FONT></TD>
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt">&nbsp;</TD>
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Director</FONT></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="border-top: black 1pt solid; padding: 1.5pt 1.25pt; font-size: 10pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Stacy Greiner</FONT></TD>
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt">&nbsp;</TD>
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt">&nbsp;</TD>
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt">&nbsp;</TD>
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">/s/ Donald G. Krantz</FONT></TD>
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt">&nbsp;</TD>
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Director</FONT></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="border-top: black 1pt solid; padding: 1.5pt 1.25pt; font-size: 10pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Donald G. Krantz</FONT></TD>
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt">&nbsp;</TD>
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt">&nbsp;</TD>
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt">&nbsp;</TD>
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">/s/ Sven A. Wehrwein</FONT></TD>
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt">&nbsp;</TD>
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Director</FONT></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="border-top: black 1pt solid; padding: 1.5pt 1.25pt; font-size: 10pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Sven A. Wehrwein</FONT></TD>
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt">&nbsp;</TD>
    <TD STYLE="padding: 1.5pt 1.25pt; font-size: 10pt">&nbsp;</TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"></P>

<!-- Field: Page; Sequence: 8; Options: Last -->
    <DIV STYLE="margin-top: 12pt; margin-bottom: 6pt; border-bottom: Black 1pt solid"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-5.1
<SEQUENCE>2
<FILENAME>tm2516136d2_ex5-1.htm
<DESCRIPTION>EXHIBIT 5.1
<TEXT>
<HTML>
<HEAD>
     <TITLE></TITLE>
</HEAD>
<BODY STYLE="font: 10pt Times New Roman, Times, Serif">

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>Exhibit&nbsp;5.1</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><IMG SRC="tm2516136d2_ex5-1img004.jpg" ALT="">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"><B>Faegre Drinker Biddle&nbsp;&amp; Reath LLP</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right">2200 Wells Fargo Center<BR>
90 South Seventh Street<BR>
Minneapolis, Minnesota 55402</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right">+1 612 766 7000 main</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right">+1 612 766 1600 fax</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">May&nbsp;27, 2025</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">Board of Directors</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">Proto Labs,&nbsp;Inc.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">5540 Pioneer Creek Drive</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">Maple Plain, MN 55359</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Ladies and Gentlemen:</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">We have acted as counsel to Proto Labs,&nbsp;Inc.,
a Minnesota corporation (the &ldquo;Company&rdquo;), in connection with the preparation and filing with the Securities and Exchange Commission
(the &ldquo;Commission&rdquo;) of the Company&rsquo;s Registration Statement on Form&nbsp;S-8 (the &ldquo;Registration Statement&rdquo;)
under the Securities Act of 1933, as amended (the &ldquo;Act&rdquo;), registering the offer and sale of up to an aggregate of 108,640
shares of the Company&rsquo;s common stock, par value $0.001 per share (the &ldquo;Shares&rdquo;), issuable upon (i)&nbsp;the vesting
of a maximum of 54,320 performance stock units granted to Mr.&nbsp;Krishna pursuant to a Performance Stock Unit Award Agreement &ndash;
TSR (Inducement Grant), and (ii)&nbsp;the vesting of a maximum of 54,320 performance stock units granted to Mr.&nbsp;Krishna pursuant
to a Performance Stock Unit Award Agreement &ndash; Revenue and TSR (Inducement Grant), each entered into on May&nbsp;23, 2025 (collectively,
the &ldquo;Inducement Award Agreements&rdquo;).</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">For purposes of this opinion letter, we have examined
the Inducement Award Agreements, the Registration Statement, the Third Amended and Restated Articles of Incorporation of the Company,
as amended and currently in effect, the Third Amended and Restated By-laws of the Company, as currently in effect, and the resolutions
of the Company&rsquo;s board of directors authorizing the issuance of the Shares. We have also examined a certificate of the Secretary
of the Company dated the date hereof (the &ldquo;Certificate&rdquo;) and originals, or copies certified or otherwise authenticated to
our satisfaction, of such corporate records and other records, agreements, instruments, certificates of public officials and documents
as we have deemed necessary as a basis for the opinions hereinafter expressed and have reviewed such matters of law as we have deemed
relevant hereto. As to facts material to this opinion letter, we have relied upon certificates, statements or representations of public
officials, of officers and representatives of the Company (including the Certificate) and of others, without any independent verification
thereof.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"></P>

<!-- Field: Page; Sequence: 1 -->
    <DIV STYLE="margin-top: 12pt; margin-bottom: 6pt; border-bottom: Black 1pt solid"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt; margin-bottom: 12pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In our examination, we have assumed: (i)&nbsp;the
legal capacity of all natural persons; (ii)&nbsp;the genuineness of all signatures, including electronic signatures; (iii)&nbsp;the authenticity
of all documents submitted to us as originals; (iv)&nbsp;the conformity to original documents of all documents submitted to us as certified,
conformed, photostatic or facsimile copies; (v)&nbsp;the authenticity of the originals of such latter documents; (vi)&nbsp;the truth,
accuracy and completeness of the information, representations and warranties contained in the agreements, documents, instruments, certificates
and records we have reviewed; and (vii)&nbsp;the absence of any undisclosed modifications to the agreements and instruments reviewed by
us.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Based upon and subject to the foregoing and the
other qualifications, assumptions and limitations set forth herein, it is our opinion that all necessary corporate action on the part
of the Company has been taken to authorize the issuance and sale of the Shares to be issued to Mr.&nbsp;Krishna pursuant to and in accordance
with the Inducement Award Agreements and that, when issued and sold as contemplated in the Registration Statement and in accordance with
the Inducement Award Agreement, the Shares will be legally and validly issued, fully paid and nonassessable.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">We are admitted to the practice of law in the
State of Minnesota and the foregoing opinions are limited to the laws of that state.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">This opinion letter speaks only as of the date
the Registration Statement becomes effective under the Act, and we assume no obligation to revise or supplement this opinion letter thereafter.
This opinion letter is limited to the specific issues addressed herein, and no opinion may be inferred or implied beyond that expressly
stated herein.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">We hereby consent to the filing of this opinion
letter as an exhibit to the Registration Statement. In giving such consent, we do not thereby admit that we are within the category of
persons whose consent is required under Section&nbsp;7 of the Act or the rules&nbsp;and regulations of the Commission promulgated thereunder.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR>
    <TD STYLE="vertical-align: top; font-size: 10pt; text-align: justify; width: 50%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Very truly yours,</FONT></TD>
    <TD STYLE="font-size: 10pt; width: 50%">&nbsp;</TD></TR>
  <TR>
    <TD>&nbsp;</TD>
    <TD STYLE="font-size: 10pt">&nbsp;</TD></TR>
  <TR>
    <TD STYLE="border-bottom: black 1pt solid; font-size: 10pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">/s/ Faegre Drinker Biddle&nbsp;&amp; Reath LLP</FONT></TD>
    <TD STYLE="font-size: 10pt">&nbsp;</TD></TR>
  <TR>
    <TD STYLE="vertical-align: top; font-size: 10pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">FAEGRE DRINKER BIDDLE&nbsp;&amp; REATH LLP</FONT></TD>
    <TD STYLE="font-size: 10pt">&nbsp;</TD></TR>
  </TABLE>

<P STYLE="margin-top: 0; margin-bottom: 0">&nbsp;</P>

<P STYLE="margin-top: 0; margin-bottom: 0"></P>

<!-- Field: Page; Sequence: 2; Options: Last -->
    <DIV STYLE="margin-top: 12pt; margin-bottom: 6pt; border-bottom: Black 1pt solid"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<P STYLE="margin-top: 0; margin-bottom: 0">&nbsp;</P>


</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-10.1
<SEQUENCE>3
<FILENAME>tm2516136d2_ex10-1.htm
<DESCRIPTION>EXHIBIT 10.1
<TEXT>
<HTML>
<HEAD>
     <TITLE></TITLE>
</HEAD>
<BODY STYLE="font: 10pt Times New Roman, Times, Serif">

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"><B>Exhibit 10.1</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><B>PROTO LABS,&nbsp;INC.</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><B><U>Performance Stock Unit Award Agreement &ndash;</U></B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><B><U>TSR</U></B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><B>(Inducement Grant)</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in">Proto Labs,&nbsp;Inc. (the
&ldquo;<U>Company</U>&rdquo;) hereby grants to you, the Participant named below, an award of Performance Stock Units (the &ldquo;<U>Units</U>&rdquo;).
The terms and conditions of this Performance Stock Unit Award (this &ldquo;<U>Award</U>&rdquo;) are set forth in this Performance Stock
Unit Award Agreement (Inducement Grant) (the &ldquo;<U>Agreement</U>&rdquo;), consisting of this cover page, the Terms and Conditions
on the following pages&nbsp;and the attached <U>Exhibit&nbsp;A</U>. This Award is made and granted as a stand-alone award and is not granted
under or pursuant to the Company&rsquo;s Amended and Restated 2022 Long-Term Incentive Plan (the &ldquo;<U>Plan</U>&rdquo;). However,
for convenience purposes, unless otherwise defined herein, the terms defined in the Plan shall have the same defined meanings in this
Agreement. This Award is an inducement material to the Participant&rsquo;s entry into employment within the meaning of Rule&nbsp;303A.08
of the New York Stock Exchange Listed Company Manual.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <TR STYLE="vertical-align: top">
    <TD STYLE="width: 35%; border-top: black 2.25pt double; border-left: black 2.25pt double">
    <P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>
    <P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">Name of Participant:</P></TD>
    <TD STYLE="width: 65%; border-top: black 2.25pt double; border-right: black 2.25pt double">
    <P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>
    <P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">Suresh Krishna</P></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="border-left: black 2.25pt double">&nbsp;</TD>
    <TD STYLE="border-right: black 2.25pt double">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="border-left: black 2.25pt double">
    <P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;Target Number of Units:</P></TD>
    <TD STYLE="border-right: black 2.25pt double">
    <P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;27,160</P></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="border-left: black 2.25pt double">&nbsp;</TD>
    <TD STYLE="border-right: black 2.25pt double">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="border-left: black 2.25pt double">
    <P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;Maximum Number of Units:</P></TD>
    <TD STYLE="border-right: black 2.25pt double">
    <P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;54,320</P></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="border-left: black 2.25pt double">&nbsp;</TD>
    <TD STYLE="border-right: black 2.25pt double">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="border-left: black 2.25pt double">
    <P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;Grant Date:</P></TD>
    <TD STYLE="border-right: black 2.25pt double">
    <P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;May&nbsp;23, 2025</P></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="border-left: black 2.25pt double">&nbsp;</TD>
    <TD STYLE="border-right: black 2.25pt double">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="border-left: black 2.25pt double">
    <P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;Performance Period:</P></TD>
    <TD STYLE="border-right: black 2.25pt double">
    <P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;January&nbsp;1, 2025 - December&nbsp;31, 2027</P></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="border-left: black 2.25pt double">&nbsp;</TD>
    <TD STYLE="border-right: black 2.25pt double">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="border-left: black 2.25pt double">
    <P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;Vesting Schedule:</P></TD>
    <TD STYLE="border-right: black 2.25pt double">
    <P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;The number of Units determined in accordance with <U>Exhibit&nbsp;A</U>
to have been earned as of the end of the Performance Period will vest* on the date the Company&rsquo;s Compensation Committee certifies
such performance results, which shall be no later than March&nbsp;15, 2028 (the &ldquo;Scheduled Vesting Date&rdquo;)</P></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="border-left: black 2.25pt double">&nbsp;</TD>
    <TD STYLE="border-right: black 2.25pt double">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="border-left: black 2.25pt double">
    <P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;Performance Goals:</P></TD>
    <TD STYLE="border-right: black 2.25pt double">
    <P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;See <U>Exhibit&nbsp;A</U></P></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="border-left: black 2.25pt double">&nbsp;</TD>
    <TD STYLE="border-right: black 2.25pt double">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: top">
    <TD COLSPAN="2" STYLE="border-bottom: black 2.25pt double; border-left: black 2.25pt double">
    <P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;* Assumes your Service has been continuous from the Grant
Date to the vesting date.</P></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in">By signing or otherwise authenticating
this cover page, you agree to all of the terms and conditions contained in this Agreement and in the Plan document. You acknowledge that
you have received and reviewed these documents and that they set forth the entire agreement between you and the Company regarding this
Award.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <TR>
    <TD>PARTICIPANT:</TD>
    <TD>&nbsp;</TD>
    <TD COLSPAN="2">PROTO LABS,&nbsp;INC.</TD></TR>
  <TR>
    <TD STYLE="width: 48%">&nbsp;</TD>
    <TD STYLE="width: 2%">&nbsp;</TD>
    <TD STYLE="width: 5%">&nbsp;</TD>
    <TD STYLE="width: 45%">&nbsp;</TD></TR>
  <TR>
    <TD STYLE="border-bottom: black 1pt solid">/s/ Suresh Krishna</TD>
    <TD>&nbsp;</TD>
    <TD>By:</TD>
    <TD STYLE="border-bottom: black 1pt solid">/s/ Daniel Schumacher</TD></TR>
  <TR>
    <TD STYLE="text-align: left; font-size: 10pt; vertical-align: top">Name: Suresh Krishna</TD>
    <TD>&nbsp;</TD>
    <TD>Name: Title:</TD>
    <TD><P STYLE="margin-top: 0; margin-bottom: 0">Daniel Schumacher</P>
                                               <P STYLE="margin-top: 0; margin-bottom: 0">Chief Financial Officer</P></TD></TR>
  </TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"></P>

<!-- Field: Page; Sequence: 1 -->
    <DIV STYLE="margin-top: 12pt; margin-bottom: 6pt; border-bottom: Black 1pt solid"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt; margin-bottom: 12pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><B>Proto Labs,&nbsp;Inc.</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><B>Performance Stock Unit Agreement &ndash; TSR</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><B>Inducement Grant</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><B><U>Terms and Conditions</U></B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0"></TD><TD STYLE="width: 0.25in">1.</TD><TD STYLE="text-align: justify"><B><U>Award of Performance Stock Units</U>.</B> The Company hereby confirms the grant to you, as of the
Grant Date and subject to the terms and conditions of this Agreement and the Plan, of an award of Performance Stock Units in an amount
initially equal to the Target Number of Units specified on the cover page&nbsp;of this Agreement. The number of Units that may actually
be earned and become eligible to vest pursuant to this Award can be between 0% and 200% of the Target Number of Units, but may not under
any circumstances exceed the Maximum Number of Units specified on the cover page&nbsp;of this Agreement. Each Unit that is earned as a
result of the performance goals specified in <U>Exhibit&nbsp;A</U> to this Agreement having been satisfied and which thereafter vests
represents the right to receive one Share of the Company&rsquo;s common stock. Prior to their settlement or forfeiture in accordance with
the terms of this Agreement, the Units granted to you will be credited to an account in your name maintained by the Company. This account
will be unfunded and maintained for book-keeping purposes only, with the Units simply representing an unfunded and unsecured contingent
obligation of the Company.</TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.25in; text-align: justify; border-right-width: 0in; border-right-color: Black; border-left-width: 0in; border-left-color: Black">This
Award is made and granted to you&nbsp;as an inducement material to you entering into employment with the Company as its President and
Chief Executive Officer within the meaning of Rule&nbsp;303A.08 of the New York Stock Exchange Listed Company Manual.&nbsp;This Award
is made and granted as a stand-alone award, separate and apart from, and outside of, the Plan, and shall not constitute an award granted
under or pursuant to the Plan. Notwithstanding the foregoing, the terms, provisions, conditions and definitions set forth in the Plan
shall apply to this Award (including but not limited to the adjustment provisions contained in Section&nbsp;12 of the Plan), and this
Award shall be subject to such terms, provisions, conditions and definitions, which are hereby incorporated into this Agreement by reference.
For the avoidance of doubt, this Award shall not be counted for purposes of calculating the aggregate number of Shares that may be issued
or transferred pursuant to Awards under the Plan as set forth in Section&nbsp;4 of the Plan. In the event of any inconsistency between
the Plan and this Agreement, the terms of this Agreement shall control.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0"></TD><TD STYLE="width: 0.25in">2.</TD><TD STYLE="text-align: justify"><B><U>Restrictions Applicable to Units</U>. </B>Neither this Award nor the Units subject to this Award
may be sold, assigned, transferred, exchanged or encumbered other than a transfer upon your death in accordance with your will, by the
laws of descent and distribution or pursuant to a beneficiary designation submitted as set forth in Section&nbsp;6(d)&nbsp;of the Plan.
Following any such transfer, the Units shall continue to be subject to the same terms and conditions that were applicable to the Units
immediately prior to their transfer. Any attempted transfer in violation of this Section&nbsp;2 shall be void and ineffective. The Units
and your right to receive Shares in settlement of any Units under this Agreement shall be subject to forfeiture except to extent the Units
have been earned and thereafter vest as provided in Sections 4 and 5.</TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0"></TD><TD STYLE="width: 0.25in">3.</TD><TD STYLE="text-align: justify"><B><U>No Shareholder Rights</U></B>. The Units subject to this Award do not entitle you to any rights
of a shareholder of the Company&rsquo;s common stock. You will not have any of the rights of a shareholder of the Company in connection
with any Units granted or earned pursuant to this Agreement unless and until Shares are issued to you in settlement of earned and vested
Units as provided in Section&nbsp;6.</TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0"></TD><TD STYLE="width: 0.25in">4.</TD><TD STYLE="text-align: justify"><B><U>Vesting and Forfeiture of Units</U>.</B> The Units shall vest at the earliest of the following times
and to the degree specified. For purposes of this Section&nbsp;4, (i)&nbsp;vesting of this Award will be suspended during any unpaid leave
of absence, and (ii)&nbsp;use of the terms &ldquo;employment&rdquo; and &ldquo;employed&rdquo; refers to providing Services to the Company
and its Affiliates in any Service Provider capacity.</TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"></P>

<!-- Field: Page; Sequence: 2 -->
    <DIV STYLE="margin-top: 12pt; margin-bottom: 6pt; border-bottom: Black 1pt solid"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt; margin-bottom: 12pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.5in"></TD><TD STYLE="width: 0.25in">(a)</TD><TD STYLE="text-align: justify"><I>Scheduled Vesting</I>. The number of Units that have been earned during the Performance Period, as
determined by the Committee in accordance with <U>Exhibit&nbsp;A</U>, will vest on the Scheduled Vesting Date, so long as your employment
has been continuous from the Grant Date to the Scheduled Vesting Date. For these purposes, the &ldquo;Scheduled Vesting Date&rdquo; means
the date the Committee certifies (i)&nbsp;the degree to which the applicable performance goals for the Performance Period have been satisfied,
and (ii)&nbsp;the number of Units that have been earned during the Performance Period as determined in accordance <U>Exhibit&nbsp;A</U>,
which certification shall occur no later than March&nbsp;15 of the calendar year immediately following the calendar year during which
the Performance Period ended.</TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.5in"></TD><TD STYLE="width: 0.25in">(b)</TD><TD STYLE="text-align: justify"><I>Retirement</I>. If your employment terminates by reason of your Retirement prior to the Scheduled Vesting
Date, then you will be entitled to have vest on the Scheduled Vesting Date a pro rata portion of the Units that would otherwise have been
determined to have been earned during the Performance Period in accordance with <U>Exhibit&nbsp;A</U> if you had remained continuously
employed until the Scheduled Vesting Date. The pro rata portion shall be determined by multiplying the number of Units that would otherwise
have been determined to have been earned by a fraction whose numerator is the number of days during the Performance Period prior to your
employment termination date and whose denominator is one thousand ninety-five (1,095). For these purposes, &ldquo;Retirement&rdquo; shall
mean a termination of your employment (other than a termination for Cause, by reason of death or Disability, or that constitutes a Qualifying
Termination as defined below) that (i)&nbsp;occurs at least twelve (12) months after the Grant Date, (ii)&nbsp;occurs at or after you
reach the age of sixty (60) and have completed at least five (5)&nbsp;years of continuous employment, and (iii)&nbsp;thereafter involves
your cessation of employment or business activity with or on behalf of any business entity for a period of at least two years, provided
that during this two-year period you may engage in part-time employment or business activity of no more than fifteen (15) hours per week,
or employment by or business activity with civic, charitable or religious entities, organizations or associations.</TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.5in"></TD><TD STYLE="width: 0.25in">(c)</TD><TD STYLE="text-align: justify"><I>Disability</I>. If your employment terminates by reason of your Disability prior to the Scheduled Vesting
Date, then you will be entitled to have vest on the Scheduled Vesting Date a pro rata portion of the Units that would otherwise have been
determined to have been earned during the Performance Period in accordance with <U>Exhibit&nbsp;A</U> if you had remained continuously
employed until the Scheduled Vesting Date. The pro rata portion shall be determined in the same manner as provided in Section&nbsp;4(b).</TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.5in"></TD><TD STYLE="width: 0.25in">(d)</TD><TD STYLE="text-align: justify"><I>Death</I>. If your employment terminates by reason of your death prior to the Scheduled Vesting Date,
then you will be entitled to have vest on the date your employment terminates a pro rata portion of the Target Number of Units specified
on the cover page&nbsp;of this Agreement. The pro rata portion shall be determined in the same manner as provided in Section&nbsp;4(b).</TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.5in"></TD><TD STYLE="width: 0.25in">(e)</TD><TD STYLE="text-align: justify"><I>Qualifying Termination</I>. If your employment terminates prior to the Scheduled Vesting Date at a
time when you are party to a severance agreement with the Company (including, for these purposes, an employment agreement with the Company
that contains severance provisions), and if such termination of employment constitutes a &ldquo;Qualifying Termination&rdquo; as defined
in the severance agreement (which for these purposes includes your satisfying any conditions specified in the severance agreement to the
receipt of severance benefits thereunder), then you will be entitled to have vest on the Scheduled Vesting Date a pro rata portion of
the Units that would otherwise have been determined to have been earned during the Performance Period in accordance with <U>Exhibit&nbsp;A</U>
if you had remained continuously employed until the Scheduled Vesting Date. The pro rata portion shall be determined in the same manner
as provided in Section&nbsp;4(b). You acknowledge and agree that with respect to this Award only, the terms of this Section&nbsp;4(e)&nbsp;take
precedence over and supersede the terms of your severance agreement that address the accelerated vesting of equity awards in connection
with a Qualifying Termination that occurs outside of a &ldquo;Transition Period&rdquo; as defined in the severance agreement.</TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"></P>

<!-- Field: Page; Sequence: 3 -->
    <DIV STYLE="margin-top: 12pt; margin-bottom: 6pt; border-bottom: Black 1pt solid"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt; margin-bottom: 12pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.5in"></TD><TD STYLE="width: 0.25in">(f)</TD><TD STYLE="text-align: justify"><I>Change in Control</I>. If a Change in Control occurs after the Grant Date but before the Scheduled
Vesting Date and your employment continues to the date of the Change in Control, then the Performance Period will be truncated and will
end as of the end of the Company&rsquo;s most recently completed fiscal year prior to the date of the Change in Control. You will be entitled
to have vest as of the date of the Change in Control a pro rata portion of the Units that are determined to have been earned based on
actual performance against the performance goals specified in <U>Exhibit&nbsp;A</U> over the truncated Performance Period. The pro rata
portion shall be determined by multiplying the number of Units that would otherwise have been determined to have been earned by a fraction
whose numerator is the number of days during the full Performance Period prior to the date of the Change in Control and whose denominator
is one thousand ninety-five (1,095). You acknowledge and agree that with respect to this Award only, the terms of this Section&nbsp;4(f)&nbsp;take
precedence over and supersede the terms of your severance agreement that address the accelerated vesting of equity awards in connection
with a Qualifying Termination that occurs during a &ldquo;Transition Period&rdquo; as defined in the severance agreement.</TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.5in"></TD><TD STYLE="width: 0.25in">(g)</TD><TD STYLE="text-align: justify"><I>Forfeiture of Unvested Units</I>. To the extent any of Sections 4(a)&nbsp;through (f)&nbsp;is applicable
to this Award, any Units that do not vest on the applicable vesting date as provided therein shall immediately be forfeited. If your employment
terminates prior to the Scheduled Vesting Date under circumstances other than as set forth in Sections 4(b)&nbsp;through (f), all unvested
Units shall immediately be forfeited.</TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0"></TD><TD STYLE="width: 0.25in">5.</TD><TD STYLE="text-align: justify"><B><U>Settlement of Units</U></B><I>. </I>As soon as practicable after any date on which Units vest, but
no later than March&nbsp;15 of the year following the calendar year in which the vesting date occurs, the Company shall cause to be issued
to you (or your beneficiary or personal representative) one Share in payment and settlement of each vested Unit. The Company may withhold
from the number of such Shares to be delivered in settlement of the Units any Shares required for the payment of withholding taxes as
provided in Section&nbsp;6 below. The Company will pay any original issue or transfer taxes with respect to the issue and transfer of
Shares to you pursuant to this Agreement, and all fees and expenses incurred by it in connection therewith. All Shares so issued will
be fully paid and nonassessable.</TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0"></TD><TD STYLE="width: 0.25in">6.</TD><TD STYLE="text-align: justify"><B><U>Withholding Taxes</U></B>. The Company shall have the right to (i)&nbsp;withhold from any cash payment
or any other compensation owed to you an amount sufficient to cover any required withholding taxes in connection with the vesting and
settlement of Units subject to this Award, and (ii)&nbsp;require you or any other person receiving Shares under this Award to pay a cash
amount sufficient to cover any required withholding taxes before actual receipt of those Shares. In lieu of all or any part of a cash
payment from you as provided above, you may elect to cover the required withholdings through a reduction in the number of Shares delivered
upon settlement of the Units or through a delivery or tender to the Company of Shares already held by you, in each case valued in the
same manner as used in computing the withholding taxes under applicable laws.</TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0"></TD><TD STYLE="width: 0.25in">7.</TD><TD STYLE="text-align: justify"><B><U>Discontinuance of Service</U></B>. This Agreement does not give you a right to continued Service with the Company or any Affiliate,
and the Company or any such Affiliate may terminate your Service at any time and otherwise deal with you without regard to the effect
it may have upon you under this Agreement. Nothing in this Agreement is intended to, or does, constitute a contract of employment between
you and the Company or any Affiliate.</TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"></P>

<!-- Field: Page; Sequence: 4 -->
    <DIV STYLE="margin-top: 12pt; margin-bottom: 6pt; border-bottom: Black 1pt solid"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt; margin-bottom: 12pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0"></TD><TD STYLE="width: 0.25in">8.</TD><TD STYLE="text-align: justify"><B><U>Governing Plan Document</U></B>. This Agreement and the Units are subject to all the provisions of the Plan, and to all interpretations,
rules&nbsp;and regulations which may, from time to time, be adopted and promulgated by the Committee pursuant to the Plan. If there is
any conflict between the provisions of this Agreement and the Plan, the provisions of this Agreement will govern.</TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0"></TD><TD STYLE="width: 0.25in">9.</TD><TD STYLE="text-align: justify"><B><U>Choice of Law</U></B>. This Agreement will be interpreted and enforced under the laws of the state
of Minnesota (without regard to its conflicts or choice of law principles).</TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0"></TD><TD STYLE="width: 0.25in">10.</TD><TD STYLE="text-align: justify"><B><U>Binding Effect</U></B>. This Agreement will be binding in all respects on your heirs, representatives,
successors and assigns, and on the successors and assigns of the Company.</TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0"></TD><TD STYLE="width: 0.25in">11.</TD><TD STYLE="text-align: justify"><B><U>Severability</U></B>. If any term or provision in this Agreement shall be held to any extent to
be unlawful, void or unenforceable under any enactment or rule&nbsp;of law, that term or provision shall, to that extent, be deemed not
to be part of this Agreement and the validity and enforceability of the remainder of this Agreement shall not be affected.</TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0"></TD><TD STYLE="width: 0.25in">12.</TD><TD STYLE="text-align: justify"><B><U>Compensation Recovery</U></B>.</TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.5in"></TD><TD STYLE="width: 0.25in">(a)</TD><TD STYLE="text-align: justify">To the extent that any compensation paid or payable pursuant to this Agreement is considered &ldquo;incentive-based
compensation&rdquo; within the meaning and subject to the requirements of Section&nbsp;10D of the Exchange Act, such compensation shall
be subject to potential forfeiture or recovery by the Company in accordance with any compensation recovery policy adopted by the Board
or any committee thereof in response to the requirements of Section&nbsp;10D of the Exchange Act and any implementing rules&nbsp;and regulations
thereunder adopted by the Securities and Exchange Commission or any national securities exchange on which the Company&rsquo;s common stock
is then listed. This Agreement may be unilaterally amended by the Company to comply with any such compensation recovery policy.</TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.5in"></TD><TD STYLE="width: 0.25in">(b)</TD><TD STYLE="text-align: justify">Notwithstanding any other provision of this Agreement, if your employment terminates by reason of Retirement
and the Committee thereafter determines, in its sole discretion, that you have failed to comply with the conditions set forth in clause
(iii)&nbsp;of Section&nbsp;4(b)&nbsp;of this Agreement, then (i)&nbsp;you shall immediately forfeit this Award to the extent that it is
not yet vested, and (ii)&nbsp;to the extent this Award has vested and been settled in Shares, the Company shall have the right to (A)&nbsp;recover
such Shares from you, or (B)&nbsp;if you have sold or otherwise transferred such Shares, recover from you an amount in cash equal to the
Fair Market Value of such Shares as of the Scheduled Vesting Date.</TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><B><I>By signing or otherwise authenticating the
cover page&nbsp;of this Agreement, you agree to all the terms and conditions described above and in the Plan document.</I></B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"></P>

<!-- Field: Page; Sequence: 5; Options: Last -->
    <DIV STYLE="margin-top: 12pt; margin-bottom: 6pt; border-bottom: Black 1pt solid"><P STYLE="text-align: center; margin-top: 0pt; margin-bottom: 0pt"></P><P STYLE="text-align: center; margin-top: 0pt; margin-bottom: 0pt"></P><P STYLE="text-align: center; margin-top: 0pt; margin-bottom: 0pt"></P><P STYLE="text-align: center; margin-top: 0pt; margin-bottom: 0pt">&nbsp;</P><P STYLE="text-align: center; margin-top: 0pt; margin-bottom: 0pt"></P></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-10.2
<SEQUENCE>4
<FILENAME>tm2516136d2_ex10-2.htm
<DESCRIPTION>EXHIBIT 10.2
<TEXT>
<HTML>
<HEAD>
     <TITLE></TITLE>
</HEAD>
<BODY STYLE="font: 10pt Times New Roman, Times, Serif">

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"><B>Exhibit 10.2</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><B>PROTO LABS,&nbsp;INC.</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><B><U>Performance Stock Unit Award Agreement &ndash;</U></B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><B><U>Revenue and TSR</U></B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><B>(Inducement Grant)</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in">Proto Labs,&nbsp;Inc. (the
&ldquo;<U>Company</U>&rdquo;) hereby grants to you, the Participant named below, an award of Performance Stock Units (the &ldquo;<U>Units</U>&rdquo;).
The terms and conditions of this Performance Stock Unit Award (this &ldquo;<U>Award</U>&rdquo;) are set forth in this Performance Stock
Unit Award Agreement (Inducement Grant) (the &ldquo;<U>Agreement</U>&rdquo;), consisting of this cover page, the Terms and Conditions
on the following pages&nbsp;and the attached <U>Exhibit&nbsp;A</U>. This Award is made and granted as a stand-alone award and is not granted
under or pursuant to the Company&rsquo;s Amended and Restated 2022 Long-Term Incentive Plan (the &ldquo;<U>Plan</U>&rdquo;). However,
for convenience purposes, unless otherwise defined herein, the terms defined in the Plan shall have the same defined meanings in this
Agreement. This Award is an inducement material to the Participant&rsquo;s entry into employment within the meaning of Rule&nbsp;303A.08
of the New York Stock Exchange Listed Company Manual.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <TR STYLE="vertical-align: top">
    <TD STYLE="width: 35%; border-top: black 2.25pt double; border-left: black 2.25pt double">
    <P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>
    <P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">Name of Participant:</P></TD>
    <TD STYLE="width: 65%; border-top: black 2.25pt double; border-right: black 2.25pt double">
    <P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>
    <P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">Suresh Krishna</P></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="border-left: black 2.25pt double">&nbsp;</TD>
    <TD STYLE="border-right: black 2.25pt double">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="border-left: black 2.25pt double">
    <P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;Target Number of Units:</P></TD>
    <TD STYLE="border-right: black 2.25pt double">
    <P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;27,160</P></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="border-left: black 2.25pt double">&nbsp;</TD>
    <TD STYLE="border-right: black 2.25pt double">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="border-left: black 2.25pt double">
    <P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;Maximum Number of Units:</P></TD>
    <TD STYLE="border-right: black 2.25pt double">
    <P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;54,320</P></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="border-left: black 2.25pt double">&nbsp;</TD>
    <TD STYLE="border-right: black 2.25pt double">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="border-left: black 2.25pt double">
    <P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;Grant Date:</P></TD>
    <TD STYLE="border-right: black 2.25pt double">
    <P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;May&nbsp;23, 2025</P></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="border-left: black 2.25pt double">&nbsp;</TD>
    <TD STYLE="border-right: black 2.25pt double">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="border-left: black 2.25pt double">
    <P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;Performance Period:</P></TD>
    <TD STYLE="border-right: black 2.25pt double">
    <P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;January&nbsp;1, 2025 - December&nbsp;31, 2027</P></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="border-left: black 2.25pt double">&nbsp;</TD>
    <TD STYLE="border-right: black 2.25pt double">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="border-left: black 2.25pt double">
    <P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;Vesting Schedule:</P></TD>
    <TD STYLE="border-right: black 2.25pt double">
    <P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;The number of Units determined in accordance with <U>Exhibit&nbsp;A</U>
to have been earned as of the end of the Performance Period will vest* on the date the Company&rsquo;s Compensation Committee certifies
such performance results, which shall be no later than March&nbsp;15, 2028 (the &ldquo;Scheduled Vesting Date&rdquo;)</P></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="border-left: black 2.25pt double">&nbsp;</TD>
    <TD STYLE="border-right: black 2.25pt double">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="border-left: black 2.25pt double">
    <P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;Performance Goals:</P></TD>
    <TD STYLE="border-right: black 2.25pt double">
    <P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;See <U>Exhibit&nbsp;A</U></P></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="border-left: black 2.25pt double">&nbsp;</TD>
    <TD STYLE="border-right: black 2.25pt double">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: top">
    <TD COLSPAN="2" STYLE="border-bottom: black 2.25pt double; border-left: black 2.25pt double">
    <P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;* Assumes your Service has been continuous from the Grant
Date to the vesting date.</P></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in">By signing or otherwise authenticating
this cover page, you agree to all of the terms and conditions contained in this Agreement and in the Plan document. You acknowledge that
you have received and reviewed these documents and that they set forth the entire agreement between you and the Company regarding this
Award.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"></P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <TR>
    <TD>PARTICIPANT:</TD>
    <TD>&nbsp;</TD>
    <TD COLSPAN="2">PROTO LABS,&nbsp;INC.</TD></TR>
  <TR>
    <TD STYLE="width: 48%">&nbsp;</TD>
    <TD STYLE="width: 2%">&nbsp;</TD>
    <TD STYLE="width: 5%">&nbsp;</TD>
    <TD STYLE="width: 45%">&nbsp;</TD></TR>
  <TR>
    <TD STYLE="border-bottom: black 1pt solid">/s/ Suresh Krishna</TD>
    <TD>&nbsp;</TD>
    <TD>By:</TD>
    <TD STYLE="border-bottom: black 1pt solid">/s/ Daniel Schumacher</TD></TR>
  <TR>
    <TD STYLE="text-align: left; font-size: 10pt; vertical-align: top">Name: Suresh Krishna</TD>
    <TD>&nbsp;</TD>
    <TD>Name: Title:</TD>
    <TD><P STYLE="margin-top: 0; margin-bottom: 0">Daniel Schumacher</P>
                                               <P STYLE="margin-top: 0; margin-bottom: 0">Chief Financial Officer</P></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"></P>

<!-- Field: Page; Sequence: 1 -->
    <DIV STYLE="margin-top: 12pt; margin-bottom: 6pt; border-bottom: Black 1pt solid"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt; margin-bottom: 12pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><B>Proto Labs,&nbsp;Inc.</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><B>Performance Stock Unit Agreement &ndash; Revenue
and TSR</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><B>Inducement Grant</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><B><U>Terms and Conditions</U></B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0"></TD><TD STYLE="width: 0.25in">1.</TD><TD STYLE="text-align: justify"><B><U>Award of Performance Stock Units</U>.</B> The Company hereby confirms the grant to you, as of the
Grant Date and subject to the terms and conditions of this Agreement and the Plan, of an award of Performance Stock Units in an amount
initially equal to the Target Number of Units specified on the cover page&nbsp;of this Agreement. The number of Units that may actually
be earned and become eligible to vest pursuant to this Award can be between 0% and 200% of the Target Number of Units, but may not under
any circumstances exceed the Maximum Number of Units specified on the cover page&nbsp;of this Agreement. Each Unit that is earned as a
result of the performance goals specified in <U>Exhibit&nbsp;A</U> to this Agreement having been satisfied and which thereafter vests
represents the right to receive one Share of the Company&rsquo;s common stock. Prior to their settlement or forfeiture in accordance with
the terms of this Agreement, the Units granted to you will be credited to an account in your name maintained by the Company. This account
will be unfunded and maintained for book-keeping purposes only, with the Units simply representing an unfunded and unsecured contingent
obligation of the Company.</TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.25in; text-align: justify; border-right-width: 0in; border-right-color: Black; border-left-width: 0in; border-left-color: Black"><FONT STYLE="font-family: Times New Roman, Times, Serif">This
Award is made and granted to you&nbsp;as an inducement material to you entering into employment with the Company as its President and
Chief Executive Officer within the meaning of </FONT>Rule&nbsp;303A.08 of the New York Stock Exchange Listed Company Manual.&nbsp;This
Award is made and granted as a stand-alone award, separate and apart from, and outside of, the Plan, and shall not constitute an award
granted under or pursuant to the Plan. Notwithstanding the foregoing, the terms, provisions, conditions and definitions set forth in the
Plan shall apply to this Award (including but not limited to the adjustment provisions contained in Section&nbsp;12 of the Plan), and
this Award shall be subject to such terms, provisions, conditions and definitions, which are hereby incorporated into this Agreement by
reference. For the avoidance of doubt, this Award shall not be counted for purposes of calculating the aggregate number of Shares that
may be issued or transferred pursuant to Awards under the Plan as set forth in Section&nbsp;4 of the Plan. In the event of any inconsistency
between the Plan and this Agreement, the terms of this Agreement shall control.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0"></TD><TD STYLE="width: 0.25in">2.</TD><TD STYLE="text-align: justify"><B><U>Restrictions Applicable to Units</U>. </B>Neither this Award nor the Units subject to this Award
may be sold, assigned, transferred, exchanged or encumbered other than a transfer upon your death in accordance with your will, by the
laws of descent and distribution or pursuant to a beneficiary designation submitted as set forth in Section&nbsp;6(d)&nbsp;of the Plan.
Following any such transfer, the Units shall continue to be subject to the same terms and conditions that were applicable to the Units
immediately prior to their transfer. Any attempted transfer in violation of this Section&nbsp;2 shall be void and ineffective. The Units
and your right to receive Shares in settlement of any Units under this Agreement shall be subject to forfeiture except to extent the Units
have been earned and thereafter vest as provided in Sections 4 and 5.</TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0"></TD><TD STYLE="width: 0.25in">3.</TD><TD STYLE="text-align: justify"><B><U>No Shareholder Rights</U></B>. The Units subject to this Award do not entitle you to any rights
of a shareholder of the Company&rsquo;s common stock. You will not have any of the rights of a shareholder of the Company in connection
with any Units granted or earned pursuant to this Agreement unless and until Shares are issued to you in settlement of earned and vested
Units as provided in Section&nbsp;6.</TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0"></TD><TD STYLE="width: 0.25in">4.</TD><TD STYLE="text-align: justify"><B><U>Vesting and Forfeiture of Units</U>.</B> The Units shall vest at the earliest of the following times
and to the degree specified. For purposes of this Section&nbsp;4, (i)&nbsp;vesting of this Award will be suspended during any unpaid leave
of absence, and (ii)&nbsp;use of the terms &ldquo;employment&rdquo; and &ldquo;employed&rdquo; refers to providing Services to the Company
and its Affiliates in any Service Provider capacity.</TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"></P>

<!-- Field: Page; Sequence: 2 -->
    <DIV STYLE="margin-top: 12pt; margin-bottom: 6pt; border-bottom: Black 1pt solid"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt; margin-bottom: 12pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.5in"></TD><TD STYLE="width: 0.25in">(a)</TD><TD STYLE="text-align: justify"><I>Scheduled Vesting</I>. The number of Units that have been earned during the Performance Period, as
determined by the Committee in accordance with <U>Exhibit&nbsp;A</U>, will vest on the Scheduled Vesting Date, so long as your employment
has been continuous from the Grant Date to the Scheduled Vesting Date. For these purposes, the &ldquo;Scheduled Vesting Date&rdquo; means
the date the Committee certifies (i)&nbsp;the degree to which the applicable performance goals for the Performance Period have been satisfied,
and (ii)&nbsp;the number of Units that have been earned during the Performance Period as determined in accordance <U>Exhibit&nbsp;A</U>,
which certification shall occur no later than March&nbsp;15 of the calendar year immediately following the calendar year during which
the Performance Period ended.</TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.5in"></TD><TD STYLE="width: 0.25in">(b)</TD><TD STYLE="text-align: justify"><I>Retirement</I>. If your employment terminates by reason of your Retirement prior to the Scheduled Vesting
Date, then you will be entitled to have vest on the Scheduled Vesting Date a pro rata portion of the Units that would otherwise have been
determined to have been earned during the Performance Period in accordance with <U>Exhibit&nbsp;A</U> if you had remained continuously
employed until the Scheduled Vesting Date. The pro rata portion shall be determined by multiplying the number of Units that would otherwise
have been determined to have been earned by a fraction whose numerator is the number of days during the Performance Period prior to your
employment termination date and whose denominator is one thousand ninety-five (1,095). For these purposes, &ldquo;Retirement&rdquo; shall
mean a termination of your employment (other than a termination for Cause, by reason of death or Disability, or that constitutes a Qualifying
Termination as defined below) that (i)&nbsp;occurs at least twelve (12) months after the Grant Date, (ii)&nbsp;occurs at or after you
reach the age of sixty (60) and have completed at least five (5)&nbsp;years of continuous employment, and (iii)&nbsp;thereafter involves
your cessation of employment or business activity with or on behalf of any business entity for a period of at least two years, provided
that during this two-year period you may engage in part-time employment or business activity of no more than fifteen (15) hours per week,
or employment by or business activity with civic, charitable or religious entities, organizations or associations.</TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.5in"></TD><TD STYLE="width: 0.25in">(c)</TD><TD STYLE="text-align: justify"><I>Disability</I>. If your employment terminates by reason of your Disability prior to the Scheduled Vesting
Date, then you will be entitled to have vest on the Scheduled Vesting Date a pro rata portion of the Units that would otherwise have been
determined to have been earned during the Performance Period in accordance with <U>Exhibit&nbsp;A</U> if you had remained continuously
employed until the Scheduled Vesting Date. The pro rata portion shall be determined in the same manner as provided in Section&nbsp;4(b).</TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.5in"></TD><TD STYLE="width: 0.25in">(d)</TD><TD STYLE="text-align: justify"><I>Death</I>. If your employment terminates by reason of your death prior to the Scheduled Vesting Date,
then you will be entitled to have vest on the date your employment terminates a pro rata portion of the Target Number of Units specified
on the cover page&nbsp;of this Agreement, or, if an Interim Target Number of Units has been determined pursuant to <U>Exhibit&nbsp;A</U>,
then such Interim Target Number of Units shall be utilized. The pro rata portion shall be determined in the same manner as provided in
Section&nbsp;4(b).</TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.5in"></TD><TD STYLE="width: 0.25in">(e)</TD><TD STYLE="text-align: justify"><I>Qualifying Termination</I>. If your employment terminates prior to the Scheduled Vesting Date at a
time when you are party to a severance agreement with the Company (including, for these purposes, an employment agreement with the Company
that contains severance provisions), and if such termination of employment constitutes a &ldquo;Qualifying Termination&rdquo; as defined
in the severance agreement (which for these purposes includes your satisfying any conditions specified in the severance agreement to the
receipt of severance benefits thereunder), then you will be entitled to have vest on the Scheduled Vesting Date a pro rata portion of
the Units that would otherwise have been determined to have been earned during the Performance Period in accordance with <U>Exhibit&nbsp;A</U>
if you had remained continuously employed until the Scheduled Vesting Date. The pro rata portion shall be determined in the same manner
as provided in Section&nbsp;4(b). You acknowledge and agree that with respect to this Award only, the terms of this Section&nbsp;4(e)&nbsp;take
precedence over and supersede the terms of your severance agreement that address the accelerated vesting of equity awards in connection
with a Qualifying Termination that occurs outside of a &ldquo;Transition Period&rdquo; as defined in the severance agreement.</TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"></P>

<!-- Field: Page; Sequence: 3 -->
    <DIV STYLE="margin-top: 12pt; margin-bottom: 6pt; border-bottom: Black 1pt solid"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt; margin-bottom: 12pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.5in"></TD><TD STYLE="width: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif">(f)</FONT></TD><TD STYLE="text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif"><I>Change in Control</I>. If a Change in Control
occurs after the Grant Date but before the Scheduled Vesting Date and your employment continues to the date of the Change in Control,
then the Performance Period will be truncated and will end as of the end of the Company&rsquo;s most recently completed fiscal year prior
to the date of the Change in Control. You will be entitled to have vest as of the date of the Change in Control a pro rata portion of
the Units that are determined to have been earned based on actual performance against the performance goals specified in <U>Exhibit&nbsp;A</U>
over the truncated Performance Period. The pro rata portion shall be determined by multiplying the number of Truncated Units (as defined
in the next sentence) by a fraction whose numerator is the number of days during the full Performance Period prior to the date of the
Change in Control and whose denominator is one thousand ninety-five (1,095). For purposes of this Section&nbsp;4(f), &ldquo;Truncated
Units&rdquo; shall mean the number of Units that would have been determined to have been earned under the relative TSR metric on <U>Exhibit&nbsp;A</U>
for the truncated Performance Period where the target number of Units utilized in such determination are as follows: (i)&nbsp;if the Change
in Control occurs between January&nbsp;1, 2026 and June&nbsp;30, 2026, the number of </FONT>2H 2025 Units (as defined in <U>Exhibit&nbsp;A</U>)
that have been determined to have been achieved on an interim basis, plus the Target Number of 1H 2026 Units (as defined in <U>Exhibit&nbsp;A</U>);
and (ii)&nbsp;if the Change in Control occurs after July&nbsp;1, 2026, the Interim Target Number of Units (as defined in <U>Exhibit&nbsp;A</U>).
You acknowledge and agree that with respect to this Award only, the terms of this Section&nbsp;4(f)&nbsp;take precedence over and supersede
the terms of your severance agreement that address the accelerated vesting of equity awards in connection with a Qualifying Termination
that occurs during a &ldquo;Transition Period&rdquo; as defined in the severance agreement.</TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.5in"></TD><TD STYLE="width: 0.25in">(g)</TD><TD STYLE="text-align: justify"><I>Forfeiture of Unvested Units</I>. To the extent any of Sections 4(a)&nbsp;through (f)&nbsp;is applicable
to this Award, any Units that do not vest on the applicable vesting date as provided therein shall immediately be forfeited. If your employment
terminates prior to the Scheduled Vesting Date under circumstances other than as set forth in Sections 4(b)&nbsp;through (f), all unvested
Units shall immediately be forfeited.</TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0"></TD><TD STYLE="width: 0.25in">5.</TD><TD STYLE="text-align: justify"><B><U>Settlement of Units</U></B><I>. </I>As soon as practicable after any date on which Units vest, but
no later than March&nbsp;15 of the year following the calendar year in which the vesting date occurs, the Company shall cause to be issued
to you (or your beneficiary or personal representative) one Share in payment and settlement of each vested Unit. The Company may withhold
from the number of such Shares to be delivered in settlement of the Units any Shares required for the payment of withholding taxes as
provided in Section&nbsp;6 below. The Company will pay any original issue or transfer taxes with respect to the issue and transfer of
Shares to you pursuant to this Agreement, and all fees and expenses incurred by it in connection therewith. All Shares so issued will
be fully paid and nonassessable.</TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0"></TD><TD STYLE="width: 0.25in">6.</TD><TD STYLE="text-align: justify"><B><U>Withholding Taxes</U></B>. The Company shall have the right to (i)&nbsp;withhold from any cash payment
or any other compensation owed to you an amount sufficient to cover any required withholding taxes in connection with the vesting and
settlement of Units subject to this Award, and (ii)&nbsp;require you or any other person receiving Shares under this Award to pay a cash
amount sufficient to cover any required withholding taxes before actual receipt of those Shares. In lieu of all or any part of a cash
payment from you as provided above, you may elect to cover the required withholdings through a reduction in the number of Shares delivered
upon settlement of the Units or through a delivery or tender to the Company of Shares already held by you, in each case valued in the
same manner as used in computing the withholding taxes under applicable laws.</TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"></P>

<!-- Field: Page; Sequence: 4 -->
    <DIV STYLE="margin-top: 12pt; margin-bottom: 6pt; border-bottom: Black 1pt solid"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt; margin-bottom: 12pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0"></TD><TD STYLE="width: 0.25in">7.</TD><TD STYLE="text-align: justify"><B><U>Discontinuance of Service</U></B>. This Agreement does not give you a right to continued Service with the Company or any Affiliate,
and the Company or any such Affiliate may terminate your Service at any time and otherwise deal with you without regard to the effect
it may have upon you under this Agreement. Nothing in this Agreement is intended to, or does, constitute a contract of employment between
you and the Company or any Affiliate.</TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0"></TD><TD STYLE="width: 0.25in">8.</TD><TD STYLE="text-align: justify"><B><U>Governing Plan Document</U></B>. This Agreement and the Units are subject to all the provisions of the Plan, and to all interpretations,
rules&nbsp;and regulations which may, from time to time, be adopted and promulgated by the Committee pursuant to the Plan. If there is
any conflict between the provisions of this Agreement and the Plan, the provisions of this Agreement will govern.</TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0"></TD><TD STYLE="width: 0.25in">9.</TD><TD STYLE="text-align: justify"><B><U>Choice of Law</U></B>. This Agreement will be interpreted and enforced under the laws of the state
of Minnesota (without regard to its conflicts or choice of law principles).</TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0"></TD><TD STYLE="width: 0.25in">10.</TD><TD STYLE="text-align: justify"><B><U>Binding Effect</U></B>. This Agreement will be binding in all respects on your heirs, representatives,
successors and assigns, and on the successors and assigns of the Company.</TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0"></TD><TD STYLE="width: 0.25in">11.</TD><TD STYLE="text-align: justify"><B><U>Severability</U></B>. If any term or provision in this Agreement shall be held to any extent to
be unlawful, void or unenforceable under any enactment or rule&nbsp;of law, that term or provision shall, to that extent, be deemed not
to be part of this Agreement and the validity and enforceability of the remainder of this Agreement shall not be affected.</TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0"></TD><TD STYLE="width: 0.25in">12.</TD><TD STYLE="text-align: justify"><B><U>Compensation Recovery</U></B>.</TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.5in"></TD><TD STYLE="width: 0.25in">(a)</TD><TD STYLE="text-align: justify">To the extent that any compensation paid or payable pursuant to this Agreement is considered &ldquo;incentive-based
compensation&rdquo; within the meaning and subject to the requirements of Section&nbsp;10D of the Exchange Act, such compensation shall
be subject to potential forfeiture or recovery by the Company in accordance with any compensation recovery policy adopted by the Board
or any committee thereof in response to the requirements of Section&nbsp;10D of the Exchange Act and any implementing rules&nbsp;and regulations
thereunder adopted by the Securities and Exchange Commission or any national securities exchange on which the Company&rsquo;s common stock
is then listed. This Agreement may be unilaterally amended by the Company to comply with any such compensation recovery policy.</TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.5in"></TD><TD STYLE="width: 0.25in">(b)</TD><TD STYLE="text-align: justify">Notwithstanding any other provision of this Agreement, if your employment terminates by reason of Retirement
and the Committee thereafter determines, in its sole discretion, that you have failed to comply with the conditions set forth in clause
(iii)&nbsp;of Section&nbsp;4(b)&nbsp;of this Agreement, then (i)&nbsp;you shall immediately forfeit this Award to the extent that it is
not yet vested, and (ii)&nbsp;to the extent this Award has vested and been settled in Shares, the Company shall have the right to (A)&nbsp;recover
such Shares from you, or (B)&nbsp;if you have sold or otherwise transferred such Shares, recover from you an amount in cash equal to the
Fair Market Value of such Shares as of the Scheduled Vesting Date.</TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><B><I>By signing or otherwise authenticating the
cover page&nbsp;of this Agreement, you agree to all the terms and conditions described above and in the Plan document.</I></B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"></P>

<!-- Field: Page; Sequence: 5; Options: Last -->
    <DIV STYLE="margin-top: 12pt; margin-bottom: 6pt; border-bottom: Black 1pt solid"><P STYLE="text-align: center; margin-top: 0pt; margin-bottom: 0pt"></P><P STYLE="text-align: center; margin-top: 0pt; margin-bottom: 0pt"></P><P STYLE="text-align: center; margin-top: 0pt; margin-bottom: 0pt"></P><P STYLE="text-align: center; margin-top: 0pt; margin-bottom: 0pt">&nbsp;</P><P STYLE="text-align: center; margin-top: 0pt; margin-bottom: 0pt"></P></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-23.2
<SEQUENCE>5
<FILENAME>tm2516136d2_ex23-2.htm
<DESCRIPTION>EXHIBIT 23.2
<TEXT>
<HTML>
<HEAD>
     <TITLE></TITLE>
</HEAD>
<BODY STYLE="font: 10pt Times New Roman, Times, Serif">

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"><B>Exhibit&nbsp;23.2</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><B>Consent of Independent Registered Public Accounting
Firm</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">We consent to the incorporation by reference
in the Registration Statement on Form&nbsp;S-8 pertaining to the Performance Stock Unit Award Agreement - TSR (Inducement Grant) and the Performance Stock Unit Award Agreement - Revenue
and TSR (Inducement Grant) of our reports dated February&nbsp;21, 2025, with respect to the consolidated
financial statements of Proto Labs,&nbsp;Inc. and the effectiveness of internal control over financial reporting of Proto
Labs,&nbsp;Inc. included in its Annual Report on Form&nbsp;10-K for the year ended December&nbsp;31, 2024, filed with the Securities
and Exchange Commission.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR>
    <TD STYLE="vertical-align: top; font-size: 10pt; width: 50%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">/s/
    Ernst&nbsp;&amp; Young LLP</FONT></TD>
    <TD STYLE="font-size: 10pt; width: 50%"><FONT STYLE="font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font-size: 10pt">
    <TD STYLE="font-size: 10pt"><FONT STYLE="font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font-size: 10pt"><FONT STYLE="font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font-size: 10pt">
    <TD STYLE="vertical-align: top; font-size: 10pt"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Minneapolis,
    Minnesota</FONT></TD>
    <TD STYLE="font-size: 10pt"><FONT STYLE="font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font-size: 10pt">
    <TD STYLE="vertical-align: top; font-size: 10pt"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">May&nbsp;27,
    2025</FONT></TD>
    <TD STYLE="font-size: 10pt"><FONT STYLE="font-size: 10pt">&nbsp;</FONT></TD></TR>
  </TABLE>

<P STYLE="margin-top: 0; margin-bottom: 0">&nbsp;</P>

<P STYLE="margin-top: 0; margin-bottom: 0"></P>

<!-- Field: Page; Sequence: 1; Options: Last -->
    <DIV STYLE="margin-top: 12pt; margin-bottom: 6pt; border-bottom: Black 1pt solid"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<P STYLE="margin-top: 0; margin-bottom: 0">&nbsp;</P>


</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-FILING FEES
<SEQUENCE>6
<FILENAME>tm2516136d2_ex-filingfees.htm
<DESCRIPTION>EX-FILING FEES
<TEXT>
<XBRL>
<?xml version='1.0' encoding='ASCII'?>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xmlns:ix="http://www.xbrl.org/2013/inlineXBRL" xmlns:ixt="http://www.xbrl.org/inlineXBRL/transformation/2015-02-26" xmlns:ixt-sec="http://www.sec.gov/inlineXBRL/transformation/2015-08-31" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:dei="http://xbrl.sec.gov/dei/2025" xmlns:ffd="http://xbrl.sec.gov/ffd/2025">
  <head>
    <title>EX-FILING FEES</title>
  </head>
  <body>
    <div style="display: none">
      <ix:header>
        <ix:hidden>
          <ix:nonNumeric name="ffd:FormTp" contextRef="rc" id="ixv-116">S-8</ix:nonNumeric>
          <ix:nonNumeric name="ffd:SubmissnTp" contextRef="rc" id="ixv-117">S-8</ix:nonNumeric>
          <ix:nonNumeric name="ffd:FeeExhibitTp" contextRef="rc" id="ixv-118">EX-FILING FEES</ix:nonNumeric>
          <ix:nonNumeric name="dei:EntityCentralIndexKey" contextRef="rc" id="ixv-119">0001443669</ix:nonNumeric>
          <ix:nonNumeric name="dei:EntityRegistrantName" contextRef="rc" id="ixv-120">Proto Labs Inc</ix:nonNumeric>
          <ix:nonNumeric name="ffd:PrevslyPdFlg" contextRef="offrl_1" format="ixt:booleanfalse" id="ixv-121">Fees to be Paid</ix:nonNumeric>
        </ix:hidden>
        <ix:references>
          <link:schemaRef xlink:href="https://xbrl.sec.gov/ffd/2025/ffd-2025.xsd" xlink:type="simple"/>
        </ix:references>
        <ix:resources>
          <xbrli:context id="rc">
            <xbrli:entity>
              <xbrli:identifier scheme="http://www.sec.gov/CIK">0001443669</xbrli:identifier>
            </xbrli:entity>
            <xbrli:period>
              <xbrli:startDate>2025-05-23</xbrli:startDate>
              <xbrli:endDate>2025-05-23</xbrli:endDate>
            </xbrli:period>
          </xbrli:context>
          <xbrli:context id="offrl_1">
            <xbrli:entity>
              <xbrli:identifier scheme="http://www.sec.gov/CIK">0001443669</xbrli:identifier>
              <xbrli:segment>
                <xbrldi:typedMember dimension="ffd:OfferingAxis">
                  <dei:lineNo>1</dei:lineNo>
                </xbrldi:typedMember>
              </xbrli:segment>
            </xbrli:entity>
            <xbrli:period>
              <xbrli:startDate>2025-05-23</xbrli:startDate>
              <xbrli:endDate>2025-05-23</xbrli:endDate>
            </xbrli:period>
          </xbrli:context>
          <xbrli:unit id="USD">
            <xbrli:measure>iso4217:USD</xbrli:measure>
          </xbrli:unit>
          <xbrli:unit id="pure">
            <xbrli:measure>xbrli:pure</xbrli:measure>
          </xbrli:unit>
          <xbrli:unit id="Shares">
            <xbrli:measure>xbrli:shares</xbrli:measure>
          </xbrli:unit>
        </ix:resources>
      </ix:header>
    </div>
    <div>
      <table style="width: 99%; font-family: Arial, Helvetica, sans-serif; font-size: 20pt; text-align: center;">
        <tr>
          <td colspan="4" style="padding-bottom: .5em">
            <p>
              <b>Calculation of Filing Fee Tables</b>
            </p>
          </td>
        </tr>
        <tr>
          <td style="padding-bottom: .25em">
            <p>
              <b>
                <ix:nonNumeric name="ffd:FormTp" contextRef="rc" id="ixv-146">S-8</ix:nonNumeric>
              </b>
            </p>
          </td>
        </tr>
        <tr>
          <td style="padding-bottom: .25em">
            <p>
              <b>
                <ix:nonNumeric name="dei:EntityRegistrantName" contextRef="rc" id="ixv-147">Proto Labs Inc</ix:nonNumeric>
              </b>
            </p>
          </td>
        </tr>
      </table>
    </div>
    <div style="padding-bottom: 20px;">
      <table style="float: center; width: 100%; text-align: left;  ">
        <tr style="font-family: Arial, Helvetica, sans-serif; font-size: 16px">
          <th style="vertical-align: bottom; text-align: center; width: 90%; word-wrap: break-word">
            <p style="margin: 0pt; text-align: center;">
              <b>Table 1: Newly Registered Securities</b>
            </p>
          </th>
        </tr>
      </table>
      <table style="font-family: Arial, Helvetica, sans-serif; font-size: 16px; float: center; width: 90%; text-align: center;  border: 1px solid black; margin-left: auto; margin-right: auto;">
        <tr style="background-color:#9ADAF6">
          <th style="width: 2%;">
            <!-- BLANK -->
          </th>
          <th style="width: 10%;">
            <p style="margin: 0pt; text-align: center;">
              <b>Security Type</b>
            </p>
          </th>
          <th style="width: 10%;">
            <p style="margin: 0pt; text-align: center;">
              <b>Security Class Title </b>
            </p>
          </th>
          <th style="width: 10%;">
            <p style="margin: 0pt; text-align: center;">
              <b>Fee Calculation Rule</b>
            </p>
          </th>
          <th style="width: 10%;">
            <p style="margin: 0pt; text-align: center;">
              <b>Amount Registered</b>
            </p>
          </th>
          <th style="width: 15%;">
            <p style="margin: 0pt; text-align: center;">
              <b>Proposed Maximum Offering Price Per Unit</b>
            </p>
          </th>
          <th style="width: 15%;">
            <p style="margin: 0pt; text-align: center;">
              <b>Maximum Aggregate Offering Price</b>
            </p>
          </th>
          <th style="width: 3%;">
            <p style="margin: 0pt; text-align: center;">
              <b>Fee Rate</b>
            </p>
          </th>
          <th style="width: 15%;">
            <p style="margin: 0pt; text-align: center;">
              <b>Amount of Registration Fee</b>
            </p>
          </th>
        </tr>
        <tr style="background-color:#E7E7E2">
          <td style="text-align: center;">
		1
	</td>
          <td style="text-align: left;">
            <ix:nonNumeric name="ffd:OfferingSctyTp" contextRef="offrl_1" id="ixv-148">Equity</ix:nonNumeric>
          </td>
          <td style="text-align: left;">
            <ix:nonNumeric name="ffd:OfferingSctyTitl" contextRef="offrl_1" id="ixv-149">Common Stock, par value $0.001 per share</ix:nonNumeric>
          </td>
          <td style="text-align: center;">
            <ix:nonNumeric name="ffd:FeesOthrRuleFlg" contextRef="offrl_1" format="ixt:booleantrue" id="ixv-150">Other</ix:nonNumeric>
          </td>
          <td style="text-align: right;">
            <ix:nonFraction name="ffd:AmtSctiesRegd" unitRef="Shares" decimals="0" format="ixt:numdotdecimal" contextRef="offrl_1" id="ixv-151">108,640</ix:nonFraction>
          </td>
          <td style="text-align: right;">
            <span>$</span>
            <ix:nonFraction name="ffd:MaxOfferingPricPerScty" unitRef="USD" decimals="INF" format="ixt:numdotdecimal" contextRef="offrl_1" id="ixv-152">36.99</ix:nonFraction>
          </td>
          <td style="text-align: right;">
            <span>$</span>
            <ix:nonFraction name="ffd:MaxAggtOfferingPric" unitRef="USD" decimals="INF" format="ixt:numdotdecimal" contextRef="offrl_1" id="ixv-153">4,018,593.60</ix:nonFraction>
          </td>
          <td style="text-align: right;">
            <ix:nonFraction name="ffd:FeeRate" unitRef="pure" decimals="INF" format="ixt:numdotdecimal" contextRef="offrl_1" id="ixv-154">0.0001531</ix:nonFraction>
          </td>
          <td style="text-align: right;">
            <span>$</span>
            <ix:nonFraction name="ffd:FeeAmt" unitRef="USD" decimals="INF" format="ixt:numdotdecimal" contextRef="offrl_1" id="ixv-155">615.25</ix:nonFraction>
          </td>
        </tr>
        <tr>
          <td colspan="5" style="vertical-align: top">
            <p style="margin: 0pt; text-align: right">Total Offering Amounts:</p>
          </td>
          <td>
            <!-- BLANK -->
          </td>
          <td style="vertical-align: top; width: 16%;">
            <p id="MaxAggtOfferingPrice" style="margin: 0pt; text-align: right">
              <span>$</span>
              <ix:nonFraction name="ffd:TtlOfferingAmt" contextRef="rc" decimals="INF" format="ixt:numdotdecimal" unitRef="USD" id="ixv-156">4,018,593.60</ix:nonFraction>
            </p>
          </td>
          <td>
            <!-- BLANK -->
          </td>
          <td style="vertical-align: top; border-bottom: 1px black; width: 16%;">
            <p id="TotalFeeAmt" style="margin: 0pt; text-align: right">
              <span>$</span>
              <ix:nonFraction name="ffd:TtlFeeAmt" contextRef="rc" decimals="INF" format="ixt:numdotdecimal" unitRef="USD" id="ixv-157">615.25</ix:nonFraction>
            </p>
          </td>
        </tr>
        <tr>
          <td colspan="5" style="vertical-align: top">
            <p style="margin: 0pt; text-align: right">
					Total Fee Offsets:
				</p>
          </td>
          <td>
            <!-- BLANK -->
          </td>
          <td>
            <!-- BLANK -->
          </td>
          <td>
            <!-- BLANK -->
          </td>
          <td style="vertical-align: top">
            <p id="TotalOffsetAmt" style="margin: 0pt; text-align: right">
              <span>$</span>
              <ix:nonFraction name="ffd:TtlOffsetAmt" contextRef="rc" decimals="INF" format="ixt:numdotdecimal" unitRef="USD" id="ixv-158">0.00</ix:nonFraction>
            </p>
          </td>
        </tr>
        <tr>
          <td colspan="5" style="vertical-align: top">
            <p style="margin: 0pt; text-align: right">
					Net Fee Due:
				</p>
          </td>
          <td>
            <!-- BLANK -->
          </td>
          <td>
            <!-- BLANK -->
          </td>
          <td>
            <!-- BLANK -->
          </td>
          <td style="vertical-align: top">
            <p id="NetFeeAmt" style="margin: 0pt; text-align: right">
              <span>$</span>
              <ix:nonFraction name="ffd:NetFeeAmt" contextRef="rc" decimals="INF" format="ixt:numdotdecimal" unitRef="USD" id="ixv-159">615.25</ix:nonFraction>
            </p>
          </td>
        </tr>
      </table>
    </div>
    <div>
      <table style="width: 100%; text-indent: 0px;">
        <tbody>
          <tr style="font-family: Arial, Helvetica, sans-serif; font-size: 16px; vertical-align: top;">
            <td>
              <p style="margin:0pt;text-align:left; margin-bottom: 5px;">
                <b>Offering Note</b>
              </p>
            </td>
            <td/>
          </tr>
        </tbody>
      </table>
    </div>
    <div style="padding-bottom: 20px;">
      <table style="width: 100%; text-indent: 0px;">
        <tr style="font-family: Arial, Helvetica, sans-serif; font-size: 16px; vertical-align: top;">
          <td style="width:10pt;">
            <p style="margin:0pt;text-align:left;">
              <sup style="vertical-align:top;line-height:120%;font-size:10px">1</sup>
            </p>
          </td>
          <td colspan="7" style="white-space: pre-line;">
            <ix:nonNumeric name="ffd:OfferingNote" escape="1" contextRef="offrl_1" id="ixv-160">1a. The number of shares of common stock, par value $0.001 per share ("Common Stock"), registered represents an aggregate of 108,640 shares of Common Stock, issuable upon  (i) the vesting of a maximum of 54,320 performance stock units granted to Mr. Krishna pursuant to a Performance Stock Unit Award Agreement - TSR (Inducement Grant), and (ii) the vesting of a maximum of 54,320 performance stock units granted to Mr. Krishna pursuant to a Performance Stock Unit Award Agreement - Revenue and TSR (Inducement Grant), entered into on May 23, 2025 (collectively, the "Inducement Award Agreements"), each under New York Stock Exchange Listing Rule 303A.08.

1b. Pursuant to Rule 416(c) under the Securities Act of 1933, as amended (the "Securities Act"), this Registration Statement shall also cover any additional shares of Common Stock that become issuable under the Inducement Award Agreements by reason of any stock split, stock dividend or other similar transaction effected without the receipt of consideration which results in an increase in the number of shares of outstanding Common Stock.

1c.  Estimated solely for the purpose of calculating the registration fee in accordance with Rule 457(c) and Rule 457(h) under the Securities Act using the average of the high and low sale prices of the common stock on May 23, 2025, as reported on The New York Stock Exchange, which is within five business days prior to filing this Registration Statement on Form S-8.
</ix:nonNumeric>
          </td>
        </tr>
        <tr>
          <td style="width:10pt;"/>
          <td colspan="7">
            <hr style="width:100%;text-align:left;margin-left:0"/>
          </td>
        </tr>
      </table>
    </div>
  </body>
</html>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>GRAPHIC
<SEQUENCE>7
<FILENAME>tm2516136d2_ex5-1img004.jpg
<DESCRIPTION>GRAPHIC
<TEXT>
begin 644 tm2516136d2_ex5-1img004.jpg
M_]C_X  02D9)1@ ! 0$ R #(  #_VP!#  $! 0$! 0$! 0$! 0$! 0$! 0$!
M 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0'_
MVP!# 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$!
M 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0'_P  1" !? UL# 2(  A$! Q$!_\0
M'P   04! 0$! 0$           $" P0%!@<("0H+_\0 M1   @$# P($ P4%
M! 0   %] 0(#  01!1(A,4$&$U%A!R)Q%#*!D:$((T*QP152T? D,V)R@@D*
M%A<8&1HE)B<H*2HT-38W.#DZ0T1%1D=(24I35%565UA96F-D969G:&EJ<W1U
M=G=X>7J#A(6&AXB)BI*3E)66EYB9FJ*CI*6FIZBIJK*SM+6VM[BYNL+#Q,7&
MQ\C)RM+3U-76U]C9VN'BX^3EYN?HZ>KQ\O/T]?;W^/GZ_\0 'P$  P$! 0$!
M 0$! 0        $" P0%!@<("0H+_\0 M1$  @$"! 0#! <%! 0  0)W  $"
M Q$$!2$Q!A)!40=A<1,B,H$(%$*1H;'!"2,S4O 58G+1"A8D-.$E\1<8&1HF
M)R@I*C4V-S@Y.D-$149'2$E*4U155E=865IC9&5F9VAI:G-T=79W>'EZ@H.$
MA8:'B(F*DI.4E9:7F)F:HJ.DI::GJ*FJLK.TM;:WN+FZPL/$Q<;'R,G*TM/4
MU=;7V-G:XN/DY>;GZ.GJ\O/T]?;W^/GZ_]H # ,!  (1 Q$ /P#^_BBBB@ J
M.3M^/]*DJK=,RJK*I8J)6VJFYCMC; 0'">86PJAV0,"PSU!!I7=C\[_^"F'_
M  4=^#W_  3,_9^'QM^*NE:OXQU'7==M_"/P[^&OAN[L[#Q%X]\67$9O#8V=
M_?*]OIFGZ7IT%SJ6K:J8;N6R@CB^SV-W/-'%7QC^P#_P5G_:L_;&^,'A/P5\
M3/\ @E5^T%^RY\(_'/AKQ!XMT?\ :&\9ZYX[UGX?+#IFBOXA\/V*OJO[._PS
MAGB\667V:_TG4&U[[#J$M]+%IU]J4=N\9_F>_P""U_\ P6*_8_\ ^"@/CO\
M8=B^%&D_%B?P7^SS\:_%_B7XT:9X\\$Z1IBZWH%]K/PR>(>&TTOQ'KXU/;X?
M\-^-[/.IR:'Y*ZK:>0+PW%R;3^G?]D+_ (. ?V#/VVOC7:_!'X3Q_&?0?%ES
MX3\:>,T\0?$3P-X=\-^#+#P[X&TJ\UG6M1N]<M/'6KSQ9T6RN[[3(IM&>:YC
MFD\MX4%T$"VK1VUZOMJ?N7 I4ONVD@A2V27)#.<$%I&"A65DW3.<.1LB "F>
MOYHO'O\ P=-_\$X?"GBO5O#?@3P?^U%\;=)T:]^R7?C;X;?#CPPGA6\(PQN=
M+F\?_$?P5K=]"8AF![[3M-AOE1_[/,X24I^GG[!O_!43]DC_ (*0>&/$'B+]
MG+QEK%QKO@V.T/CGX>^.-"N/!OQ!\#VVJ-J<=A>>(M$-YJUE%I-U/HUW;/K7
MAW7]7L[:[^Q1:D\ N[ 7(9GZ0T5^,G[>/_!<G]A+_@GW\05^$WQ6\1?$'QU\
M7TTRPU#5/AE\&?#EIXT\1>&5U94.G1>(IK_Q%H7A72-3EMT^V1Z3+>3WD5N8
M+ZZB@AO[5[KQS]DW_@XV_P"">'[4OQ5\._!<S?&+X"_$#Q;?G1_"]M\?_!GA
MKPGHGB;6YV5=-T^#Q!X<\5>)+&#7-58/%I=I.UDEVSRA#+Y+&  _?ZBOCC]L
MW]N#]FS]@GX2S_&+]I3Q_#X-\,R7S:#H>FV5J=5\8>,?$TT44\&B>%/#4+BY
MUG5I(O++3K"+&T%U;R7][8PSPFY_%WP-_P '4W_!-SQKXHTO0?$OA/\ :B^%
M>@:Q?016GQ#\=_"[P;<^"M-AFN5M[:?Q!<> /B?\1=:L8Q>QJDU]::!=KHMS
M-IB>(#HGVRU-T ?TTT5^2_PZ_P""Q?['?Q5^&W[;OQ8^']U\1_%'@/\ 8-N[
MBT^,&K:=X<T*^TWQ-;07/B@Q7GPHGB\6)I_BFUO[?0+R6V_M2^\/3_99-)!M
M%>5UB^:/C'_P<A_\$S?@UX#^%/C=_$OQ1^)6N_%_P9IOQ!T7X7?"[PQX;\6_
M$?PUHFO8&FV_C=+KQOIWA7PMJDP>[\C1T\8S20"TOD?RPBAP#]_Z*_'KQ!_P
M6P_8>\&?L3?!S]NSX@>)/&_P^^&?QWO=?T[X8?#W6/#.FZO\:O$VK^&O%>O>
M$?$&G67A+PIXHU^R+:;KOAZ^AOM8D\1'PWHD5[I[^(+^U74;6,?!?A#_ (.L
MO^";VM:Y8V'BSP7^U9\,M U-Q</XY\6_"WPE<^$M-TI+H6AU34O^$1^+7B'Q
M']B^TF1Y]7T#PKJNFHC@791HT,H!_3S17!_#3X@^#/BSX*\-_$WX=^(]-\7>
M!?'.B:=XB\)>)=&NI[K2M:T'48FN+"_MFE2%(I9D=OM-O]GBNK:5?L][F:(*
MG>4 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !11
M10 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4
M444 %%%% !3'17X8;E*LK(3E&5MN[<A^5A@8^8'@D=&.7T4 ?R"_\',>A:-I
M?QZ_X(ZIIFC:+:G4/VF_&_VI8M.TZ(W07QE^S6&-QYX#717S&VX_U9=\\R#/
M[^_\%"/V9?AA\?\ ]CSX[_"/QC\2+?\ 9M\"^+_">_XA_&7P_IWAW29_#?@'
M0]:TSQ7XZ@UN_P!5B&C-X1\1^&-#U3PSXTLM:0:;JGAC5]4TJZ=!> '\'O\
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
M_P 1I+96:&\M=1UB\UKP]I6J1'RM:B\-7.O:>3H.K:*:_86@R"BBB@ HHHH
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
M444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !11
M10 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
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
MBEEOK6%])\,Z.HM$(MHV5OLX\H*:^TJ* /B?]K?]@/\ 9E_;3\3_  $\9_M
M>$=<\3Z_^S1XQO\ Q]\)KC1O%VN^&$T;7]0O_"6H:A<:A;Z7J%C8ZS:S3^#=
M 9[?55F$,=K*+1H3<7'FUM>_X)__ +,OB+]L_P $?M^ZUX5UJ?\ :?\  GAF
MZ\$^'?%]MXQ\6V^B1:#=>&_&?AEK23PA_:=UH+SKX8\<>(+5YX+> 7$KP22
M-$@'W#10!GLP1)" YC>-I&5%6(EHXRCQ1Q "X#RK&^&R60JOEDX-?E[X;_X)
M!?L+^"O@[^U)\#-!\ >)[;X=_MB^(=/\5_'K3O\ A8?BJXO-=UGP_K5UXDLI
M])UMYVO="2WUB*0W5OI+)(WFQI.N(;<']4J* /!/@'\!/AQ^R]\&/A]\ /A'
MH>I:5\-_A;H'_".>$-)O-:FU_4[;1C=W=U(ESK.KR/JU[/YVJZE/"SN7=;:2
M-757CA?YD\0?\$R/V2/$'[9'AW]OR?P3K>A?M0^'H+<OXU\&^./%/A+3O%"V
MFC:EX1F'B_PG8:I8Z'KZ:_X/U23PWKUAJL$VDZQ9I!'?P//;K>3_ *+44 ?@
M3\:/^#;7_@E7\;?'&I>/9?A1XS^%FM:YJ-WK6O6?P>^)6N>$/#NJZO=SF22_
M3P[J*^(;#1P4"6K6GA8Z'I211*J6\D@WQ_;'[%7_  2S_8C_ ."?/]LZI^S3
M\(;?PMXU\1:(_AWQ%\1=:UC6?%7COQ#H3:I8ZW)H4^L:SJ5]]CTN_P!1TO3K
MK4].TJUTZ'5YM-T^:_6X;3;'[+^CU1R/L*^^?TQ^G/-->7X N?['Q=/UZKI?
MJ?"/[.G_  3R_9@_97^.?[0'[1GP<\*:]HGQ2_:9UW6?$'Q7UC4?&?B+Q+IV
MLWNO>+-8\:7%S8:)J-Q+:Z/;CQ!K-Z(K#3XXH+:W*)EFC\Y]C]HO]AG]G']J
M#Q+HOBWXU>#=3\4:SHVB#PUIDMGXT\6^%H(=)%]<7LD#66A:SI<4YFOM1F<O
M=+<NB)&T4D:M)YOVP2& ']X''U':LR[0L8SY<,@&[_6MM*Y*9V<C/;//8<<T
MO9QK1E2G;DEJU*UFXOF3U:5[I:[KHT['A<0\/9+Q7E]?+.(<JRK/,OK2H/$Y
M=GD%6RS$2P^(I8FB\13EI)T:U*EB*%WI7ITI._*?,/P?_95^$OP&\$WOP]^#
M>B^(? /A;4?$=YXGO8M+\7Z[=WT^K7=M#IU\L6JZW<ZI>V,-U;6<(EDTV[LK
MB-[>&>VD5P9&\C\5_P#!,3]AKXI^-=(^(7QG^!47QZ\8:!9R66CZI^T-X^^*
M7Q^ATJRAO&U V.F:'\9O&/C#1K.R:\N7N;>#2=$CM1)$KDY6W1?T"@P%QB-6
M'($;$\X^I'<CC''<][$>_+AL8^7;TS@Y)SWZ^OOBIY?9N--:))12O)^[%.UE
M)RLELK.ROHM;G?EF RO*,#1R[)\LP&58*C"-*&%RJ$:6"IPIKW81A"T5"-ER
MI):J.BLC)T#0])\.:;9:+H&F:;HNAZ3I]EI>D:-H]A:Z7I>D:?8H\=KIEAIU
M@L%A9VME&RPV]O:6-I'# L40$@0;-NBBJ.X**** "BBB@ HHHH **** "BBB
M@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *
M*** "BBB@ HHHH **** "BBB@"&8@*68@*BL[,5)VA< E6!&Q]I8(1DDGV.?
MD.7]D;P58/X8'A/QQ\2?A_=^'-,^*OAB:^\.:IX9GO/$_A+XS^/(?B7XWT7Q
M#=>(/"^N7^G64WBJU,ND:OX6O?#&O:?<8%OJSQ.L,WV%10!\#>!?V$OAU\,_
M!.F_#_X6_$?X\_#SP5%\-_AQ\+O%FA>'/%_AV[?XD^'_ (;^!O#_ ,,_#=[K
MNL>*/ FO>(O#WBL> ?#>G^!=?\4?#K5OA?X@U/3=/L+W6Y4U7P]X3UW1OGKQ
MG^Q=\5O$%[\2/A_H^H2>#_A#\2/VG?!O[0UQ8>"?%'A:Q^%MWI>B_%;X=?$O
MQ!JOB/PQXK\%>(/BA9_%379O M]>7OA[PC\1X?@OXGUJXT[Q;K&D:!?>(_&6
MBV_Z_44 ?).M?LJ?#_48?!T^DZUXV\#^,O GQ.^+WQ1\!_$;PEKED/$WAWQ#
M\;O$/C/Q1\2(K>RU_1O$O@[7/#'B6_\ &^N6B>"O%&A>)-/M=-32M:L8[/Q3
MH5KJMGF2_LJ:!!J&A>-/"GQ.^+GA7XLZ-H/C'PWJOQOT[5/A]K/Q \=:)X[\
M0KXK\2:=XK'COX:^-?AHFB_\)9#IWBSP]8^&/!>B:?\ #U(;_P ._#C0O"/A
M.ZU?PGJ'V310!\)>#OV!/@3X'^$?C_X/Z-#XR/A/XD?!3Q;\!O%$UYXADU+6
MV\ ^-O%GQ7\<^(FL-4NM*O+YO$+:]\9?&\T>HW=NUS<22:<UY%=ZE!<:A>=_
MX0_9.^$WA#PO\:_!NE0Z]_8OQU\2:+XE\=K?ZVUS/)J.D_"OX9?!_3X-&G&F
M6!TO2;CP=\(_!BWD$/VK[5KQUN3S$W^6GU=10!\D:G^Q]\&M4NM1U.\TS5FU
M#Q"_Q@M?%DL6KXN?''@OX^ZKK6O?$?X5^+HY+2\MM8\!ZOJM_:75E;JL.K:+
M=:3;W>B:[II&H#4,F_\ V1_"GB33KN/X@?$_XP_% KIWAG2]&O/&'BS1K*W\
M,:7X8\;^$_B3%;Z:? 7@WP>=;GU3Q'\._!EIK?C;QDOB#QU-X<THZ7IOC2P^
MUZM_:/V;10!\J^-OV;])\;^)['QY?_$_XK:/X^\.>--6\0_#[Q-X=UKPC;WO
MPST_Q)X6T/PMXC\">'?#]]X%O/"FM> O&-KHNE:OKGA3XJZ#X^CB\5:BOBNT
MU&R\1:9X;U32>;A_9)\/:7K>G^.?"'Q+^,7A3XL1>%[_ ,'>*?BWIE_X$USQ
M_P#$SPMJWBGQ'X\GT?QY8_$7P!XO^'U[]@\:>(M5U[PY_8WA;PK=> M.U.^\
M&^ X?!O@6]N/">H?9U% 'Q9J7[$/P(U7X%_%+X 1:-K6C_#7XN_ :S_9W\66
MFB^(]12\N/ ]JGQ'@.IZ;JM_/J.JMXMU>3XG>)M5U;7-3N-4OM?U.^LM1U*^
MU+4#?7MS],:%X$T31_&.N^.[3^T/[<\0^"_ G@743<7!:T_L7X?:O\0-;T(0
MV>U1;WPO?B1XB^W7&6^UVYTU"?\ 103W=% !1110 4444 %%%% !1110 444
M4 %%%% 'BWQ"^./PO^%DT5OX^\8:/X7DE2!HX]2>=-R3M(D)3R(GVAFB<9Z
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
M_P -F?LT_P#19?"'_@3J7_R!7U%_9UO_ ,\8O^^(?_D>C^SK?_GC%_WQ#_\
M(]%ZO\T/_!'_ -U#ZEQE_P!#;AC_ ,1?B'_Z*#Y=_P"&S/V:?^BR^$/_  )U
M+_Y H_X;,_9I_P"BR^$/_ G4O_D"OJ+^SK?_ )XQ?]\0_P#R/1_9UO\ \\8O
M^^(?_D>B]7^:'_@C_P"ZA]2XR_Z&W#'_ (B_$/\ ]%!\N_\ #9G[-/\ T67P
MA_X$ZE_\@4?\-F?LT_\ 19?"'_@3J7_R!7U%_9UO_P \8O\ OB'_ .1Z/[.M
M_P#GC%_WQ#_\CT7J_P T/_!'_P!U#ZEQE_T-N&/_ !%^(?\ Z*#Y=_X;,_9I
M_P"BR^$/_ G4O_D"C_ALS]FG_HLOA#_P)U+_ .0*^HO[.M_^>,7_ 'Q#_P#(
M]']G6_\ SQB_[XA_^1Z+U?YH?^"/_NH?4N,O^AMPQ_XB_$/_ -%!\N_\-F?L
MT_\ 19?"'_@3J7_R!1_PV9^S3_T67PA_X$ZE_P#(%?47]G6__/&+_OB'_P"1
MZ/[.M_\ GC%_WQ#_ /(]%ZO\T/\ P1_]U#ZEQE_T-N&/_$7XA_\ HH/EW_AL
MS]FG_HLOA#_P)U+_ .0*/^&S/V:?^BR^$/\ P)U+_P"0*^HO[.M_^>,7_?$/
M_P CT?V=;_\ /&+_ +XA_P#D>B]7^:'_ ((_^ZA]2XR_Z&W#'_B+\0__ $4'
MR[_PV9^S3_T67PA_X$ZE_P#(%'_#9G[-/_19?"'_ ($ZE_\ (%?47]G6_P#S
MQB_[XA_^1Z/[.M_^>,7_ 'Q#_P#(]%ZO\T/_  1_]U#ZEQE_T-N&/_$7XA_^
MB@^7?^&S/V:?^BR^$/\ P)U+_P"0*/\ ALS]FG_HLOA#_P "=2_^0*^HO[.M
M_P#GC%_WQ#_\CT?V=;_\\8O^^(?_ )'HO5_FA_X(_P#NH?4N,O\ H;<,?^(O
MQ#_]%!\N_P##9G[-/_19?"'_ ($ZE_\ (%'_  V9^S3_ -%E\(?^!.I?_(%?
M47]G6_\ SQB_[XA_^1Z/[.M_^>,7_?$/_P CT7J_S0_\$?\ W4/J7&7_ $-N
M&/\ Q%^(?_HH/EW_ (;,_9I_Z++X0_\  G4O_D"C_ALS]FG_ *++X0_\"=2_
M^0*^HO[.M_\ GC%_WQ#_ /(]']G6_P#SQB_[XA_^1Z+U?YH?^"/_ +J'U+C+
M_H;<,?\ B+\0_P#T4'R[_P -F?LT_P#19?"'_@3J7_R!1_PV9^S3_P!%E\(?
M^!.I?_(%?47]G6__ #QB_P"^(?\ Y'H_LZW_ .>,7_?$/_R/1>K_ #0_\$?_
M '4/J7&7_0VX8_\ $7XA_P#HH/EW_ALS]FG_ *++X0_\"=2_^0*/^&S/V:?^
MBR^$/_ G4O\ Y KZB_LZW_YXQ?\ ?$/_ ,CT?V=;_P#/&+_OB'_Y'HO5_FA_
MX(_^ZA]2XR_Z&W#'_B+\0_\ T4'R[_PV9^S3_P!%E\(?^!.I?_(%'_#9G[-/
M_19?"'_@3J7_ ,@5]1?V=;_\\8O^^(?_ )'H_LZW_P">,7_?$/\ \CT7J_S0
M_P#!'_W4/J7&7_0VX8_\1?B'_P"B@^7?^&S/V:?^BR^$/_ G4O\ Y H_X;,_
M9I_Z++X0_P# G4O_ ) KZB_LZW_YXQ?]\0__ "/1_9UO_P \8O\ OB'_ .1Z
M+U?YH?\ @C_[J'U+C+_H;<,?^(OQ#_\ 10?+O_#9G[-/_19?"'_@3J7_ ,@4
M?\-F?LT_]%E\(?\ @3J7_P @5]1?V=;_ //&+_OB'_Y'H_LZW_YXQ?\ ?$/_
M ,CT7J_S0_\ !'_W4/J7&7_0VX8_\1?B'_Z*#Y=_X;,_9I_Z++X0_P# G4O_
M ) H_P"&S/V:?^BR^$/_  )U+_Y KZB_LZW_ .>,7_?$/_R/1_9UO_SQB_[X
MA_\ D>B]7^:'_@C_ .ZA]2XR_P"AMPQ_XB_$/_T4'R[_ ,-F?LT_]%E\(?\
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
M #QB_P"^(?\ Y'H_LZW_ .>,7_?$/_R/1>K_ #0_\$?_ '4/J7&7_0VX8_\
)$7XA_P#HH/_9

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>9
<FILENAME>R1.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Submission<br></strong></div></th>
<th class="th"><div>May 23, 2025</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_SubmissionLineItems', window );"><strong>Submission [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityCentralIndexKey', window );">Central Index Key</a></td>
<td class="text">0001443669<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityRegistrantName', window );">Registrant Name</a></td>
<td class="text">Proto Labs Inc<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_FormTp', window );">Form Type</a></td>
<td class="text">S-8<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_SubmissnTp', window );">Submission Type</a></td>
<td class="text">S-8<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_FeeExhibitTp', window );">Fee Exhibit Type</a></td>
<td class="text">EX-FILING FEES<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCentralIndexKey">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCentralIndexKey</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:centralIndexKeyItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityRegistrantName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityRegistrantName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_FeeExhibitTp">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_FeeExhibitTp</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ffd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>ffd:feeExhibitTypeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_FormTp">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_FormTp</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ffd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>ffd:submissionTypeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_SubmissionLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_SubmissionLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ffd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_SubmissnTp">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_SubmissnTp</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ffd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>ffd:submissionTypeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>10
<FILENAME>R2.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Offerings - Offering: 1<br></strong></div></th>
<th class="th">
<div>May 23, 2025 </div>
<div>USD ($) </div>
<div>shares</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_OfferingTable', window );"><strong>Offering:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_PrevslyPdFlg', window );">Fee Previously Paid</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_FeesOthrRuleFlg', window );">Other Rule</a></td>
<td class="text">true<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_OfferingSctyTp', window );">Security Type</a></td>
<td class="text">Equity<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_OfferingSctyTitl', window );">Security Class Title</a></td>
<td class="text">Common Stock, par value $0.001 per share<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_AmtSctiesRegd', window );">Amount Registered | shares</a></td>
<td class="nump">108,640<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_MaxOfferingPricPerScty', window );">Proposed Maximum Offering Price per Unit</a></td>
<td class="nump">36.99<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_MaxAggtOfferingPric', window );">Maximum Aggregate Offering Price</a></td>
<td class="nump">$ 4,018,593.60<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_FeeRate', window );">Fee Rate</a></td>
<td class="nump">0.01531%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_FeeAmt', window );">Amount of Registration Fee</a></td>
<td class="nump">$ 615.25<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_OfferingNote', window );">Offering Note</a></td>
<td class="text">1a. The number of shares of common stock, par value $0.001 per share ("Common Stock"), registered represents an aggregate of 108,640 shares of Common Stock, issuable upon  (i) the vesting of a maximum of 54,320 performance stock units granted to Mr. Krishna pursuant to a Performance Stock Unit Award Agreement - TSR (Inducement Grant), and (ii) the vesting of a maximum of 54,320 performance stock units granted to Mr. Krishna pursuant to a Performance Stock Unit Award Agreement - Revenue and TSR (Inducement Grant), entered into on May 23, 2025 (collectively, the "Inducement Award Agreements"), each under New York Stock Exchange Listing Rule 303A.08.

1b. Pursuant to Rule 416(c) under the Securities Act of 1933, as amended (the "Securities Act"), this Registration Statement shall also cover any additional shares of Common Stock that become issuable under the Inducement Award Agreements by reason of any stock split, stock dividend or other similar transaction effected without the receipt of consideration which results in an increase in the number of shares of outstanding Common Stock.

1c.  Estimated solely for the purpose of calculating the registration fee in accordance with Rule 457(c) and Rule 457(h) under the Securities Act using the average of the high and low sale prices of the common stock on May 23, 2025, as reported on The New York Stock Exchange, which is within five business days prior to filing this Registration Statement on Form S-8.
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_AmtSctiesRegd">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of securities being registered.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Securities Act<br> -Number 230<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_AmtSctiesRegd</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ffd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>ffd:nonNegativeDecimal2ItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_FeeAmt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total amount of registration fee (amount due after offsets).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Securities Act<br> -Number 230<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_FeeAmt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ffd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>ffd:nonNegative1TMonetary2ItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_FeeRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The rate per dollar of fees that public companies and other issuers pay to register their securities with the Commission.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Securities Act<br> -Number 230<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_FeeRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ffd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_FeesOthrRuleFlg">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Checkbox indicating whether filer is using a rule other than 457(a), 457(o), or 457(f) to calculate the registration fee due.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Securities Act<br> -Number 230<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_FeesOthrRuleFlg</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ffd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_MaxAggtOfferingPric">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The maximum aggregate offering price for the offering that is being registered.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Securities Act<br> -Number 230<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_MaxAggtOfferingPric</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ffd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>ffd:nonNegative100TMonetary2ItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_MaxOfferingPricPerScty">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The maximum offering price per share/unit being registered.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Securities Act<br> -Number 230<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_MaxOfferingPricPerScty</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ffd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>ffd:nonNegativeDecimal4lItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_OfferingNote">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Securities Act<br> -Number 230<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_OfferingNote</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ffd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_OfferingSctyTitl">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The title of the class of securities being registered (for each class being registered).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Securities Act<br> -Number 230<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_OfferingSctyTitl</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ffd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>ffd:securityTitleItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_OfferingSctyTp">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Type of securities: "Asset-backed Securities", "ADRs/ADSs", "Debt", "Debt Convertible into Equity", "Equity", "Face Amount Certificates", "Limited Partnership Interests", "Mortgage Backed Securities", "Non-Convertible Debt", "Unallocated (Universal) Shelf", "Exchange Traded Vehicle Securities", "Other"</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Securities Act<br> -Number 230<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_OfferingSctyTp</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ffd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>ffd:securityTypeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_OfferingTable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_OfferingTable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ffd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_PrevslyPdFlg">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_PrevslyPdFlg</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ffd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_OfferingAxis=1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_OfferingAxis=1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>11
<FILENAME>R3.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Fees Summary<br></strong></div></th>
<th class="th">
<div>May 23, 2025 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_FeesSummaryLineItems', window );"><strong>Fees Summary [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_TtlOfferingAmt', window );">Total Offering</a></td>
<td class="nump">$ 4,018,593.60<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_TtlFeeAmt', window );">Total Fee Amount</a></td>
<td class="nump">615.25<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_TtlOffsetAmt', window );">Total Offset Amount</a></td>
<td class="nump">0.00<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_NetFeeAmt', window );">Net Fee</a></td>
<td class="nump">$ 615.25<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_FeesSummaryLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Securities Act<br> -Number 230<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_FeesSummaryLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ffd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_NetFeeAmt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Securities Act<br> -Number 230<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_NetFeeAmt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ffd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_TtlFeeAmt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Securities Act<br> -Number 230<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_TtlFeeAmt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ffd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>ffd:nonNegative1TMonetary2ItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_TtlOfferingAmt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Securities Act<br> -Number 230<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_TtlOfferingAmt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ffd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>ffd:nonNegative1TMonetary2ItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_TtlOffsetAmt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Securities Act<br> -Number 230<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_TtlOffsetAmt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ffd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>ffd:nonNegative1TMonetary2ItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>12
<FILENAME>Show.js
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
// Edgar(tm) Renderer was created by staff of the U.S. Securities and Exchange Commission.  Data and content created by government employees within the scope of their employment are not subject to domestic copyright protection. 17 U.S.C. 105.
var Show={};Show.LastAR=null,Show.showAR=function(a,r,w){if(Show.LastAR)Show.hideAR();var e=a;while(e&&e.nodeName!='TABLE')e=e.nextSibling;if(!e||e.nodeName!='TABLE'){var ref=((window)?w.document:document).getElementById(r);if(ref){e=ref.cloneNode(!0);
e.removeAttribute('id');a.parentNode.appendChild(e)}}
if(e)e.style.display='block';Show.LastAR=e};Show.hideAR=function(){Show.LastAR.style.display='none'};Show.toggleNext=function(a){var e=a;while(e.nodeName!='DIV')e=e.nextSibling;if(!e.style){}else if(!e.style.display){}else{var d,p_;if(e.style.display=='none'){d='block';p='-'}else{d='none';p='+'}
e.style.display=d;if(a.textContent){a.textContent=p+a.textContent.substring(1)}else{a.innerText=p+a.innerText.substring(1)}}}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>13
<FILENAME>report.css
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
/* Updated 2009-11-04 */
/* v2.2.0.24 */

/* DefRef Styles */
.report table.authRefData{
	background-color: #def;
	border: 2px solid #2F4497;
	font-size: 1em;
	position: absolute;
}

.report table.authRefData a {
	display: block;
	font-weight: bold;
}

.report table.authRefData p {
	margin-top: 0px;
}

.report table.authRefData .hide {
	background-color: #2F4497;
	padding: 1px 3px 0px 0px;
	text-align: right;
}

.report table.authRefData .hide a:hover {
	background-color: #2F4497;
}

.report table.authRefData .body {
	height: 150px;
	overflow: auto;
	width: 400px;
}

.report table.authRefData table{
	font-size: 1em;
}

/* Report Styles */
.pl a, .pl a:visited {
	color: black;
	text-decoration: none;
}

/* table */
.report {
	background-color: white;
	border: 2px solid #acf;
	clear: both;
	color: black;
	font: normal 8pt Helvetica, Arial, san-serif;
	margin-bottom: 2em;
}

.report hr {
	border: 1px solid #acf;
}

/* Top labels */
.report th {
	background-color: #acf;
	color: black;
	font-weight: bold;
	text-align: center;
}

.report th.void	{
	background-color: transparent;
	color: #000000;
	font: bold 10pt Helvetica, Arial, san-serif;
	text-align: left;
}

.report .pl {
	text-align: left;
	vertical-align: top;
	white-space: normal;
	width: 200px;
	white-space: normal; /* word-wrap: break-word; */
}

.report td.pl a.a {
	cursor: pointer;
	display: block;
	width: 200px;
	overflow: hidden;
}

.report td.pl div.a {
	width: 200px;
}

.report td.pl a:hover {
	background-color: #ffc;
}

/* Header rows... */
.report tr.rh {
	background-color: #acf;
	color: black;
	font-weight: bold;
}

/* Calendars... */
.report .rc {
	background-color: #f0f0f0;
}

/* Even rows... */
.report .re, .report .reu {
	background-color: #def;
}

.report .reu td {
	border-bottom: 1px solid black;
}

/* Odd rows... */
.report .ro, .report .rou {
	background-color: white;
}

.report .rou td {
	border-bottom: 1px solid black;
}

.report .rou table td, .report .reu table td {
	border-bottom: 0px solid black;
}

/* styles for footnote marker */
.report .fn {
	white-space: nowrap;
}

/* styles for numeric types */
.report .num, .report .nump {
	text-align: right;
	white-space: nowrap;
}

.report .nump {
	padding-left: 2em;
}

.report .nump {
	padding: 0px 0.4em 0px 2em;
}

/* styles for text types */
.report .text {
	text-align: left;
	white-space: normal;
}

.report .text .big {
	margin-bottom: 1em;
	width: 17em;
}

.report .text .more {
	display: none;
}

.report .text .note {
	font-style: italic;
	font-weight: bold;
}

.report .text .small {
	width: 10em;
}

.report sup {
	font-style: italic;
}

.report .outerFootnotes {
	font-size: 1em;
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>15
<FILENAME>FilingSummary.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.25.1</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>2</ContextCount>
  <ElementCount>19</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>false</FootnotesReported>
  <SegmentCount>1</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>3</UnitCount>
  <MyReports>
    <Report instance="tm2516136d2_ex-filingfees.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R1.htm</HtmlFileName>
      <LongName>995210 - Document - Submission</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://xbrl.sec.gov/ffd/role/document/submissionTable</Role>
      <ShortName>Submission</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>1</Position>
    </Report>
    <Report instance="tm2516136d2_ex-filingfees.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R2.htm</HtmlFileName>
      <LongName>995211 - Document - Offerings</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://xbrl.sec.gov/ffd/role/document/feesOfferingTable</Role>
      <ShortName>Offerings</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>2</Position>
    </Report>
    <Report instance="tm2516136d2_ex-filingfees.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R3.htm</HtmlFileName>
      <LongName>995215 - Document - Fees Summary</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://xbrl.sec.gov/ffd/role/document/feesSummaryTable</Role>
      <ShortName>Fees Summary</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>3</Position>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <LongName>All Reports</LongName>
      <ReportType>Book</ReportType>
      <ShortName>All Reports</ShortName>
    </Report>
  </MyReports>
  <InputFiles>
    <File doctype="EX-FILING FEES" original="tm2516136d2_ex-filingfees.htm">tm2516136d2_ex-filingfees.htm</File>
  </InputFiles>
  <SupplementalFiles/>
  <BaseTaxonomies>
    <BaseTaxonomy items="3">http://xbrl.sec.gov/dei/2025</BaseTaxonomy>
    <BaseTaxonomy items="18">http://xbrl.sec.gov/ffd/2025</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>false</HasPresentationLinkbase>
  <HasCalculationLinkbase>false</HasCalculationLinkbase>
</FilingSummary>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>JSON
<SEQUENCE>17
<FILENAME>MetaLinks.json
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
{
 "version": "2.2",
 "instance": {
  "tm2516136d2_ex-filingfees.htm": {
   "dts": {
    "inline": {
     "local": [
      "tm2516136d2_ex-filingfees.htm"
     ]
    },
    "schema": {
     "remote": [
      "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xl-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xlink-2003-12-31.xsd",
      "http://www.xbrl.org/2005/xbrldt-2005.xsd",
      "http://www.xbrl.org/lrr/arcrole/deprecated-2009-12-16.xsd",
      "https://www.xbrl.org/dtr/type/2024-01-31/types.xsd",
      "https://xbrl.sec.gov/dei/2025/dei-2025.xsd",
      "https://xbrl.sec.gov/ffd/2025/ffd-2025.xsd"
     ]
    }
   },
   "keyStandard": 19,
   "keyCustom": 0,
   "axisStandard": 1,
   "axisCustom": 0,
   "memberStandard": 1,
   "memberCustom": 0,
   "hidden": {
    "total": 6,
    "http://xbrl.sec.gov/ffd/2025": 4,
    "http://xbrl.sec.gov/dei/2025": 2
   },
   "contextCount": 2,
   "entityCount": 1,
   "segmentCount": 1,
   "elementCount": 107,
   "unitCount": 3,
   "baseTaxonomies": {
    "http://xbrl.sec.gov/ffd/2025": 18,
    "http://xbrl.sec.gov/dei/2025": 3
   },
   "report": {
    "R1": {
     "role": "http://xbrl.sec.gov/ffd/role/document/submissionTable",
     "longName": "995210 - Document - Submission",
     "shortName": "Submission",
     "isDefault": "true",
     "groupType": "Fee_Exhibit",
     "subGroupType": "",
     "menuCat": "Cover",
     "order": "1",
     "firstAnchor": null,
     "uniqueAnchor": null
    },
    "R2": {
     "role": "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable",
     "longName": "995211 - Document - Offerings",
     "shortName": "Offerings",
     "isDefault": "false",
     "groupType": "Fee_Exhibit",
     "subGroupType": "",
     "menuCat": "Cover",
     "order": "2",
     "firstAnchor": {
      "contextRef": "offrl_1",
      "name": "ffd:FeesOthrRuleFlg",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tm2516136d2_ex-filingfees.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "offrl_1",
      "name": "ffd:FeesOthrRuleFlg",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tm2516136d2_ex-filingfees.htm",
      "first": true,
      "unique": true
     }
    },
    "R3": {
     "role": "http://xbrl.sec.gov/ffd/role/document/feesSummaryTable",
     "longName": "995215 - Document - Fees Summary",
     "shortName": "Fees Summary",
     "isDefault": "false",
     "groupType": "Fee_Exhibit",
     "subGroupType": "",
     "menuCat": "Cover",
     "order": "3",
     "firstAnchor": {
      "contextRef": "rc",
      "name": "ffd:TtlOfferingAmt",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tm2516136d2_ex-filingfees.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "rc",
      "name": "ffd:TtlOfferingAmt",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tm2516136d2_ex-filingfees.htm",
      "first": true,
      "unique": true
     }
    }
   },
   "tag": {
    "ffd_AggtRedRpPricFsclYr": {
     "xbrltype": "nonNegative1TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "AggtRedRpPricFsclYr",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/securities424iTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Aggregate Redeemed or Repurchased Price, Fiscal Year",
        "terseLabel": "Aggregate Redeemed or Repurchased, FY"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_AggtRedRpPricPrrFsclYr": {
     "xbrltype": "nonNegative1TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "AggtRedRpPricPrrFsclYr",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/securities424iTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Aggregate Redeemed or Repurchased Price, Prior Fiscal Year",
        "terseLabel": "Aggregate Redeemed or Repurchased, Prior FY"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_AggtSalesPricFsclYr": {
     "xbrltype": "nonNegative1TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "AggtSalesPricFsclYr",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/securities424iTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Aggregate Sales Price, Fiscal Year",
        "terseLabel": "Aggregate Sales Price"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_AmtRedCdts": {
     "xbrltype": "nonNegative1TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "AmtRedCdts",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/securities424iTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amount of Redemption Credits",
        "terseLabel": "Redemption Credits"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_AmtSctiesRcvd": {
     "xbrltype": "nonNegativeDecimal2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "AmtSctiesRcvd",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amount of Securities Received",
        "terseLabel": "Amount of Securities Received",
        "documentation": "Amount of securities to be received by the registrant (or cancelled upon issuance of securities to be registered on the form)"
       }
      }
     },
     "auth_ref": [
      "r6"
     ]
    },
    "ffd_AmtSctiesRegd": {
     "xbrltype": "nonNegativeDecimal2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "AmtSctiesRegd",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amount of Securities Registered",
        "terseLabel": "Amount Registered",
        "documentation": "The amount of securities being registered."
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_CeasedOprsDt": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "CeasedOprsDt",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/submissionTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Ceased Operations Date",
        "terseLabel": "Ceased Operations Date"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_CfwdFormTp": {
     "xbrltype": "formTypeItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "CfwdFormTp",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Carry Forward Form Type",
        "terseLabel": "Carry Forward Form Type",
        "documentation": "The Form Type of the prior shelf registration statement from which unsold securities are carried forward under 415(a)(6). This should be an EDGAR submission type (S-3, S-3/A, S-3ASR, etc.), which means there is a fixed set of possible responses. Note that while the XBRL response should be an EDGAR submission type, the human-readable Ex. 107 could include a simpler label (e.g., \"Form S-3\" in the human-readable and \"S-3ASR\" in the XBRL)."
       }
      }
     },
     "auth_ref": [
      "r2"
     ]
    },
    "ffd_CfwdPrevslyPdFee": {
     "xbrltype": "nonNegative1TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "CfwdPrevslyPdFee",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Carry Forward Previously Paid Fee",
        "terseLabel": "Filing Fee Previously Paid in Connection with Unsold Securities to be Carried Forward",
        "documentation": "The fee previously paid in connection with the securities being brought forward from the prior shelf registration statement on which unsold securities are carried forward under 415(a)(6)."
       }
      }
     },
     "auth_ref": [
      "r2"
     ]
    },
    "ffd_CfwdPrrFctvDt": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "CfwdPrrFctvDt",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Carry Forward Prior Effective Date",
        "terseLabel": "Carry Forward Initial Effective Date",
        "documentation": "The initial effective date of the prior shelf registration statement from which unsold securities are carried forward under 415(a)(6)."
       }
      }
     },
     "auth_ref": [
      "r2"
     ]
    },
    "ffd_CfwdPrrFileNb": {
     "xbrltype": "fileNumberItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "CfwdPrrFileNb",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Carry Forward File Number",
        "terseLabel": "Carry Forward File Number",
        "documentation": "The EDGAR File Number of the prior shelf registration statement from which unsold securities are carried forward under 415(a)(6). If the prior registration statement has a Securities Act File Number and an Investment Company Act File Number, the Securities Act File Number should be used."
       }
      }
     },
     "auth_ref": [
      "r2"
     ]
    },
    "ffd_CmbndPrspctsItemAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "CmbndPrspctsItemAxis",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesByCmbndPrspctsTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Combined Prospectus Item [Axis]",
        "terseLabel": "Combined Prospectus",
        "documentation": "A sequence number (1, 2, 3...) used to distinguish different references to earlier prospectuses on a single fee bearing submission."
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_CmbndPrspctsLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "CmbndPrspctsLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Combined Prospectus [Line Items]",
        "terseLabel": "Combined Prospectus:"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_CmbndPrspctsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "CmbndPrspctsTable",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesByCmbndPrspctsTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Combined Prospectus [Table]",
        "terseLabel": "Combined Prospectus Table"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_CombinedProspectusTableNa": {
     "xbrltype": "naItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "CombinedProspectusTableNa",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/submissionTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Combined Prospectus Table [N/A]",
        "terseLabel": "Combined Prospectus Table N/A"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_CshPdByRegistrantInTx": {
     "xbrltype": "nonNegative100TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "CshPdByRegistrantInTx",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash Paid by Registrant in Transaction",
        "terseLabel": "Cash Consideration Paid",
        "documentation": "Amount of cash consideration paid by registrant in connection with the exchange or other transaction being registered (in a 457(f) calculation)."
       }
      }
     },
     "auth_ref": [
      "r12"
     ]
    },
    "ffd_CshRcvdByRegistrantInTx": {
     "xbrltype": "nonNegative100TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "CshRcvdByRegistrantInTx",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash Received by Registrant in Transaction",
        "terseLabel": "Cash Consideration Received",
        "documentation": "Amount of cash consideration received by registrant in connection with the exchange or other transaction being registered (in a 457(f) calculation)."
       }
      }
     },
     "auth_ref": [
      "r12"
     ]
    },
    "dei_EntityCentralIndexKey": {
     "xbrltype": "centralIndexKeyItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "EntityCentralIndexKey",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/submissionTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Central Index Key",
        "terseLabel": "Central Index Key",
        "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK."
       }
      }
     },
     "auth_ref": [
      "r0"
     ]
    },
    "dei_EntityRegistrantName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "EntityRegistrantName",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/submissionTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Registrant Name",
        "terseLabel": "Registrant Name",
        "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC."
       }
      }
     },
     "auth_ref": [
      "r0"
     ]
    },
    "ffd_FeeAmt": {
     "xbrltype": "nonNegative1TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "FeeAmt",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable",
      "http://xbrl.sec.gov/ffd/role/document/securities424iTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fee Amount",
        "terseLabel": "Amount of Registration Fee",
        "documentation": "Total amount of registration fee (amount due after offsets)."
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_FeeExhibitTp": {
     "xbrltype": "feeExhibitTypeItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "FeeExhibitTp",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/submissionTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fee Exhibit Type",
        "terseLabel": "Fee Exhibit Type"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_FeeIntrstAmt": {
     "xbrltype": "nonNegative1TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "FeeIntrstAmt",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesSummaryTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fee Interest Amount",
        "terseLabel": "Interest Amount"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_FeeNote": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "FeeNote",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/securities424iTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fee Note",
        "terseLabel": "Fee Note"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_FeeNoteMaxAggtOfferingPric": {
     "xbrltype": "nonNegative100TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "FeeNoteMaxAggtOfferingPric",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fee Note Maximum Aggregate Offering Price",
        "terseLabel": "Fee Note MAOP"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_FeeRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "FeeRate",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable",
      "http://xbrl.sec.gov/ffd/role/document/securities424iTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fee Rate",
        "terseLabel": "Fee Rate",
        "documentation": "The rate per dollar of fees that public companies and other issuers pay to register their securities with the Commission."
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_FeesOthrRuleFlg": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "FeesOthrRuleFlg",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fees, Other Rule [Flag]",
        "terseLabel": "Other Rule",
        "documentation": "Checkbox indicating whether filer is using a rule other than 457(a), 457(o), or 457(f) to calculate the registration fee due."
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_FeesSummaryLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "FeesSummaryLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Fees Summary [Line Items]",
        "terseLabel": "Fees Summary:"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_FnlPrspctsFlg": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "FnlPrspctsFlg",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesSummaryTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Final Prospectus [Flag]",
        "terseLabel": "Final Prospectus"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_FormTp": {
     "xbrltype": "submissionTypeItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "FormTp",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/submissionTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Form Type",
        "terseLabel": "Form Type"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_GnlInstrIIhiFlg": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "GnlInstrIIhiFlg",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "General Instruction II.H,I [Flag]",
        "terseLabel": "General Instruction II.H,I"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_IssrBizAdrCity": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "IssrBizAdrCity",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/submissionTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Issuer Business Address, City",
        "terseLabel": "City"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_IssrBizAdrStatOrCtryCd": {
     "xbrltype": "stateOrCountryCodeItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "IssrBizAdrStatOrCtryCd",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/submissionTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Issuer Business Address, State or Country Code",
        "terseLabel": "State or Country Code"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_IssrBizAdrStrt1": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "IssrBizAdrStrt1",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/submissionTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Issuer Business Address, Street 1",
        "terseLabel": "Street 1"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_IssrBizAdrStrt2": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "IssrBizAdrStrt2",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/submissionTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Issuer Business Address, Street 2",
        "terseLabel": "Street 2"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_IssrBizAdrZipCd": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "IssrBizAdrZipCd",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/submissionTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Issuer Business Address, Zip Code",
        "terseLabel": "Zip Code"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_IssrNm": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "IssrNm",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/submissionTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Issuer Name",
        "terseLabel": "Issuer Name"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_MaxAggtOfferingPric": {
     "xbrltype": "nonNegative100TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "MaxAggtOfferingPric",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Maximum Aggregate Offering Price",
        "terseLabel": "Maximum Aggregate Offering Price",
        "documentation": "The maximum aggregate offering price for the offering that is being registered."
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_MaxOfferingPricPerScty": {
     "xbrltype": "nonNegativeDecimal4lItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "MaxOfferingPricPerScty",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Maximum Offering Price per Security",
        "terseLabel": "Proposed Maximum Offering Price per Unit",
        "documentation": "The maximum offering price per share/unit being registered."
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_NetFeeAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "NetFeeAmt",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesSummaryTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Fee Amount",
        "terseLabel": "Net Fee"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_NetSalesAmt": {
     "xbrltype": "nonNegative1TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "NetSalesAmt",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/securities424iTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Sales Amount",
        "terseLabel": "Net Sales"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_NrrtvDsclsr": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "NrrtvDsclsr",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesSummaryTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Narrative Disclosure",
        "terseLabel": "Narrative Disclosure"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_NrrtvMaxAggtAmt": {
     "xbrltype": "nonNegativeDecimal2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "NrrtvMaxAggtAmt",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesSummaryTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Narrative Disclosure, Maximum Aggregate Offering Amount",
        "terseLabel": "Narrative - Max Aggregate Offering Amount"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_NrrtvMaxAggtOfferingPric": {
     "xbrltype": "nonNegative100TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "NrrtvMaxAggtOfferingPric",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesSummaryTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Narrative Disclosure, Maximum Aggregate Offering Price",
        "terseLabel": "Narrative - Max Aggregate Offering Price"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_OfferingAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "OfferingAxis",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offering [Axis]",
        "terseLabel": "Offering",
        "documentation": "A sequence number (1, 2, 3...) used to distinguish different security offerings on a single fee bearing submission."
       }
      }
     },
     "auth_ref": []
    },
    "ffd_OfferingLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "OfferingLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Offering [Line Items]",
        "terseLabel": "Offering:"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_OfferingNote": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "OfferingNote",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offering Note",
        "terseLabel": "Offering Note"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_OfferingSctyTitl": {
     "xbrltype": "securityTitleItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "OfferingSctyTitl",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable",
      "http://xbrl.sec.gov/ffd/role/document/securities424iTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offering Security Title",
        "terseLabel": "Security Class Title",
        "documentation": "The title of the class of securities being registered (for each class being registered)."
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_OfferingSctyTp": {
     "xbrltype": "securityTypeItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "OfferingSctyTp",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offering Security Type",
        "terseLabel": "Security Type",
        "documentation": "Type of securities: \"Asset-backed Securities\", \"ADRs/ADSs\", \"Debt\", \"Debt Convertible into Equity\", \"Equity\", \"Face Amount Certificates\", \"Limited Partnership Interests\", \"Mortgage Backed Securities\", \"Non-Convertible Debt\", \"Unallocated (Universal) Shelf\", \"Exchange Traded Vehicle Securities\", \"Other\""
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_OfferingTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "OfferingTable",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offering [Table]",
        "terseLabel": "Offering:"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_OfferingTableNa": {
     "xbrltype": "naItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "OfferingTableNa",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/submissionTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offering Table [N/A]",
        "terseLabel": "Offering Table N/A"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_OffsetAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "OffsetAxis",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOffsetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offset [Axis]",
        "terseLabel": "Offset",
        "documentation": "A sequence number (1, 2, 3...) used to distinguish different offsets as applied to a fee bearing submission."
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_OffsetClmInitlFilgDt": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "OffsetClmInitlFilgDt",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOffsetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offset Claim Initial Filing Date",
        "terseLabel": "Initial Filing Date",
        "documentation": "The initial filing date of the earlier registration statement with which the earlier (offsetting) fee was paid for a claimed offset. If the offset fee was paid with an amendment, do not provide the amendment date under this element; instead, provide the date of the initial filing (i.e. the \"parent\" filing) ."
       }
      }
     },
     "auth_ref": [
      "r5",
      "r8"
     ]
    },
    "ffd_OffsetClmdAmt": {
     "xbrltype": "nonNegative1TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "OffsetClmdAmt",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOffsetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offset Claimed Amount",
        "terseLabel": "Fee Offset Claimed",
        "documentation": "The amount of offsetting fees being claimed."
       }
      }
     },
     "auth_ref": [
      "r5",
      "r8"
     ]
    },
    "ffd_OffsetClmdInd": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "OffsetClmdInd",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOffsetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offset Claimed Indicator",
        "terseLabel": "Offset Claimed"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_OffsetExpltnForClmdAmt": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "OffsetExpltnForClmdAmt",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOffsetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offset Explanation for Claimed Amount",
        "terseLabel": "Explanation for Claimed Amount"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_OffsetLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "OffsetLineItems",
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Offset:",
        "label": "Offset [Line Items]"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_OffsetNote": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "OffsetNote",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOffsetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offset Note",
        "terseLabel": "Offset Note"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_OffsetPrrFeeAmt": {
     "xbrltype": "nonNegative1TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "OffsetPrrFeeAmt",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOffsetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offset Prior Fee Amount",
        "terseLabel": "Fee Paid with Fee Offset Source",
        "documentation": "The fee previously paid from which an offset is being derived."
       }
      }
     },
     "auth_ref": [
      "r5",
      "r8"
     ]
    },
    "ffd_OffsetPrrFileNb": {
     "xbrltype": "fileNumberItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "OffsetPrrFileNb",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOffsetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offset Prior File Number",
        "terseLabel": "File Number",
        "documentation": "The EDGAR File Number of the earlier registration statement with which the earlier (offsetting) fee was paid. If the offset filing for the offset has a Securities Act File Number and an Investment Company Act File Number, the Securities Act File Number should be used."
       }
      }
     },
     "auth_ref": [
      "r5",
      "r8"
     ]
    },
    "ffd_OffsetPrrFilerNm": {
     "xbrltype": "filerNameItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "OffsetPrrFilerNm",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOffsetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offset Prior Filer Name",
        "terseLabel": "Registrant or Filer Name",
        "documentation": "The name of the registrant that filed the earlier registration statement with which the earlier (offsetting) fee was paid."
       }
      }
     },
     "auth_ref": [
      "r5",
      "r8"
     ]
    },
    "ffd_OffsetPrrFormTp": {
     "xbrltype": "formTypeItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "OffsetPrrFormTp",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOffsetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offset Prior Form Type",
        "terseLabel": "Form or Filing Type",
        "documentation": "The Form Type of the offset filing."
       }
      }
     },
     "auth_ref": [
      "r5",
      "r8"
     ]
    },
    "ffd_OffsetPrrNbOfUnsoldScties": {
     "xbrltype": "nonNegativeIntegerItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "OffsetPrrNbOfUnsoldScties",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOffsetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offset Prior Unsold Number of Securities",
        "terseLabel": "Unsold Securities Associated with Fee Offset Claimed",
        "documentation": "The number of unsold securities registered on the prior registration statement that are associated with the claimed offset."
       }
      }
     },
     "auth_ref": [
      "r5",
      "r8"
     ]
    },
    "ffd_OffsetPrrSctyTitl": {
     "xbrltype": "securityTitleItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "OffsetPrrSctyTitl",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOffsetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offset Prior Security Title",
        "terseLabel": "Security Title Associated with Fee Offset Claimed",
        "documentation": "The title of the class of securities from which offset fees were derived."
       }
      }
     },
     "auth_ref": [
      "r5",
      "r8"
     ]
    },
    "ffd_OffsetPrrSctyTp": {
     "xbrltype": "securityTypeItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "OffsetPrrSctyTp",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOffsetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offset Prior Security Type",
        "terseLabel": "Security Type Associated with Fee Offset Claimed",
        "documentation": "Type of securities: \"Asset-backed Securities\", \"ADRs/ADSs\", \"Debt\", \"Debt Convertible into Equity\", \"Equity\", \"Face Amount Certificates\", \"Limited Partnership Interests\", \"Mortgage Backed Securities\", \"Non-Convertible Debt\", \"Unallocated (Universal) Shelf\", \"Exchange Traded Vehicle Securities\", \"Other\""
       }
      }
     },
     "auth_ref": [
      "r5",
      "r8"
     ]
    },
    "ffd_OffsetPrrUnsoldOfferingAmt": {
     "xbrltype": "nonNegative1TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "OffsetPrrUnsoldOfferingAmt",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOffsetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offset Prior Unsold Offering Amount",
        "terseLabel": "Unsold Aggregate Offering Amount Associated with Fee Offset Claimed",
        "documentation": "The aggregate offering amount of unsold securities registered on the prior registration statement that are associated with the claimed offset."
       }
      }
     },
     "auth_ref": [
      "r5",
      "r8"
     ]
    },
    "ffd_OffsetSrcFilgDt": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "OffsetSrcFilgDt",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOffsetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offset Source Filing Date",
        "terseLabel": "Filing Date",
        "documentation": "The filing date of the earlier registration statement with which the earlier (offsetting) fee was paid in an offset."
       }
      }
     },
     "auth_ref": [
      "r5",
      "r8"
     ]
    },
    "ffd_OffsetTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "OffsetTable",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOffsetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Offset Payment:",
        "label": "Offset [Table]"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_OffsetTableNa": {
     "xbrltype": "naItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "OffsetTableNa",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/submissionTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offset Table [N/A]",
        "terseLabel": "Offset Table N/A"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_PrevslyPdFlg": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "PrevslyPdFlg",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable",
      "http://xbrl.sec.gov/ffd/role/document/securities424iTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fee Previously Paid [Flag]",
        "terseLabel": "Fee Previously Paid"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_RegnFileNb": {
     "xbrltype": "fileNumberItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "RegnFileNb",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/submissionTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Registration File Number",
        "terseLabel": "Registration File Number"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_RptgFsclYrEndDt": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "RptgFsclYrEndDt",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/submissionTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Reporting Fiscal Year End Date",
        "terseLabel": "Reporting FY End Date"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_Rule011Flg": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "Rule011Flg",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 0-11 [Flag]",
        "terseLabel": "Rule 0-11"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_Rule011a2OffsetFlg": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "Rule011a2OffsetFlg",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOffsetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Rule 0-11(a)(2) Offset",
        "label": "Rule 0-11(a)(2) Offset [Flag]"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_Rule415a6Flg": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "Rule415a6Flg",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 415(a)(6) [Flag]",
        "terseLabel": "Rule 415(a)(6)",
        "documentation": "Checkbox indicating whether filer is claiming a 415(a)(6) carryforward."
       }
      }
     },
     "auth_ref": [
      "r2"
     ]
    },
    "ffd_Rule429AggtOfferingAmt": {
     "xbrltype": "nonNegative100TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "Rule429AggtOfferingAmt",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesByCmbndPrspctsTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 429 Aggregate Offering Amount",
        "terseLabel": "Maximum Aggregate Offering Price of Securities Previously Registered",
        "documentation": "The maximum aggregate offering amount of unsold securities registered on the prior registration statement that are carried forward under Rule 429. Only applicable if 457(o) was used in the fee calculation for the prior registration statement."
       }
      }
     },
     "auth_ref": [
      "r3"
     ]
    },
    "ffd_Rule429CmbndPrspctsFlg": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "Rule429CmbndPrspctsFlg",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesByCmbndPrspctsTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 429 Combined Prospectus [Flag]",
        "terseLabel": "Rule 429",
        "documentation": "Checkbox indicating whether filer is using a combined prospectus under Rule 429."
       }
      }
     },
     "auth_ref": [
      "r3"
     ]
    },
    "ffd_Rule429EarlierFileNb": {
     "xbrltype": "fileNumberItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "Rule429EarlierFileNb",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesByCmbndPrspctsTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 429 Earlier File Number",
        "terseLabel": "File Number",
        "documentation": "The Securities Act File Number of the earlier effective registration statement(s) from which securities may be offered and sold using the combined prospectus pursuant to Rule 429."
       }
      }
     },
     "auth_ref": [
      "r3"
     ]
    },
    "ffd_Rule429EarlierFormTp": {
     "xbrltype": "formTypeItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "Rule429EarlierFormTp",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesByCmbndPrspctsTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 429 Earlier Form Type",
        "terseLabel": "Form Type",
        "documentation": "The Form Type of the earlier registration statement from which unsold securities are carried forward under Rule 429. This should be an EDGAR submission type (S-3, S-3/A, S-3ASR, etc.), which means there is a fixed set of possible responses. Note that while the XBRL response should be an EDGAR submission type, the human-readable Ex. 107 could include a simpler label (e.g., \"Form S-3\" in the human-readable and \"S-3ASR\" in the XBRL)."
       }
      }
     },
     "auth_ref": [
      "r3"
     ]
    },
    "ffd_Rule429InitlFctvDt": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "Rule429InitlFctvDt",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesByCmbndPrspctsTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 429 Initial Effective Date",
        "terseLabel": "Initial Effective Date",
        "documentation": "The filing date of the earlier registration statement from which unsold securities are carried forward under Rule 429."
       }
      }
     },
     "auth_ref": [
      "r3"
     ]
    },
    "ffd_Rule429NbOfUnsoldScties": {
     "xbrltype": "nonNegativeDecimal2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "Rule429NbOfUnsoldScties",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesByCmbndPrspctsTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 429 Number Of Unsold Securities",
        "terseLabel": "Amount of Securities Previously Registered",
        "documentation": "The number of securities registered on the prior registration statement that are carried forward under Rule 429."
       }
      }
     },
     "auth_ref": [
      "r3"
     ]
    },
    "ffd_Rule429PrspctsNote": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "Rule429PrspctsNote",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesByCmbndPrspctsTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 429 Prospectus Note",
        "terseLabel": "Combined Prospectus Note"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_Rule429SctyTitl": {
     "xbrltype": "securityTitleItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "Rule429SctyTitl",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesByCmbndPrspctsTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 429 Security Title",
        "terseLabel": "Security Class Title"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_Rule429SctyTp": {
     "xbrltype": "securityTypeItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "Rule429SctyTp",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesByCmbndPrspctsTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 429 Security Type",
        "terseLabel": "Security Type"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_Rule457aFlg": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "Rule457aFlg",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 457(a) [Flag]",
        "terseLabel": "Rule 457(a)",
        "documentation": "Checkbox indicating whether filer is using Rule 457(a) to calculate the registration fee due."
       }
      }
     },
     "auth_ref": [
      "r4"
     ]
    },
    "ffd_Rule457bOffsetFlg": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "Rule457bOffsetFlg",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOffsetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 457(b) Offset [Flag]",
        "terseLabel": "Rule 457(b) Offset",
        "documentation": "Checkbox indicating whether filer is claiming an offset under Rule 457(b) or 0-11(a)(2)."
       }
      }
     },
     "auth_ref": [
      "r5"
     ]
    },
    "ffd_Rule457fFlg": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "Rule457fFlg",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 457(f) [Flag]",
        "terseLabel": "Rule 457(f)",
        "documentation": "Checkbox indicating whether filer is using Rule 457(f) to calculate the registration fee due."
       }
      }
     },
     "auth_ref": [
      "r6"
     ]
    },
    "ffd_Rule457oFlg": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "Rule457oFlg",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 457(o) [Flag]",
        "terseLabel": "Rule 457(o)",
        "documentation": "Checkbox indicating whether filer is using Rule 457(o) to calculate the registration fee due."
       }
      }
     },
     "auth_ref": [
      "r7"
     ]
    },
    "ffd_Rule457pOffsetFlg": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "Rule457pOffsetFlg",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOffsetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 457(p) Offset [Flag]",
        "terseLabel": "Rule 457(p) Offset",
        "documentation": "Checkbox indicating whether filer is claiming an offset under Rule 457(p)."
       }
      }
     },
     "auth_ref": [
      "r8"
     ]
    },
    "ffd_Rule457rFlg": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "Rule457rFlg",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 457(r) [Flag]",
        "terseLabel": "Rule 457(r)"
       }
      }
     },
     "auth_ref": [
      "r9"
     ]
    },
    "ffd_Rule457sFlg": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "Rule457sFlg",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 457(s) Flag",
        "terseLabel": "Rule 457(s)"
       }
      }
     },
     "auth_ref": [
      "r10"
     ]
    },
    "ffd_Rule457uFlg": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "Rule457uFlg",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 457(u) [Flag]",
        "terseLabel": "Rule 457(u)",
        "documentation": "Checkbox indicating whether filer is using Rule 457(u) to calculate the registration fee due."
       }
      }
     },
     "auth_ref": [
      "r11"
     ]
    },
    "ffd_Scties424iAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "Scties424iAxis",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/securities424iTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Securities, 424I [Axis]",
        "terseLabel": "Securities, 424I"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_Scties424iLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "Scties424iLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Securities, 424I [Line Items]",
        "terseLabel": "Securities, 424I:"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_Scties424iTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "Scties424iTable",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/securities424iTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Securities, 424I [Table]",
        "terseLabel": "Securities, 424I Table"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_Securities424iTableNa": {
     "xbrltype": "naItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "Securities424iNa",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/submissionTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Securities 424I [N/A]",
        "terseLabel": "Securities 424I N/A"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_SubmissionLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "SubmissionLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Submission [Line Items]",
        "terseLabel": "Items"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_SubmissnTp": {
     "xbrltype": "submissionTypeItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "SubmissnTp",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/submissionTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Submission Type",
        "terseLabel": "Submission Type"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_TermntnCmpltnWdrwl": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "TermntnCmpltnWdrwl",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOffsetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Termination / Completion / Withdrawal Statement",
        "terseLabel": "Termination / Withdrawal Statement"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_TtlFeeAmt": {
     "xbrltype": "nonNegative1TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "TtlFeeAmt",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesSummaryTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total Fee Amount",
        "terseLabel": "Total Fee Amount"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_TtlFeeAndIntrstAmt": {
     "xbrltype": "nonNegativeDecimal2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "TtlFeeAndIntrstAmt",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesSummaryTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total Fee and Interest Amount",
        "terseLabel": "Total Fee and Interest Amount"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_TtlOfferingAmt": {
     "xbrltype": "nonNegative1TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "TtlOfferingAmt",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesSummaryTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total Offering Amount",
        "terseLabel": "Total Offering"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_TtlOffsetAmt": {
     "xbrltype": "nonNegative1TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "TtlOffsetAmt",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesSummaryTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total Offset Amount",
        "terseLabel": "Total Offset Amount"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_TtlPrevslyPdAmt": {
     "xbrltype": "nonNegative1TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "TtlPrevslyPdAmt",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesSummaryTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total Previously Paid Amount",
        "terseLabel": "Previously Paid Amount"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_TtlTxValtn": {
     "xbrltype": "nonNegative100TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "TtlTxValtn",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesSummaryTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total Transaction Valuation",
        "terseLabel": "Total Transaction Valuation"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_TxValtn": {
     "xbrltype": "nonNegative100TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "TxValtn",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Transaction Valuation",
        "terseLabel": "Transaction Valuation"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_ValSctiesRcvd": {
     "xbrltype": "nonNegative100TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "ValSctiesRcvd",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Value of Securities Received",
        "terseLabel": "Value of Securities Received",
        "documentation": "Value of securities to be received by the registrant (or cancelled upon issuance of securities to be registered on the form)"
       }
      }
     },
     "auth_ref": [
      "r6"
     ]
    },
    "ffd_ValSctiesRcvdPerShr": {
     "xbrltype": "nonNegativeDecimal4lItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "ValSctiesRcvdPerShr",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Value of Securities Received, Per Share",
        "terseLabel": "Value of Securities Received, Per Share",
        "documentation": "Value per share of securities to be received by the registrant (or cancelled upon issuance of securities to be registered on the form). This is included in the explanation of 457(f) fee calculation."
       }
      }
     },
     "auth_ref": [
      "r6"
     ]
    }
   }
  }
 },
 "std_ref": {
  "r0": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b-2"
  },
  "r1": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230"
  },
  "r2": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "415",
   "Subsection": "a"
  },
  "r3": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "429"
  },
  "r4": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "457"
  },
  "r5": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "457",
   "Subsection": "b"
  },
  "r6": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "457",
   "Subsection": "f"
  },
  "r7": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "457",
   "Subsection": "o"
  },
  "r8": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "457",
   "Subsection": "p"
  },
  "r9": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "457",
   "Subsection": "r"
  },
  "r10": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "457",
   "Subsection": "s"
  },
  "r11": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "457",
   "Subsection": "u"
  },
  "r12": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Subsection": "f",
   "Section": "457"
  }
 }
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>ZIP
<SEQUENCE>18
<FILENAME>0001104659-25-053045-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0001104659-25-053045-xbrl.zip
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
M"@  \#(  !T              ( !     '1M,C4Q-C$S-F0R7V5X+69I;&EN
?9V9E97,N:'1M4$L%!@     !  $ 2P   *0*      $!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>19
<FILENAME>tm2516136d2_ex-filingfees_htm.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:dei="http://xbrl.sec.gov/dei/2025"
  xmlns:ffd="http://xbrl.sec.gov/ffd/2025"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:xbrldi="http://xbrl.org/2006/xbrldi"
  xmlns:xlink="http://www.w3.org/1999/xlink">
    <link:schemaRef
      xlink:href="https://xbrl.sec.gov/ffd/2025/ffd-2025.xsd"
      xlink:type="simple"/>
    <context id="rc">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001443669</identifier>
        </entity>
        <period>
            <startDate>2025-05-23</startDate>
            <endDate>2025-05-23</endDate>
        </period>
    </context>
    <context id="offrl_1">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001443669</identifier>
            <segment>
                <xbrldi:typedMember dimension="ffd:OfferingAxis">
                    <dei:lineNo>1</dei:lineNo>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-05-23</startDate>
            <endDate>2025-05-23</endDate>
        </period>
    </context>
    <unit id="USD">
        <measure>iso4217:USD</measure>
    </unit>
    <unit id="pure">
        <measure>pure</measure>
    </unit>
    <unit id="Shares">
        <measure>shares</measure>
    </unit>
    <ffd:FormTp contextRef="rc" id="ixv-116">S-8</ffd:FormTp>
    <ffd:SubmissnTp contextRef="rc" id="ixv-117">S-8</ffd:SubmissnTp>
    <ffd:FeeExhibitTp contextRef="rc" id="ixv-118">EX-FILING FEES</ffd:FeeExhibitTp>
    <dei:EntityCentralIndexKey contextRef="rc" id="ixv-119">0001443669</dei:EntityCentralIndexKey>
    <dei:EntityRegistrantName contextRef="rc" id="ixv-120">Proto Labs Inc</dei:EntityRegistrantName>
    <ffd:PrevslyPdFlg contextRef="offrl_1" id="ixv-121">false</ffd:PrevslyPdFlg>
    <ffd:FormTp contextRef="rc" id="ixv-146">S-8</ffd:FormTp>
    <dei:EntityRegistrantName contextRef="rc" id="ixv-147">Proto Labs Inc</dei:EntityRegistrantName>
    <ffd:OfferingSctyTp contextRef="offrl_1" id="ixv-148">Equity</ffd:OfferingSctyTp>
    <ffd:OfferingSctyTitl contextRef="offrl_1" id="ixv-149">Common Stock, par value $0.001 per share</ffd:OfferingSctyTitl>
    <ffd:FeesOthrRuleFlg contextRef="offrl_1" id="ixv-150">true</ffd:FeesOthrRuleFlg>
    <ffd:AmtSctiesRegd
      contextRef="offrl_1"
      decimals="0"
      id="ixv-151"
      unitRef="Shares">108640</ffd:AmtSctiesRegd>
    <ffd:MaxOfferingPricPerScty
      contextRef="offrl_1"
      decimals="INF"
      id="ixv-152"
      unitRef="USD">36.99</ffd:MaxOfferingPricPerScty>
    <ffd:MaxAggtOfferingPric
      contextRef="offrl_1"
      decimals="INF"
      id="ixv-153"
      unitRef="USD">4018593.60</ffd:MaxAggtOfferingPric>
    <ffd:FeeRate
      contextRef="offrl_1"
      decimals="INF"
      id="ixv-154"
      unitRef="pure">0.0001531</ffd:FeeRate>
    <ffd:FeeAmt
      contextRef="offrl_1"
      decimals="INF"
      id="ixv-155"
      unitRef="USD">615.25</ffd:FeeAmt>
    <ffd:TtlOfferingAmt contextRef="rc" decimals="INF" id="ixv-156" unitRef="USD">4018593.60</ffd:TtlOfferingAmt>
    <ffd:TtlFeeAmt contextRef="rc" decimals="INF" id="ixv-157" unitRef="USD">615.25</ffd:TtlFeeAmt>
    <ffd:TtlOffsetAmt contextRef="rc" decimals="INF" id="ixv-158" unitRef="USD">0.00</ffd:TtlOffsetAmt>
    <ffd:NetFeeAmt contextRef="rc" decimals="INF" id="ixv-159" unitRef="USD">615.25</ffd:NetFeeAmt>
    <ffd:OfferingNote contextRef="offrl_1" id="ixv-160">1a. The number of shares of common stock, par value $0.001 per share ("Common Stock"), registered represents an aggregate of 108,640 shares of Common Stock, issuable upon  (i) the vesting of a maximum of 54,320 performance stock units granted to Mr. Krishna pursuant to a Performance Stock Unit Award Agreement - TSR (Inducement Grant), and (ii) the vesting of a maximum of 54,320 performance stock units granted to Mr. Krishna pursuant to a Performance Stock Unit Award Agreement - Revenue and TSR (Inducement Grant), entered into on May 23, 2025 (collectively, the "Inducement Award Agreements"), each under New York Stock Exchange Listing Rule 303A.08.

1b. Pursuant to Rule 416(c) under the Securities Act of 1933, as amended (the "Securities Act"), this Registration Statement shall also cover any additional shares of Common Stock that become issuable under the Inducement Award Agreements by reason of any stock split, stock dividend or other similar transaction effected without the receipt of consideration which results in an increase in the number of shares of outstanding Common Stock.

1c.  Estimated solely for the purpose of calculating the registration fee in accordance with Rule 457(c) and Rule 457(h) under the Securities Act using the average of the high and low sale prices of the common stock on May 23, 2025, as reported on The New York Stock Exchange, which is within five business days prior to filing this Registration Statement on Form S-8.
</ffd:OfferingNote>
</xbrl>
</XML>
</TEXT>
</DOCUMENT>
</SEC-DOCUMENT>
