About Yaktool

Yaktool is an independent project. It builds 100 free, browser-based tools for the data behind an online product and the documents a business has to file — and it publishes the complete list of rules behind every check.

Why this exists

An AI assistant will write you a barcode validator in thirty seconds, and it will be roughly right. The check-digit arithmetic is easy to get correct, and that is most of what a quick script does. What it misses is everything around the edges: that a spreadsheet turned the barcode into 8.71E+12 before you ever saw it, that an 11-digit number is probably a UPC whose leading zero got eaten, that 020–029 is a restricted in-store range which will never scan in a shop.

None of those cases are hard. There are just a lot of them, and they are the difference between a tool that works on your clean test row and one that works on the file you actually have. So the thing being built here is not the algorithm. It is the rule list, and the evidence behind it.

How the tools are built

  1. Every rule has an ID, a severity and a source. Each check carries an identifier such as GTIN-005, a level (error, warning or info), an explanation in plain English, and — wherever a public specification exists — a link to it. The complete list sits at the bottom of every tool page, before you have trusted the tool with anything. A tool that will not show you its rules is asking you to take its word for it.
  2. Sources are registered and re-verified, not remembered. All 94 external references live in a registry that records the page title, whether an anonymous visitor can actually read it, and the date it was last checked. That registry exists because of a mistake: this site once shipped a source link that returned HTTP 200 and rendered an error message — a dead link wearing a healthy status code. Links are now checked against page content, and a source that sits behind a login wall is described in words rather than linked, because a reader who is not signed in would land on a homepage.
  3. Edge cases become permanent tests. Every rule has at least one passing and one failing example in the test suite. When a real-world file breaks something, that file becomes a regression case and stays one. This corpus is the part of the project that is genuinely hard to reproduce, and it is why the answers do not drift between visits.
  4. How the pages are produced — and what that does not mean. The rule list on every tool page is rendered from structured data: each rule is a record with an identifier, a severity, an explanation, a fix and a source, and the page is generated from those records rather than typed out by hand. Drafting those records, and the code around them, was done with AI assistance. What decides whether a rule ships is not how it was drafted but what it survives afterwards: its source is looked up and verified against the live page, it gets at least one passing and one failing test, and any real-world file that breaks it becomes a permanent regression case. Generated is where a rule starts, not where it is allowed to stop.
  5. The tools say when they cannot tell. A checker that reports “looks fine” when it has no way of knowing is worse than no checker. Where a rule could only be settled against a registry we do not hold or a document we cannot read, the tool says so instead of guessing. Several tools here return fewer verdicts than a competitor would, on purpose.

Everything runs in your browser

The files you open — spreadsheets, PDFs, images — are read by JavaScript on your own machine. Nothing is uploaded. Even the heavier tools keep this property: the OCR engine and its language model are static files served from this site, downloaded once and executed in your browser. There is no server here to send a product catalogue to, which is both a privacy property and the reason this site can be free.

What is and is not stored is set out in the privacy policy.

The same rules, for AI agents

Every tool is also published as a local MCP server, so an agent working in Claude or Cursor gets the identical rule set and the identical structured result — running on the user's own machine, not ours. An agent that can call a maintained checker beats one writing a fresh validator each time it is asked.

Who runs this

Yaktool is an independent project. It is not operated by, affiliated with, or endorsed by GS1, Google, Amazon, Shopify, the European Commission, or any other body whose specifications these tools reference. The rule text and explanations are ours; the specifications they point to belong to their publishers.

Corrections are read and acted on. If a rule is wrong, a source link has rotted, or a tool mishandled a real file, that is the most useful message you can send — get in touch.