Piping Toolset
Home › Calculators › CPVC Pipe Pressure Rating and Wall Thickness Calculator (ASME B31.3 / B31.1)

CPVC Pipe Pressure Rating and Wall Thickness Calculator (ASME B31.3 / B31.1)

Computes the required wall of CPVC pipe under internal pressure, t = P·D / (2·S + P) and tm = t + c, and the pressure rating of the wall you actually have, per ASME B31.3-2024 ¶A304.1.2(a) eq. (26a) or ASME B31.1-2026 ¶N-104.1.2(a)(1) eq. (2), with a pass/fail when you enter both.

Method last updated (calculation changelog) · fixture-verified on every build — most recently 2026-11-12.

Built and fixture-verified by Matthew Norris, P.E. — active P.E. licensure in Arizona, California, Kansas, Missouri, North Carolina, Texas.

CPVC gets specified by schedule and a catalog pressure rating, and that works until the line is hot, threaded, or under a code that wants the calculation on paper. Both ASME piping codes that cover thermoplastics give you the same hoop-stress equation for straight pipe: B31.3-2024 puts it in Chapter VII at ¶A304.1.2(a), and B31.1-2026 puts it in Mandatory Appendix N at ¶N-104.1.2(a)(1). This calculator runs it both ways. Enter a design pressure and it returns the pressure design thickness t and the minimum required thickness tm. Enter a wall and it returns the pressure that wall is good for. Enter both and you get a pass/fail on the wall, the way each code words the check. The design stress S is the hydrostatic design stress at your design temperature, and you type it in from the code table or from the manufacturer's listing. It drops fast as CPVC warms up, so the number for a hot line is not the number on the room-temperature label. Outside diameter and wall are typed too: take them from the purchase specification, minimum wall where it gives one. Reach for it when a hot service or a threaded joint puts the catalog rating in doubt, when a reviewer asks where the wall came from, and when a spec change moves the design temperature.

Pipe cross-section under internal pressure A pipe cross-section showing outside diameter D, wall thickness t, and internal pressure P acting outward on the bore. P t — wall thickness D — outside diameter t = f(P, D, S, E, W, Y) S·E·W — allowable stress × joint & weld-strength factors + c (corrosion / mechanical allowances) → t_m ordering wall
Section through the pipe wall: internal design pressure P acts on outside diameter D; the calculators solve the required pressure-design thickness t (plus allowances c) per the governing code equation.
Open this calculator → Download sample report
This calculator is free — no account, no run limit. Pro adds Add to report: the titleblocked, print-ready package in the sample report above, built from your own runs, plus .pcp project files — $2.99 / month. Compare tiers →

Method

t = P · D / (2 · S + P)

tm = t + c

rating of an entered wall: P = 2 · S · ta / (D − ta), ta = wall − minus tolerance − allowances

The thickness equation is B31.3-2024 eq. (26a). B31.1-2026 prints it as eq. (2), t = D / (2·Sa/P + 1), which is the same value written another way. Neither paragraph adds a design factor for thermoplastic pipe: the hydrostatic design stress is already the design stress, so nothing else gets multiplied in. The rating is that equation solved for P with the thickness the wall has left after everything that does not carry pressure is taken off.

The two codes agree on the answer and disagree on the bookkeeping, and the calculator follows each one's wording. B31.3 ¶A304.1.1 defines c as the mechanical allowances (thread or groove depth) plus corrosion and erosion allowance, then requires that the minimum thickness of the pipe selected, considering the manufacturer's minus tolerance, be not less than tm. So under B31.3 the tolerance comes off the wall and stays out of tm. B31.1 ¶N-104.1.1 puts the manufacturer's minus tolerance inside c, so under B31.1 it shows up in tm and the wall is compared as entered. Enter the tolerance once, in its own field, and leave it at zero when the wall you typed is already the minimum wall of the purchase specification. The pass/fail and the rating come out the same under both codes; the reported tm does not, and a reviewer checking your sheet against the paragraph will expect the one that matches the code on the line list.

S is always a typed input. Under B31.3 it is the hydrostatic design stress of Table B-1 (Table B-1C in U.S. Customary units); under B31.1 it is the hydrostatic design stress of Table N-102.2.1-1. Both tables list stresses at a few temperatures with recommended temperature limits for each material line. B31.3 ¶A302.3.1(b) permits straight-line interpolation between listed temperatures, and B31.1 ¶N-102.3.1(a) permits it where sufficient data are provided. On the Pro tier a table picker fills S from the selected code's table at the design temperature you enter. It applies that rule. Below the lowest listed temperature, B31.3 Table B-1 Note (3) says to use the tabulated stress at all lower temperatures, so the picker fills the lowest tabulated value and says so on the card; ¶A323.2.2(b) keeps the stress at that value below the row's minimum. It refuses instead of extrapolating above the row's maximum or past the last temperature the row lists.

