Equilibrium Scientific, home

Free tool · certificate of analysis

Read a cannabis COA the way an assessor does.

A certificate for a fictional flower batch, laid out like the real thing. Select a number to see what the section means, what to check, and the mistakes labs and buyers make: ND against <LOQ, the 0.877 arithmetic, limits that change at the state line.

Certificate of analysisSample, not a real result

Sample certificate of analysis

1

Harrow Creek Analytical

Cannabis testing laboratory · fictional

1200 Example Way, Suite 4 · Fictional City, ST 00000

Testing laboratory license TL-000000 (fictional)

Accredited to ISO/IEC 17025:2017 · certificate 0000.00 (fictional)

Certificate of analysis

Report HCA-260918-0142

Page 1 of 1

Sample · not a real result

2
Client
Juniper Row Cultivation (fictional)
License
Cultivation license CUL-000000 (fictional)
Sample ID
S-0142
Batch
JR-0914-A
Batch size
4,812 g
Sample weight
14.6 g
Sampled by
Laboratory sampler, SOP-SMP-001
3
Matrix
Flower, dried · inhalable
4
Collected
2026-09-14
Received
2026-09-14
Tested
2026-09-15 to 09-17
Reported
2026-09-18
5

Summary

Overall: pass
  • PotencyTested
  • MoistureTested
  • Water activityPass
  • Foreign materialPass
  • PesticidesPass
  • Residual solventsPass
  • Heavy metalsPass
  • MicrobialsPass
  • MycotoxinsPass
6

Potency

HPLC-UV · dry-weight basis · LOQ 0.05%
Cannabinoids, dry-weight basis
AnalyteLOQ %Result %mg/g
CBDVA0.05NDND
CBDV0.05NDND
CBDA0.050.141.4
CBGA0.051.1211.2
CBG0.050.353.5
CBD0.05<LOQ<LOQ
THCV0.05<LOQ<LOQ
CBN0.050.242.4
Δ9-THC0.051.8018.0
Δ8-THC0.05NDND
CBC0.050.313.1
THCA0.0523.47234.7
7
Totals, dry-weight basis
Total THC22.38%223.8 mg/g
Total CBD0.12%1.2 mg/g

Total THC = Δ9-THC + 0.877 × THCA. Total CBD = CBD + 0.877 × CBDA. Results below LOQ count as zero. ND: not detected. <LOQ: detected below the limit of quantitation.

8

Moisture and water activity

Moisture
11.2%
Water activity
0.58 aw
Limit
≤ 0.65 aw
Status
Pass
9

Pesticides

66 analytes · LC-MS/MS and GC-MS/MS · µg/gPass
Pesticides, µg/g
AnalyteCat.LOQLimitResult
ChlorpyrifosI0.02LODND
MyclobutanilII0.020.1ND
BifenazateII0.020.1ND
ImidaclopridII0.025<LOQ
62 more analytes: ND. Category I: any detection above the LOD fails. Category II: fails above the limit shown.

Residual solvents

20 analytes · Headspace GC-MS · µg/gPass
Residual solvents, µg/g
AnalyteLOQLimitResult
Benzene0.21ND
Butane505,000ND
Ethanol505,000<LOQ
Hexane10290ND
16 more analytes: ND
10

Heavy metals

ICP-MS · µg/g · example limitsPass
Heavy metals, µg/g
AnalyteLOQLimitResult
Arsenic (As)0.020.20.04
Cadmium (Cd)0.020.2<LOQ
Mercury (Hg)0.020.1ND
Lead (Pb)0.020.50.12
11

Microbials

qPCR; plate count for yeast and moldPass
Microbials
TestLimitResult
STEC (Shiga toxin-producing E. coli)Not detected in 1 gNot detected
Salmonella spp.Not detected in 1 gNot detected
Aspergillus: A. fumigatus, A. flavus, A. niger, A. terreusNot detected in 1 gNot detected
Total yeast and mold10,000 CFU/g2,300 CFU/g

Mycotoxins

LC-MS/MS · µg/kgPass
Mycotoxins, µg/kg
AnalyteLOQLimitResult
Total aflatoxins (B1, B2, G1, G2)220ND
Ochratoxin A220<LOQ
12

Methods and sign-off

  • PotencyHPLC-UV, 228 nmSOP-POT-004 r3
  • Moisture · water activityLoss on drying · dew pointSOP-MOI-001 r2
  • Pesticides · mycotoxinsLC-MS/MS · GC-MS/MSSOP-PES-011 r5
  • Residual solventsHeadspace GC-MSSOP-RS-006 r2
  • Heavy metalsICP-MSSOP-MET-002 r4
  • MicrobialsqPCR · plate countSOP-MIC-003 r6

All quality control samples required for this batch were run and met their acceptance criteria.

Analyst
D. Reyes, Analyst (fictional)
Reviewed and approved
A. Whitcombe, Laboratory Director (fictional)
Signed
2026-09-18 14:02

Results relate only to the sample as received. Reproduce this certificate only in full. Example limits: they differ by state.

A fictional lab, client and batch. Example limits; yours depend on your state.12 notes

