Hazardous Substance (COSHH) Register
Keep a register of every hazardous substance held on site — hazard class, quantity, location, safety data sheet and assessment review dates — and print the list an inspector asks for. Runs entirely in your browser. Nothing is uploaded.
Version 1.0.0 · Updated Aug 5, 2026
Overview
How to use Hazardous Substance (COSHH) Register
The complete in-tool guidance, reproduced here so you can read it before you download.
What this tool does
CM8-40 keeps the list of hazardous substances held on your site: what each product is, who supplies it, where it is stored, how much of it there is, what it can do to somebody, what controls and PPE are in place, and — the part inspectors and auditors ask for first — when the work with it was last assessed and when that assessment is next due for review.
It runs inside this one file. There is no account, no upload and no network request of any kind, so your site layout, your stock levels and your assessment history stay on the computer you are using.
A register is not an assessment
This is the most important sentence on the page: recording a substance here does not assess it. A complete register with a green tile on every line tells you that you know what you hold and when somebody last looked at it. It tells you nothing about whether the controls work.
An assessment is a piece of thinking about the work, not about the product: who does the task, how often, for how long, in what space, with what ventilation, what could go wrong, and whether the controls in place are enough. Two sites holding the same drum of solvent can need completely different controls because one decants it outdoors twice a year and the other sprays it indoors every day.
The assessment date field is a pointer to that work, wherever you keep it. The tool cannot tell whether the assessment was any good, whether the controls listed here are actually in use, or whether anybody is being exposed. It can only tell you that a date has passed.
Substitution comes first
Every control you can type into this register sits below one you cannot: not using the substance at all. The order that matters is elimination, then substitution for something less hazardous or a less hazardous form of the same thing, then control at source — enclosure, extraction, a smaller quantity, a different process — then how the work is organised, and only then personal protective equipment.
PPE is last for a reason. It protects one person, only while it is worn correctly, only while it is intact, and it fails silently. A register full of substances whose only control is a pair of gloves is a register waiting for a case of dermatitis.
When you review a line, ask the substitution question before the control question: does this job still need this product? A powder instead of a dust, a paste instead of a spray, a pre-diluted supply instead of a concentrate, a water-based product instead of a solvent — each removes the problem rather than managing it. The sample register includes a solvent withdrawn and replaced with an aqueous alternative, which is what a good register looks like over time: lines getting less hazardous, not just better documented.
What to record
One line per product, named exactly as it is labelled on the container. If the same product is held in three places and the controls differ, use three lines — the register has to match what somebody would find walking round with a clipboard.
- Reference — your own number, so the assessment, the data sheet file and this line can be tied together.
- Location stored — precise enough to find it. "Workshop" is not a location; "workshop, flammables cabinet" is.
- Quantity and unit — the maximum you normally hold, not the size of one container.
- Physical form — this drives the exposure as much as the chemistry does. The same substance as a solid, a powder and an aerosol are three different problems.
- Controls, PPE, first aid, spill, disposal — short, specific, and written so somebody who has never done the job could follow them. First aid and spill text belongs where the substance is, not only in a file.
- Status — in use, restricted to named trained users, or withdrawn. Withdrawn lines stay in the register until the stock has physically gone, because stock in a quarantine cabinet is still stock on site.
Hazard classes
Each line carries one hazard class. Most real products carry several — a solvent can be flammable, harmful and a serious health hazard at once. Record the most significant class for the way you use it and note the others in the controls box. This is a deliberate limitation, and it means the hazard chart understates how many products in your register are, say, flammable.
The label and the supplier's safety data sheet are always the authority. If they disagree with this register, the register is wrong.
The "highest hazard classes" tile counts the lines recorded as acutely toxic, explosive, or a serious health hazard — carcinogens, mutagens, reproductive toxins and respiratory sensitisers. Those are the classes where substitution should be revisited every single review, and where health surveillance is most likely to be needed. It is a triage aid, not a legal classification.
Quantities and units
Quantities in different units are never added together. Litres, kilograms and cylinders measure different things, and adding them produces a number that means nothing. Wherever the tool shows a total — the flammables tile, the location chart, the by-location table — it sums within each unit separately and prints them side by side.
Quantity held (per unit) = Σ quantity of rows sharing that unit There is no cross-unit total, and there should not be one.
The flammables tile shows the unit used by the most lines as its headline figure, and lists the rest underneath. If you want a single meaningful number — a fire loading, say — convert to a common unit deliberately, using densities from the data sheets, outside this tool.
Safety data sheets
Tick the box when you hold the sheet and people can get at it — a sheet in a locked office at night is not accessible to the person cleaning up a spill at 2 a.m. Enter the revision date printed on the sheet itself, not the day you downloaded it.
Data sheet age (months) = whole months between the sheet date and today Flagged when age > the warning set on the Settings tab (36 months by default)
An old sheet is not automatically a wrong sheet. Suppliers reissue when the classification, the composition or the advice changes, and a stable product may go years without a revision. The flag is a prompt to check the supplier's current version — nothing more. What matters more than age is whether the sheet you hold matches the product actually in the container.
Assessment and review dates
Enter the date the assessment of the work was last completed. If it has never been assessed, clear that field — the line will show "never assessed" and appear at the top of the review table, which is exactly where it belongs. New entries pre-fill today's date, so clear it deliberately rather than leaving it by accident.
You can enter a review date directly. If you leave it blank, the tool works one out:
Review due = entered review date, if there is one otherwise = assessment date + review interval (months) Days to review = review due − today (negative means overdue) Overdue = days to review < 0 Due soon = 0 ≤ days to review ≤ the reminder window (60 days by default)
A fixed interval is a backstop, not the trigger. Review as soon as anything changes: a new product, a new supplier, a change in the process or the quantity, a new person doing the job, a spill or a near miss, a health complaint, or a revised data sheet. A twelve-month cycle that survives a process change untouched is a cycle that has stopped meaning anything.
The "register gaps" column flags the two failures that make the whole register unreliable: no data sheet held, and never assessed. Those lines are the honest starting point for any improvement plan.
Reading the tiles and charts
The tiles count whatever the filter currently shows, so filtering to one hazard class or one location gives you that slice — the scope line under the title always states the filter in force.
The hazard chart marks how many lines in each class have an overdue review. The location chart shows where the stock is, with quantities per unit; a location carrying several incompatible classes is where segregation is worth checking on the ground. The monthly chart draws past months in red, so a wall of red on the left is a review backlog rather than a schedule. Substances never assessed cannot appear on the monthly chart at all — they have no review date — which is why the review table lists them first.
The by-location table is the one to take on a walk round. Every column in it is countable by looking: substances present, quantity held, classes stored together, sheets missing, assessments overdue.
Printing and sharing
Print Report produces a report from whatever the current filter shows: header, the headline figures, all four charts, the review table, the by-location table, the full register and your closing notes. Print to PDF to circulate it or to file it with your assessments.
Clear the filters before issuing anything described as the full register, and check the review interval on the Settings tab matches the one your own procedure states — every review date on the report depends on it.
Saving your work
Substances, settings and the report header are written to this browser's local storage as you type, and the toolbar shows the time of the last save. That storage belongs to one browser on one computer: another browser, a private window, a second machine or a tool that clears site data will not have it.
Treat Export .json as the real save — one file containing everything, which Import .json restores anywhere. Export CSV gives you the register for spreadsheet work and includes every filtered record, not only those drawn on screen. Reset asks twice, then erases everything this tool has stored. There is no undo.
Accuracy & disclaimer
This tool records what you enter and calculates dates and counts from it. It cannot tell whether the hazard class is right, whether the controls listed are in place, whether the quantity is current, or whether the assessment behind the date was competent. Every figure it produces depends entirely on the accuracy of the register.
Which substances must be assessed, what an assessment must cover, how often it must be reviewed, when health surveillance or exposure monitoring is required, how waste must be consigned and how long records must be kept all differ by country and by industry. This is an inventory and a date calculator — not legal advice, not an assessment, and not a substitute for competent advice on the substances you hold.