Inputs
codeGoverning code and edition: ASME B31.3-2024 Chapter VII or ASME B31.1-2026 Mandatory Appendix N—
PInternal design gage pressure (leave blank to rate a wall only)psig
DOutside diameter, from the purchase specificationin
TPipe wall thickness, minimum wall where the specification gives one (leave blank for the required thickness only)in
minus toleranceManufacturer's minus tolerance on the entered wall; 0 when the wall entered is the minimum wallin
cThread or groove depth plus corrosion and erosion allowancein
SHydrostatic design stress at the design temperature: typed, or filled from the code table on Propsi
Outputs
tPressure design thickness, eq. (26a) / eq. (2)in
tmMinimum required thickness t + c, with c as the selected code defines itin
wall checkPass/fail of the entered wall against tm, when both a pressure and a wall are entered—
ratingPressure rating of the entered wall after tolerance and allowancespsig
D/tDiameter-to-thickness ratio for the required thickness and for the entered wall—

Limitations — what this calculator is not

Worked example — fixture-verified

A CPVC line under ASME B31.3-2024 Chapter VII: 4.5 in outside diameter, 0.3 in minimum wall from the purchase specification, 100 psig design pressure, and 0.05 in taken off for a groove. The design stress is entered as 1000 psi. That is a round example input chosen to make the arithmetic easy to follow. It is not a table value: read yours from the code table at your design temperature.

Given
Governing codeASME B31.3-2024 Chapter VII—
Design pressure P100psig
Outside diameter D4.5in
Wall T (minimum wall)0.3in
Minus tolerance0in
Allowance c0.05in
Design stress S (example input)1000psi

Step by step

  1. Pressure design thickness, eq. (26a): t = 100 × 4.5 / (2 × 1000 + 100) = 450 / 2100 = 0.21429 in.
  2. Minimum required thickness, eq. (25): tm = 0.21429 + 0.05 = 0.26429 in.
  3. Wall check, ¶A304.1.1: the minimum wall is 0.3 in, which is not less than 0.26429 in. Pass.
  4. Thickness left to carry pressure: 0.3 − 0 − 0.05 = 0.25 in.
  5. Rating of that wall: P = 2 × 1000 × 0.25 / (4.5 − 0.25) = 500 / 4.25 = 117.65 psig.
  6. Design pressure over rating: 100 / 117.65 = 0.85.
Result PASS
Pressure design thickness t0.21429in
Required thickness tm0.26429in
Wall checkPASS—
Pressure rating of the 0.3 in wall117.65psig
Design pressure / rating0.85—
D / t (required)21—

The wall passes with 15 % to spare at this stress. Notice what the groove cost: without the 0.05 in allowance the same wall rates at about 143 psig, so one machined groove took about 18 % of the rating. That is why the grooved or threaded end, not the plain pipe, is usually where a plastic line runs out of margin.

Why you can trust these numbers: this exact case is fixture cpvc-pressure-design.json — case “B31.3 check with 0.05 in allowance: P 100 psi, tm 0.26429 <= wall 0.3 -> pass, rated 117.65 psi” (tolerance 0.00001) — in the calc-core release gate. It re-runs on every commit; a red fixture blocks deployment. See the validation methodology.

Worked example 2 — the same wall fails at a higher design pressure

Same pipe, same groove allowance, same example design stress of 1000 psi, but the design pressure is raised to 150 psig. Nothing about the pipe changed; only the demand did.

Given
Governing codeASME B31.3-2024 Chapter VII—
Design pressure P150psig
Outside diameter D4.5in
Wall T (minimum wall)0.3in
Allowance c0.05in
Design stress S (example input)1000psi

Step by step

  1. t = 150 × 4.5 / (2 × 1000 + 150) = 675 / 2150 = 0.31395 in.
  2. tm = 0.31395 + 0.05 = 0.36395 in.
  3. The 0.3 in wall is less than 0.36395 in. Fail.
  4. The wall's rating has not moved: still 117.65 psig, so design pressure over rating is 150 / 117.65 = 1.275.
Result FAIL
Pressure design thickness t0.31395in
Required thickness tm0.36395in
Wall checkFAIL—
Pressure rating of the 0.3 in wall117.65psig
Design pressure / rating1.275—

A 50 % rise in pressure needs about 38 % more wall here, and the options are the usual ones: a heavier wall, a lower design pressure, or a cooler line with a higher design stress. In practice a hotter design temperature does the same thing as this example from the other side, because it lowers S while the pressure stays put.