The 12 notes

  1. 1Lab, license and accreditation

    What it is
    Who ran the tests, the state license that lets them report compliance results, and the ISO/IEC 17025 accreditation that says an assessor has checked their methods.
    What to check
    Look the certificate up in the accreditation body’s public directory and open the scope. Accreditation covers the tests and matrices listed there, not the whole lab.
    Common mistake
    Treating the accreditation line as blanket cover. A test outside the scope is not an accredited result, even from an accredited lab.
    Back to the certificate ↑
  2. 2Client, batch and sample

    What it is
    Whose product it is, the batch the sample came from, and the ID that ties this report to its chain of custody.
    What to check
    The batch number matches the package label and the track-and-trace record. Batch size and sample weight are printed.
    Common mistake
    Reusing one certificate for a later harvest or a repackaged lot. A COA covers the batch that was sampled, nothing else.
    Back to the certificate ↑
  3. 3Matrix

    What it is
    What the sample is: dried flower, here. The matrix decides which panels run and which limits apply.
    What to check
    The matrix matches the product, and the lab’s method is validated for that matrix (ISO 17025 clause 7.2.2).
    Common mistake
    Reading results against the wrong limits. In California, arsenic is capped at 0.2 µg/g for inhalable products and 1.5 µg/g for the rest.
    Back to the certificate ↑
  4. 4Sample history

    What it is
    When the sample was collected, received, tested and reported.
    What to check
    The lab received the sample promptly and tested it inside its hold times. For potency, check the report is recent.
    Common mistake
    Trusting an old potency number. In storage, THCA slowly converts to Δ9‑THC and THC oxidizes to CBN, so a months-old COA can drift from what is in the jar.
    Back to the certificate ↑
  5. 5Summary and overall result

    What it is
    One line per panel, and a pass or fail for the batch.
    What to check
    Every panel your state requires for this product appears, with a result. The overall pass covers only the panels that ran.
    Common mistake
    Reading NT as a pass. NT means not tested: a panel that never ran cannot fail.
    Back to the certificate ↑
  6. 6Potency: ND, <LOQ and the basis

    What it is
    Each cannabinoid as a percentage and in mg/g (1% is 10 mg/g). ND means not detected. <LOQ means the compound was seen, but below the level where the method can put a reliable number on it.
    What to check
    An LOQ for every analyte, and the basis printed: dry weight or as received.
    Common mistake
    Reading ND as zero, or <LOQ as absent. Both say only that the amount is below what this method can measure.
    Back to the certificate ↑
  7. 7Total THC and total CBD

    What it is
    Heat converts THCA to Δ9‑THC by stripping off CO₂, and what remains is 87.7% of the mass. So total THC = Δ9‑THC + 0.877 × THCA. Here: 1.80 + 0.877 × 23.47 = 22.38%.
    What to check
    The formula is printed, and the report says how results below LOQ enter a total. This one counts them as zero.
    Common mistake
    Adding THCA and Δ9‑THC straight (25.27% here), which overstates total THC by about 13%.
    Back to the certificate ↑
  8. 8Moisture and water activity

    What it is
    Moisture is the share of the weight that is water. Water activity is how much of that water microbes can use; Colorado and California both cap dried flower at 0.65 aw.
    What to check
    The basis. This report is on dry weight: dry = as received ÷ (1 − moisture % ÷ 100). At 11.2% moisture, 22.38% total THC dry is 19.87% as received.
    Common mistake
    Comparing a dry-weight COA with an as-received one. Water alone moves total THC by 2.51 points here.
    Back to the certificate ↑
  9. 9Pesticides and residual solvents

    What it is
    Screens against a state list. California lists 66 pesticides: some fail on any detection, the rest have action levels.
    What to check
    Each LOQ sits well below its action level, or a pass proves little. Which products need a solvent panel depends on the state: Colorado requires it for solvent-based concentrates, not flower. This sample ran it anyway.
    Common mistake
    Assuming every state screens the same compounds. A pass under one state’s list says nothing about compounds only another state lists.
    Back to the certificate ↑
  10. 10Heavy metals

    What it is
    Arsenic, cadmium, mercury and lead, measured by ICP-MS in µg/g (ppm).
    What to check
    Which limits were applied. The ones shown are Colorado’s and California’s for inhalable products. Washington’s arsenic limit is 2.0 µg/g, ten times higher.
    Common mistake
    Judging a result against another state’s limits. The same number can pass in one state and fail in the next.
    Back to the certificate ↑
  11. 11Microbials and mycotoxins

    What it is
    Pathogens reported as detected or not detected in a stated mass, total yeast and mold as a count in CFU/g, and aflatoxins and ochratoxin A in µg/kg.
    What to check
    The mass behind “not detected” (1 g here), and the units: mycotoxins are in µg/kg (ppb), metals in µg/g (ppm), a factor of 1,000 apart.
    Common mistake
    Assuming every state tests the same organisms. Colorado caps total yeast and mold at 10,000 CFU/g; California sets no yeast and mold limit at all.
    Back to the certificate ↑
  12. 12Methods, QC and sign-off

    What it is
    The instrument and procedure behind each panel, a statement that the batch’s QC samples passed, and the reviewer’s signature.
    What to check
    Each panel names its method, with LOD and LOQ; the report is signed and dated; an amended report says what changed and why.
    Common mistake
    Acting on a preliminary or unsigned result. ISO 17025 (clause 7.8) requires results to be reviewed and authorized before release.
    Back to the certificate ↑

Lab data & LIMS

A certificate is the last step of a data path. The errors on it usually start earlier.

A wrong total THC usually isn’t a typo on the certificate. It’s a result copied by hand from the instrument software, a template built for another state, or a moisture value that never reached the calculation.

We build COA systems where each result is entered once and the certificate comes from a template the lab owns. For one lab, that meant replacing a LIMS subscription with Google Sheets, Apps Script and an editable template.

See how we work on lab data and LIMS →

SourcesChecked 2026-09-28

The example limits on the certificate follow these rules for inhalable cannabis. They differ by state and they change: check your own regulator before you rely on a number. This page is not legal advice.

Next stepFree, no pitch deck

Stop retyping results into certificates.

Talk through the path from your instruments to your COA on a free 30-minute call.