Certificate of Analysis to spreadsheet
CoA to Excel, already checked against the spec
A generic PDF-to-Excel copy leaves a sheet of text to check by eye. CertiClean returns one row per parameter with the limit read, the result compared and a status, plus a batch log line, as CSV that opens straight in Excel.
The sheet supports your review. The release decision stays with the qualified person, and the tool 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
1 of 10 evaluated parameters is outside the printed specification. 1 could not be evaluated and needs a manual look.
- 9pass
- 1fail
- 1could not evaluate
| # | Parameter | Specification | Method | Result | Status |
|---|---|---|---|---|---|
| 1 | AppearanceResult "White powder" matches "White to off-white powder" | White to off-white powder | Visual | White powder | ✓PassCoA says: Pass |
| 2 | Assay (Rebaudioside A)95.8 % is below the lower limit (≥ 97.0 %). The supplier's own conclusion column says "Pass". | ≥ 97.0read as ≥ 97.0 % | HPLC | 95.8 % | ✕FailCoA says: Pass |
| 3 | Total steviol glycosides98.9 % meets ≥ 95.0 % | ≥ 95.0read as ≥ 95.0 % | HPLC | 98.9 % | ✓PassCoA says: Pass |
| 4 | Loss on drying3.2 % meets ≤ 6.0 % | ≤ 6.0read as ≤ 6.0 % | 105 °C, 2 h | 3.2 % | ✓PassCoA says: Pass |
| 5 | pH (1 % solution)5.6 meets 4.5 – 7.0 | 4.5 – 7.0 | Potentiometry | 5.6 | ✓PassCoA says: Pass |
| 6 | Lead (Pb)0.21 mg/kg meets ≤ 1 ppm (mg/kg is the same ratio as ppm) | ≤ 1 ppm | ICP-MS | 0.21 mg/kg | ✓PassCoA says: Pass |
| 7 | Arsenic (As)< 0.05 mg/kg means the value is under 0.05 ppm; that is within ≤ 1 ppm (mg/kg is the same ratio as ppm) | ≤ 1 ppm | ICP-MS | < 0.05 mg/kg | ✓PassCoA says: Pass |
| 8 | Residual methanolPrinted result is "Complies", a conformity statement without a measured value; ≤ 200 ppm was not checked. | ≤ 200 ppm | GC-HS | Complies ppm | !Could not evaluateCoA says: Pass |
| 9 | Total plate count85 cfu/g meets ≤ 1000 cfu/g | ≤ 1000 cfu/g | ISO 4833-1 | 85 cfu/g | ✓PassCoA says: Pass |
| 10 | Yeasts and moulds< 10 cfu/g means the value is under 10 cfu/g; that is within ≤ 100 cfu/g | ≤ 100 cfu/g | ISO 21527-2 | < 10 cfu/g | ✓PassCoA says: Pass |
| 11 | Salmonella"Not detected" meets "Negative in 25 g" | Negative in 25 g | ISO 6579-1 | Not detected | ✓PassCoA says: Pass |
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 to Excel conversion?
- CoA to Excel
- CoA to Excel means moving the test table of a Certificate of Analysis from a PDF into spreadsheet rows: parameter, specification, method, result and unit. CertiClean adds the part a copy cannot: it reads the specification into a limit, compares the result with it, and writes a status and a reason on the same row.
The output is a CSV (UTF-8 with a byte-order mark, so Excel shows ≤, µ and °C correctly) and a JSON file. There is no .xlsx download; double-clicking the CSV opens it in Excel.
The columns are fixed, and the lot, product, supplier and CoA number are repeated on every row, so files from different batches can be stacked into one sheet or pivot table.
From PDF to a filtered sheet
What happens between the upload and the file you open in Excel.
Upload the PDF or scan
Drop the certificate on the page. Free use: 1 file per day, up to 10 pages, no account.
Check that the table was read
The result view shows one row per parameter and the batch header card. A reading note appears if the layout was unusual, for example several result columns or a table without a header row.
Filter on the status
Red rows failed, amber rows could not be judged, grey rows are report-only. Each carries a reason. The supplier's own conclusion column is kept in its own column and flagged if it disagrees.
Download the parameter CSV
The file has 13 fixed columns. Open it in Excel and filter on the status column, or append it to the sheet of earlier lots.
Add the batch line to the log
One line per certificate goes into the batch log in your browser, with the failed parameters listed and the release decision column left empty.
What is in the files
Parameter CSV, one row per test parameter
| Column | Contents |
|---|---|
| supplier | Supplier or manufacturer named on the certificate. |
| product | Product or material name. |
| batch_lot | Batch or lot number. Repeated on every row so sheets from different lots stack. |
| coa_number | Certificate or report number. |
| row | Row number in the order printed on the certificate. |
| parameter | Test name as printed. |
| specification | Specification text as printed (for example NMT 0.5 %). |
| method | Method or reference as printed (USP, Ph. Eur., ASTM, ISO, in-house). |
| unit | Unit from the unit column, or from the result or specification. |
| result | Result as printed. |
| supplier_conclusion | The supplier's own conclusion column, if the certificate has one. |
| status | PASS, FAIL, NOT EVALUATED or REPORT ONLY. |
| reason | Plain-language reason for the status, including any unit conversion. |
Batch log CSV, one line per certificate
| Column | Contents |
|---|---|
| logged_at_utc | When the line was added, in UTC. |
| source_file | File name that was uploaded. When only the first pages of a longer file were converted, the name is followed by (first 10 of 14 pages), with the real numbers. |
| supplier | Supplier or manufacturer. |
| product | Product or material name. |
| product_code | Product code or item number. |
| batch_lot | Batch or lot number. |
| coa_number | Certificate or report number. |
| manufacture_date | Manufacture date, ISO 8601 where the printed date is unambiguous, otherwise as printed. |
| expiry_or_retest_date | Expiry, retest or best-before date, same rule. |
| expiry_label | Which of those the certificate called it. |
| sampling_date | Sampling date. |
| issued_by | Name or role printed as issuer or approver. |
| parameters | Number of parameter rows read. |
| evaluated | Rows with a pass or fail. |
| passed | Rows that passed. |
| failed | Rows that failed. |
| could_not_evaluate | Rows that could not be judged and need a look. |
| report_only | Rows with no limit to check. |
| overall_result | ALL EVALUATED WITHIN SPEC, OUT OF SPEC or NOTHING EVALUATED. |
| failed_parameters | Each failed parameter with its result and printed limit. |
| could_not_evaluate_parameters | Names of the parameters that could not be judged. |
| reviewed_by | Left empty for you. |
| release_decision | Left empty for the qualified person. |
| notes | Left empty for you. |
What lands in the spreadsheet
The same certificate, three ways of getting it into rows.
| What you need | Manual spec check | Generic PDF-to-Excel | CertiClean |
|---|---|---|---|
| Specification column | Typed or pasted, then read again. | The printed text, nothing more. | The printed text, plus how it was read (NMT 0.5 % read as ≤ 0.5 %). |
| Status column | Added by hand, row by row. | Absent. You write the formulas. | PASS, FAIL, NOT EVALUATED or REPORT ONLY, with a reason. |
| Odd results (< 0.01, ND, Complies) | Judged as you go. | Left as text in the cell. | Compared by rule, or marked could not evaluate with the reason. |
| Unit differences | Converted in your head. | Left alone. | % ↔ ppm ↔ mg/kg converted and stated; other mismatches flagged. |
| Lot and supplier on every row | Copied down. | Only where the PDF printed them. | Repeated on every row so lots stack. |
| Special characters in Excel | Depends on how you typed them. | Often garbled in CSV. | UTF-8 with BOM, so ≤, µ and ° display correctly. |
Questions people ask
Does CertiClean produce an .xlsx file?
No. It produces a CSV and a JSON file. The CSV is UTF-8 with a byte-order mark, which makes Excel open it with ≤, µ and °C intact. Save it as .xlsx from Excel if you need that format.
Which columns does the parameter CSV have?
Thirteen, in a fixed order: supplier, product, batch_lot, coa_number, row, parameter, specification, method, unit, result, supplier_conclusion, status and reason. The column guide on this page describes each one.
What if the table continues over several pages?
Continued tables are joined. A repeated header row is dropped, and a continuation without a header reuses the column layout of the table before it. A reading note says when that happened.
My CoA has Min and Max columns instead of one specification. Is that read?
Yes. Min and Max (or Lower and Upper) cells are combined into one specification, for example 98.0 and 102.0 become 98.0 – 102.0, and an empty Max with a Min of 99.0 becomes ≥ 99.0.
What if there are several result columns, for example two lots on one certificate?
Only the first result column is used, and a reading note says so. Upload each certificate separately if you need each lot checked.
Why does a cell differ slightly from the PDF?
Cells are cleaned: line breaks and repeated spaces collapse, markup is removed, and trailing footnote marks on results are dropped. Numbers and wording are not changed.
Are decimal commas read correctly?
Yes. When most numbers in the document use a decimal comma (0,5), numbers are read that way, and a reading note says so. A thousands separator such as 1,000 is read as one thousand in a document that uses decimal points.
Can it read a scan or a photo of a CoA?
Yes, with OCR, and the result says when the file was read as a scan. OCR can misread digits, so check the numbers against the original, especially on rows flagged amber or red.
How much can I convert 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.
Can I send the CSV to my LIMS or ERP?
CertiClean has no LIMS or ERP integration. The CSV is a plain file with fixed columns that you can import wherever your system allows it.
Is the supplier's own pass/fail column kept?
Yes, in the supplier_conclusion column. If a row fails here while the supplier printed Pass, the reason says so, and the same applies the other way round.