Fixture case “B31.3 failing case: P 150 psi needs tm 0.36395 > wall 0.3 -> fail” (tolerance 0.00001) — locked in the same release gate as the example above.

Worked example 3 — B31.1-2026 Appendix N, minus tolerance inside c

The same duty under ASME B31.1-2026 Mandatory Appendix N, but this time the wall on the data sheet is a nominal 0.34 in with a 0.04 in manufacturer's minus tolerance. ¶N-104.1.1 puts that tolerance inside c. Design stress is the same 1000 psi example input.

Given
Governing codeASME B31.1-2026 Mandatory Appendix N—
Design pressure P100psig
Outside diameter D4.5in
Wall T (nominal)0.34in
Minus tolerance0.04in
Thread/groove, erosion, corrosion allowances0.05in
Design stress Sa (example input)1000psi

Step by step

  1. Eq. (2): t = 4.5 / (2 × 1000 / 100 + 1) = 4.5 / 21 = 0.21429 in, the same value eq. (26a) gives.
  2. c per ¶N-104.1.1 = 0.05 + 0.04 = 0.09 in, so tm = 0.21429 + 0.09 = 0.30429 in.
  3. The 0.34 in wall is not less than 0.30429 in. Pass.
  4. Thickness left to carry pressure: 0.34 − 0.04 − 0.05 = 0.25 in, so the rating is again 117.65 psig.
Result PASS
Pressure design thickness t0.21429in
Required thickness tm0.30429in
Wall checkPASS—
Pressure rating of the 0.34 in nominal wall117.65psig
Design pressure / rating0.85—

Same pipe, same verdict, same rating as the first example, and a different t<sub>m</sub>: 0.30429 in under B31.1 against 0.26429 in under B31.3. Neither is wrong. B31.1 carries the tolerance in the required thickness and B31.3 carries it in the wall, so quote the t<sub>m</sub> that belongs to the code you are designing to.

Fixture case “B31.1 minus tolerance inside c: wall 0.34 nominal, tolerance 0.04 -> c 0.09, tm 0.30429, pass” (tolerance 0.00001) — locked in the same release gate as the example above.

Additional verified cases in this fixture

B31.3 required thickness only: P 100 psi, D 4.5 in, example S 1000 psi -> t 0.21429 in COMPUTED
input:  {"code":"B31.3-2024","P":100,"D":4.5,"S":1000}
expect: {"t":0.21429,"tm":0.21429,"cInTm":0,"dOverT":21,"clause":"ASME B31.3-2024 ¶A304.1.1 eq. (25), ¶A304.1.2(a) eq. (26a)"}
tol:    0.00001
B31.3 rating of an entered wall: D 4.5 in, wall 0.3 in, example S 1000 psi -> 142.86 psi COMPUTED
input:  {"code":"B31.3-2024","D":4.5,"S":1000,"wall":0.3}
expect: {"ratedPressure":142.86,"tAvailable":0.3,"wallCompared":0.3,"dOverWall":15}
tol:    0.00001
B31.3 same pipe: tolerance comes off the wall -> c 0.05, tm 0.26429, minimum wall 0.30, pass PASS
input:  {"code":"B31.3-2024","P":100,"D":4.5,"S":1000,"c":0.05,"wall":0.34,"minusTolerance":0.04}
expect: {"tm":0.26429,"cInTm":0.05,"wallCompared":0.3,"tAvailable":0.25,"ratedPressure":117.65,"ratio":0.85}
tol:    0.00001
B31.1 failing on tolerance: wall 0.3 with 0.04 minus tolerance -> tm 0.30429 > 0.3, rated 97.90 psi FAIL
input:  {"code":"B31.1-2026","P":100,"D":4.5,"S":1000,"c":0.05,"wall":0.3,"minusTolerance":0.04}
expect: {"tm":0.30429,"tAvailable":0.21,"ratedPressure":97.9,"ratio":1.0214}
tol:    0.00001

Sources & citations

Per the source & citation policy, allowable-stress and factor table values are inputs — typed from your governing edition, or autofilled on paid tiers from the embedded datasets enumerated there, always cited by standard, edition, table and line. Where a page does reproduce specific ASME data (the B16.5 ratings, the quick-reference tables), it states the source table and conditions inline.

FAQ

What design stress do I enter for CPVC?

The hydrostatic design stress for your material at your design temperature, in psi. Under ASME B31.3-2024 it comes from Table B-1, or Table B-1C in U.S. Customary units, and ¶A302.3.2(a) says the method behind those values is the one described in ASTM D2837. Under ASME B31.1-2026 it comes from Table N-102.2.1-1 in Mandatory Appendix N, and ¶N-102.3.1(a) also accepts a manufacturer's published value where it was established the same way and verified. Read the row that matches the pipe you bought: the tables list CPVC by ASTM specification and material designation, and the rows do not all carry the same stress at elevated temperature. Then read it at the design temperature, not at room temperature. The value falls steeply as CPVC heats up, which is the whole reason a hot line needs its own calculation. This page deliberately prints no table values. The worked examples use a round 1000 psi so you can follow the arithmetic, and that number is an example input only.

