Spec·Reference

About

About Spec Reference

784 rows across 10 tables, generated by scripts from published standards rather than copied from other charts.

Built and maintained by Ethan Chen. The reason to trust a number here is not that I say so — it is that every table is produced by a script you can read the method for, checked against published reference values, and held in place by automated tests that fail when a number drifts.

Why this exists

Look up a tap drill size and you get a dozen pages carrying the same table, none of them saying where it came from. When two of them disagree — and they do — there is no way to tell which one is wrong. Most are also wrapped in enough advertising that finding the row you need takes longer than the job.

So this site states its method on every page. Not as a disclaimer at the bottom, but as a block you can check the work against: the formula used, the standard the inputs came from, the specific published values it was verified against, and the largest deviation found.

How a table gets made

Each chart is the output of a Python script. The script computes the values from the geometry or the defining formula, then asserts them against known reference pairs before it is allowed to write anything. A drill chart that produced an "interchangeable" pair outside its own stated tolerance would not produce a file at all — the script exits and nothing lands on disk.

The site then renders straight from those generated files. Nothing is retyped between the calculation and the page, because retyping is where numbers drift. Where a page quotes a constant or a verification figure in its prose, that text is interpolated from the same data — an earlier version hand-wrote three such numbers and all three were wrong.

Both unit systems are written into the HTML, not converted by JavaScript, so the metric values exist for anything that reads the page without running scripts. 9 of the 10 tables ship as CSV and JSON with the same columns you see on screen.

What holds it together

Every claim above is enforced by a test rather than by good intentions. The suite covers page structure and metadata, the table component's behaviour on each page, accessibility and keyboard reachability, and — the layer that matters most — the data itself, checked without a browser for self-consistency.

That last layer exists because of the errors that got through everything else. Torque values once used yield strength where proof stress was correct, which made the metric figures 12–24% too high; a wire chart rounded copper resistivity and came out 0.24% low across the board. Neither was a rendering bug and neither would have been caught by looking at the page. Each fix arrived with an assertion that would have caught it, and those assertions still run.

What is deliberately missing

Three exclusions are decisions, not gaps. Adding them would make the site look more complete and be less trustworthy:

The line is consistent: what can be derived is given; what can only be transcribed from a safety code is not. Where a value genuinely is a transcribed standard figure rather than a computed one — the steel, galvanized and stainless columns of the sheet metal chart, for instance — the page says so.

Corrections

If a number here disagrees with your standard, the standard wins and I want to know. Write to hello@thespecref.com. The most useful report names the page, the row, what you have, and which edition of which standard you are reading from — that is usually enough to tell a real error from a difference in nominal versus actual dimensions.

Corrections get fixed at the source: the generating script changes, an assertion goes in so the same class of error cannot come back, and the page rebuilds from the new data. That is why the "Data source and method" block on each page is worth reading — it tells you what has already been checked.

Who

Ethan Chen — github.com/CodeForgeX, hello@thespecref.com. The site runs as static files on Cloudflare Pages with no analytics, no cookies, no fonts or scripts from anyone else, and no advertising. Each page is a single request.

The tables