For QA/QC and purchasing at importers of chemicals, ingredients and materials
Out-of-spec results, seen before release
Upload the supplier's Certificate of Analysis. CertiClean puts every parameter, specification limit, method and result on one row, decides pass or fail from the printed limits, and adds a line to a batch log that builds up across uploads.
This supports your review of the certificate. It does not replace the qualified person's release decision, and it is not a validated system.
Check a certificate of analysis
Used only for files over 10 pages, or a second file in a day. Code saved · enter a new one to replace This browser blocked storage, so the code is kept only until this tab is closed. That does not look like a page code. Codes look like OCR-XXXX-XXXX.
- 01
Upload the CoA
A PDF or scan from your supplier. Tables are read as printed; nothing is typed in by hand.
Free: 1 file per day, up to 10 pages, no account.
No file to hand? Try a sample: - 02
Compare to the specification
Each printed limit (≤, ≥, ranges, NMT, NLT, Negative, Conforms) is read and every result is judged against it. What cannot be judged is marked, never guessed.
Showing a sample. Upload your own certificate to check it.
- 03
Log the batch
Add one line per certificate to a batch log that builds up across uploads. It stays in this browser and downloads as CSV.
0 lines in your log now
All 11 evaluated parameters are within the printed specification. 1 report-only parameter has no limit.
- 11pass
- 0fail
- 0could not evaluate
- 1report only
| # | Parameter | Specification | Method | Result | Status |
|---|---|---|---|---|---|
| 1 | DescriptionResult "White fine powder" matches "White or almost white, fine or granular powder" | White or almost white, fine or granular powder | Visual | White fine powder | ✓Pass |
| 2 | Identification A (IR)Supplier states "Conforms" against "Conforms to reference spectrum" | Conforms to reference spectrum | Ph. Eur. 2.2.24 | Conforms | ✓Pass |
| 3 | Assay (on dried basis)99.6 % meets 98.0 – 102.0 % | 98.0 – 102.0 % | HPLC, in-house SOP QC-114 | 99.6 % | ✓Pass |
| 4 | Loss on drying3.8 % meets ≤ 5.0 % | NMT 5.0 %read as ≤ 5.0 % | USP <731> | 3.8 % | ✓Pass |
| 5 | Residue on ignition0.04 % meets ≤ 0.1 % | NMT 0.1 %read as ≤ 0.1 % | USP <281> | 0.04 % | ✓Pass |
| 6 | Heavy metals< 5 ppm means the value is under 5 ppm; that is within ≤ 10 ppm | NMT 10 ppmread as ≤ 10 ppm | USP <231> | < 5 ppm | ✓Pass |
| 7 | pH (10 % suspension)6.4 meets 5.0 – 7.5 | 5.0 – 7.5 | USP <791> | 6.4 | ✓Pass |
| 8 | Total aerobic microbial count120 cfu/g meets ≤ 1000 cfu/g | NMT 1000 cfu/gread as ≤ 1000 cfu/g | USP <61> | 120 cfu/g | ✓Pass |
| 9 | Total combined yeasts and moulds< 10 cfu/g means the value is under 10 cfu/g; that is within ≤ 100 cfu/g | NMT 100 cfu/gread as ≤ 100 cfu/g | USP <61> | < 10 cfu/g | ✓Pass |
| 10 | Escherichia coli"Absent" meets "Absent in 1 g" | Absent in 1 g | USP <62> | Absent | ✓Pass |
| 11 | Salmonella"Absent" meets "Absent in 10 g" | Absent in 10 g | USP <62> | Absent | ✓Pass |
| 12 | Bulk densitySpecification says "Report": there is no limit to check; the value is recorded. | Report | USP <616> | 0.31 g/mL | –Report only |
Batch log
One line per CoA you add, kept in this browser only. Nothing in the log is uploaded. The reviewer, release decision and notes columns are yours to fill in; the tool never fills them.
This browser is blocking local storage, so the log can only live on this page. Download the CSV before you leave.
No lines yet. Check a certificate, then choose Add to batch log. Sample certificates are never added.
| Logged | Product | Lot | Supplier | Expiry / retest | Overall | Reviewed by | Release decision | Notes | Remove |
|---|
A working log, not a validated record: it has no electronic signatures, no audit trail and no access control, and it disappears if you clear this site's data or switch browser or device. Download it often, and keep your controlled batch record in your own quality system.
What is a CoA specification check?
- CoA specification check
- A CoA specification check compares each result printed on a supplier's Certificate of Analysis with the specification limit printed beside it, and records the outcome per parameter. CertiClean does it for every row of the test table: it reads the limit (≤, ≥, NMT, NLT, a range, Negative, Conforms), reads the result and its unit, decides pass, fail or could not evaluate, and writes the reason next to the row.
The same pass over the document picks up the batch header (product, lot, manufacture date, expiry or retest date, supplier, CoA number, sampling date, issuer), so each certificate also becomes one line in a batch log.
The comparison uses the specification printed on the certificate. If your purchase specification is tighter than the supplier's, check against yours separately; the tool cannot know it.
From a supplier PDF to a logged batch
Five operations, in this order, on every certificate.
Upload the certificate
Choose a PDF, scan or image of the CoA. Free use takes 1 file per day of up to 10 pages, with no account.
The test table is read
Each row becomes a parameter with its specification, method, result and unit. Header fields are picked up from labels such as Batch No., Lot, Mfg. Date, Retest Date and Supplier.
Every limit is compared
A result inside its limit is a pass, outside is a fail. A row that cannot be judged (a bare statement, an unreadable limit, incompatible units) is marked could not evaluate with the reason.
Review what is flagged
Open the failed and amber rows beside the original certificate. The reasoning for every row can be shown, and the supplier's own conclusion column is kept for comparison.
Download and log
Take the parameter CSV or JSON, and add the batch line to the log in your browser. The reviewer, release decision and notes columns stay empty for you.
What you get for each certificate
- One row per test parameter: parameter, printed specification, how it was read (for example NMT 0.5 % read as ≤ 0.5 %), method, result, unit and a pass, fail or could-not-evaluate chip.
- A batch header card: product, batch or lot, manufacture date, expiry or retest date, supplier, product code, CoA number, sampling date and issuer.
- A one-sentence verdict: all evaluated parameters within the printed specification, or how many are outside it, and how many could not be evaluated.
- A parameter CSV with fixed columns, a JSON file, and a batch log line with the failed parameters listed.
What it does not do
- It does not make the release decision. That stays with the qualified person.
- It does not check the CoA against your own purchase specification, only against the limits printed on the certificate.
- It does not check that a certificate is genuine, or that the supplier's laboratory data are right.
- It does not apply pharmacopoeial rounding rules. A near miss says so and leaves the verdict as printed.
- It is not a validated system: no electronic signatures, no audit trail, no access control.
Manual check, generic PDF-to-Excel, or CertiClean
The three ways a certificate usually gets checked, side by side.
| What you need | Manual spec check | Generic PDF-to-Excel | CertiClean |
|---|---|---|---|
| Reading the limit | You read each printed limit and keep it in your head or on a checklist. | The specification text is copied into a cell and stays text. | ≤, ≥, NMT, NLT, ranges, max and min, Negative, Absent and Conforms become a limit shown beside the original text. |
| Pass or fail | Decided by eye, row by row. A shifted decimal or a unit is easy to miss. | Not decided. You add formulas or conditional formatting. | Decided per row, with the reason written next to it. |
| Units | Mental conversion between %, ppm and mg/kg. | Units stay as text, so ppm against % is not reconciled. | % ↔ ppm ↔ mg/kg converted when unambiguous; every other mismatch is flagged, not guessed. |
| < 0.01, ND, Complies | Judged case by case. | Kept as text. | A < value passes a maximum only if it is not above the limit; ND and Complies are handled as stated, and anything undecidable is amber. |
| Batch header | Retyped into the log. | Lands wherever the PDF layout put it. | Product, lot, dates, supplier and CoA number in labelled fields. |
| Batch log | A spreadsheet you keep up by hand. | None: every file is a separate sheet. | One line per certificate in a log that builds up in your browser and downloads as CSV. |
The manual check remains the reference: CertiClean is a second reader that never skips a row, not a replacement for the person who signs.
Questions people ask
What does CertiClean check on a Certificate of Analysis?
It reads the test table and compares each result with the specification limit printed in the same row. It also reads the batch header (product, lot, dates, supplier) so the certificate can be logged. It does not look at anything that is not on the certificate.
Does it decide whether I can release the material?
No. It shows which results are inside or outside the printed limits and which could not be judged. The release decision stays with the qualified person, and the log's release decision column is left blank for that reason.
Which specification does it compare against?
The one printed on the certificate, row by row. If your purchase specification is tighter than the supplier's, a result can pass here and still be out of your own limit, so compare with your own specification as well.
Which limit formats can it read?
≤, ≥, <, >, NMT, NLT, max and min (before or after the number), ranges written with a dash, 'to' or 'between', tolerances such as 100 ± 5, powers of ten for microbial limits, Negative, Absent in 25 g, Conforms or Complies, descriptive text such as White to off-white powder, and Report with no limit.
What does 'could not evaluate' mean?
The row has a limit or a result that cannot be compared without guessing: an unreadable limit, a result that is only a statement like Complies against a numeric limit, units that do not convert, or a < value larger than the limit. It is shown in amber with the reason and is never counted as a pass.
How are results such as < 0.01 or ND handled?
A '<' result passes a maximum limit when its value is not larger than the limit (< 5 ppm against NMT 10 ppm passes) and is marked could not evaluate otherwise. ND and Not detected pass a maximum or a Negative requirement. Against a minimum or a range they cannot be judged.
What if the specification is in ppm and the result in mg/kg?
% ↔ ppm ↔ mg/kg are converted because they are the same mass ratio, and the row says so. Any other mismatch, such as ppb against ppm, cfu/g against cfu/mL or mPa·s against cP, is flagged as a unit mismatch and left for you.
How much can I use for free?
1 file per day, up to 10 pages, with no account. Pro is $79 per month for 200 CoAs a month and files up to 150 pages. Team is $199 per month for 5 seats, 1,000 CoAs a month and the same 150-page files. Paid access is a page code sent by email; see the pricing page.
Where is the batch log stored?
In your browser's local storage on the device you are using. It is not uploaded and we cannot see it. Clearing site data, using a private window or switching browser or device loses it, so download the CSV regularly.
Does it work on scanned certificates?
Scans and photos are read with OCR and the page says so when that happened. OCR can misread digits, so check the numbers of any flagged row, and of the whole certificate if it was a poor scan, against the original.
Is this validated, or compliant with 21 CFR Part 11?
No. It is a working tool with no electronic signatures, no audit trail and no access control, and it makes no claim of validation or of Part 11 compliance. Keep your controlled batch record in your own quality system.
What happens to the file I upload?
It is processed in memory and deleted after conversion. Pages that need a second look may be sent to Google's Gemini API, where Google's terms allow retention for up to 55 days. Uploads are not used for training. The Privacy page lists the sub-processors.