Why do B31.3 and B31.1 give a different required thickness for the same pipe?

They give the same pressure design thickness t and a different minimum required thickness, because they define the allowance c differently. ASME B31.3-2024 ¶A304.1.1 makes c the thread or groove depth plus corrosion and erosion allowance, and then says the minimum thickness of the pipe selected, considering the manufacturer's minus tolerance, must be at least that required thickness. The tolerance is handled on the wall side of the comparison. ASME B31.1-2026 ¶N-104.1.1 lists the manufacturer's minus tolerance as part of c, so it lands in the required thickness instead. Run the same pipe both ways and the pass/fail is identical and so is the pressure rating; only the reported required thickness moves, by exactly the tolerance. That matters on paper more than in steel, or plastic in this case: a checker comparing your number against the paragraph expects the form their code uses. Enter the tolerance in its own field and the calculator books it where the selected code puts it.

Can I use CPVC for compressed air if the wall thickness passes?

No. Both codes prohibit it outright, and the wall calculation has nothing to say about it. ASME B31.3-2024 ¶A323.4.2(a)(3) states that PVC and CPVC shall not be used in compressed air or other compressed gas service, and ASME B31.1-2026 ¶N-124.9.2(c) carries the same prohibition. The reason is the failure mode, not the stress level. A rigid thermoplastic that fails under liquid pressure cracks and leaks, and the pressure is gone almost at once because liquid stores very little energy. The same pipe failing under compressed gas releases the stored energy of the gas and can throw fragments. A passing wall check does not change that. The same two paragraphs also restrict thermoplastics in flammable fluid service above ground, and B31.3 calls for safeguarding outside Category D Fluid Service. Treat the equation as one gate among several: service suitability first, then temperature limits, then the wall.

How does temperature change the pressure rating of CPVC pipe?

Through the design stress, and by a lot. In the rating equation the pressure is very nearly proportional to S, so whatever fraction of its room-temperature design stress the material keeps at your design temperature is roughly the fraction of the room-temperature rating you keep. Both code tables list the stress at a handful of temperatures and give a recommended temperature range for each material line. Between listed temperatures, ASME B31.3-2024 ¶A302.3.1(b) permits straight-line interpolation, and ASME B31.1-2026 ¶N-102.3.1(a) permits it where sufficient data are provided. Below the lowest listed temperature both tables tell you to use the lowest-temperature value; there is no credit for running cold. Above the last listed temperature there is nothing to read, and ¶A323.2.1 in B31.3 does not let you use a listed material above the highest temperature with a stress value unless you verify serviceability yourself. The Pro picker follows the same rules and leaves S empty when the table has no value.

Where do the outside diameter and wall thickness come from?

From the purchase specification for the pipe, typed in by you. The code tables that list CPVC design stresses identify the pipe by its ASTM product specification, schedule pipe under one and SDR pipe under another, and those specifications are where the outside diameter, the minimum wall and the tolerances are defined. We do not build a CPVC dimension table into the calculator, so there is no dropdown to trust blindly. Two habits keep the result honest. First, enter the minimum wall when the specification gives one and leave the minus tolerance at zero; if all you have is a nominal wall, enter it with its tolerance so the rating is not overstated. Second, check which wall you are reading: a nominal wall and a minimum wall differ by the tolerance, and SDR pipe has no schedule at all, so a steel schedule chart is the wrong place to look. ASME B31.3-2024 ¶A304.1.1 defines the wall used in the check as measured or minimum per the purchase specification.

How do I handle threaded or grooved CPVC?

Put the thread or groove depth in the allowance c. Both codes treat it as wall that is not there for pressure. ASME B31.3-2024 ¶A304.1.1(b) says that for threaded components the nominal thread depth applies, dimension h of ASME B1.20.1 or equivalent, and that for a machined surface or groove with no specified tolerance you add 0.02 in to the specified depth of cut. ASME B31.1-2026 ¶N-104.1.1 has the same rule with the same 0.02 in. Then look at what is left. The first worked example on this page loses about 18 % of its rating to a 0.05 in groove, and a thread can take more than that. That is why threading is normally confined to the heavier schedule, and why the manufacturer's rating for a threaded joint sits well below the rating of plain pipe. The equation gives you the pipe wall at the thread root. The fitting and the joint have their own ratings, and the lowest one governs.

Related calculators & tools

Open this calculator → All calculators