Download the data

Three CSVs, generated at build time from the same modules the pages render — so a downloaded file and the table it came from cannot disagree. 7,696 computed metal weight rows, 367 pipe dimension rows, and the density table behind both.

Everything here is a computed value or a published dimensional fact. Nothing is copied from a third-party weight chart, which is why the figures can differ in the last significant digit from a mill’s table — see methodology for that argument in full. Each file carries its dataset version and review date in every row, so a row quoted in isolation still says where it came from.

Metal weight — all materials, all sections

metal-weight-all.csv

7,696 rows · 1224 KB · UTF-8 with byte-order mark · RFC 4180 quoted

Long format: one row per material × shape × size. Pivot on section and dimensions_mm to rebuild any page table.

metal-weight-all.csv — columns
Column Contents
material Full material name (16 values)
material_short Short label, the one used in the calculators
density_kg_m3 Nominal density the row was computed at
density_lb_in3 The same density in lb/in³
section Section shape name
section_slug URL slug of the shape
dimensions_mm The dimension set, e.g. "dia=25" or "a=40 wt=3"
area_mm2 Cross-sectional area, mm²
area_in2 The same area in in²
kg_per_m Mass per metre
lb_per_ft Mass per foot
kg_per_m2 Mass per square metre — plate rows only
lb_per_ft2 The same in lb/ft² — plate rows only

Pipe dimensions and weights

pipe-dimensions-all.csv

367 rows · 64 KB · UTF-8 with byte-order mark · RFC 4180 quoted

The "S" schedules are the B36.19M stainless ones and their weights are computed at 304 stainless density (8,000 kg/m³), matching the schedule pages. Every other row is carbon steel at 7,850 kg/m³.

pipe-dimensions-all.csv — columns
Column Contents
nps Nominal pipe size as written in the standard, e.g. "1-1/4"
dn Metric designation, e.g. 32
schedule Schedule key: 5S, 10S, 10, 20, 30, 40S, 40, 60, 80S, 80, 100, 120, 140, 160, XXS, STD, XS
standard ASME B36.10M (carbon) or B36.19M (stainless)
od_in / od_mm Outside diameter — the governed dimension, and its metric conversion
wall_in / wall_mm Wall thickness for this schedule at this size
id_mm Bore, computed as OD − 2 × wall
metal_area_mm2 Annular cross-section
kg_per_m / lb_per_ft Mass per unit length
litres_per_m Internal volume per metre — the hydrostatic test figure
water_kg_per_m Mass of water filling one metre at 1,000 kg/m³
outer_area_m2_per_m External surface per metre — the coating quantity

Material densities

metal-densities.csv

16 rows · 3 KB · UTF-8 with byte-order mark · RFC 4180 quoted

Sorted lightest first. Blank typical_spread_pct means the nominal value is tight for that grade; a value means the family genuinely varies by that much.

metal-densities.csv — columns
Column Contents
material / short Material name and short label
group carbon-steel, stainless-steel, aluminium, copper-alloy, other-metal, polymer
density_kg_m3 Nominal density from the named specification
density_lb_in3 Derived, not hand-typed
relative_to_carbon_steel Ratio against 7,850 kg/m³, so 0.3439 means aluminium
typical_spread_pct Documented density spread across the grade family, where one exists
specification The standard the density represents
equivalents UNS / EN / JIS / GB designations

How these files are produced

scripts/gen_downloads.mjs runs before the site build and writes into public/downloads/. It imports the same calc.ts functions and the same dimension data the pages use, iterates the same size series, and quotes its own numbers into the build log. It refuses to complete if the output falls below the expected row count, so a silently-empty file cannot reach a visitor — the same guard philosophy as the site build itself.

Reporting a discrepancy

If a figure here disagrees with your own calculation, the most useful thing you can send is the dimensions, the material and the density you used. Density assumptions account for most disagreements of about 0.1 %, and a genuine geometry error is the thing we most want to find. Report a data error — corrections are issued with a version bump.

Frequently asked questions

Can I use this data commercially?

Yes. The computed values — areas, masses, volumes, surface areas — are yours to use freely, including in commercial work, with attribution back to this site appreciated. What is not ours to license are the standardised dimensions themselves: pipe outside diameters and wall thicknesses belong to ASME, and if you are publishing them at scale you should be reproducing them from the standard. We state the dimensions so you can check our arithmetic, not to be a substitute for the source.

How often is the data updated?

The datasets carry a version, currently 2026.09.1, and a review date of 2026-09-21. The version only moves when a number changes — a rebuild that changes nothing does not bump it, because the sitemap's lastmod is driven by that version and a fake freshness signal is worse than none. When a value does change, every page and every CSV changes together, because they are generated from the same modules.

Why is the metal weight file so much bigger than the pipe file?

Because there is more of it: 7,696 rows against 367. Sixteen materials multiplied by ten shapes, each expanded over its own size series, against 31 nominal sizes across 17 schedules. Both are uncompressed here; the server sends them gzipped, which cuts the metal file to roughly a fifth.

Is there a JSON or an API?

There is a JSON index of every page on the site at /searchindex.json, used by the on-site search. For the numeric data, CSV is the format: it opens in anything, it is diffable, and a static file has no rate limit or uptime. If you want a different shape — filtered by material, or as JSON — the generator is a single script and the data modules are plain TypeScript, so it is a small change rather than an integration.

Will you add PDF or Excel versions?

Excel is already covered: the CSVs are RFC 4180 with a UTF-8 byte-order mark, so they open correctly in Excel with the mm² and · characters intact. PDF is on the roadmap for the printable tables — a printed pipe schedule wall chart is genuinely useful on a shop floor — but it will be generated from the same data rather than maintained separately.

Reference data and tools

The same data, browsable, with the working shown.

Data source and method

Every row is computed at build time: areas from closed-form geometry, masses as area × length × density, unit conversions from definitional constants. The only copied values are pipe outside diameters and wall thicknesses, which are the dimensional facts the standards govern.

  • Elementary plane geometry. The circle, polygon and hollow-section area formulas.
  • ASME B36.10M — Welded and Seamless Wrought Steel Pipe (dimensional tables).
  • ASME B36.19M — Stainless Steel Pipe (dimensional tables).
  • ASTM material specifications for each grade named in the material entry (A36, A240/A276, B209/B211/B221, B152/B16/B505, B265/B348, A48, B29, D1784, D3350).
  • BIPM / NIST definitional constants: international inch = 25.4 mm, foot = 0.3048 m, pound = 0.45359237 kg.

Dataset version 2026.09.1 · dimensions last verified against source 2026-09-21. Found an error? Report it — corrections are issued with a version bump.