BlogLab data & LIMS
How to Interpret Cannabis Testing Results
Published

Cannabis testing is how the quality and safety of a product gets checked, but the results can be hard to read, especially for a lab or a business new to the industry. This post explains the terms used on a certificate of analysis (COA), what the numbers mean, and how to compare results between labs or tests. To see a sample certificate laid out section by section, open the COA explorer.
Cannabis testing measures the chemical composition of a product: its cannabinoids, its terpenes and its contaminants. Reading the results starts with the terminology.
Potency
Potency is the concentration of cannabinoids such as THC and CBD. For flower and concentrates it’s reported as a percentage of the sample’s weight, usually with milligrams per gram beside it. If a sample contains 15% THC, 15% of its total weight is THC, which is 150 mg/g. Liquids are reported in mg/mL, and products add milligrams per package and per serving. California requires all of these on the COA (Cal. Code Regs. tit. 4, §15724).
The number most people read first is total THC. Raw cannabis contains THCA, the acid form of THC, which converts to THC when heated. Labs report:
Total THC = THC + (0.877 × THCA)
The factor 0.877 is the ratio of the two molecules’ masses, since THCA loses part of its mass as it converts. USDA’s hemp rule and state rules such as New Mexico’s use the same formula (7 CFR 990.1; 16.8.7 NMAC, Table 4). For example, a flower sample with 0.5% THC and 20% THCA has 0.5 + (0.877 × 20) = 18.0% total THC.
Terpenes
Terpenes are volatile compounds that give cannabis its aroma and flavor. Labs report them as a percentage, in mg/g or in parts per million (ppm); California requires percent and mg/g whenever a terpene test is run (tit. 4, §15725). If a sample contains 500 ppm of a terpene, there are 500 parts of that terpene for every million parts of sample. The units convert directly: 1% = 10 mg/g = 10,000 ppm, so 500 ppm is 0.05%.
For some people, potency and terpenes are all that matter at face value. If you want to know why the rest of the panel exists, read our post on the importance of cannabis testing.
Contaminants
Contaminants are substances that aren’t meant to be in the product and can harm health: pesticides, heavy metals, residual solvents, mycotoxins and microbes. Their results are small numbers in small units, so read the units before the number.
| Test | How it’s reported |
|---|---|
| Cannabinoids | %, mg/g or mg/mL; mg per package and per serving Total THC = THC + 0.877 × THCA |
| Terpenes (on request) | % and mg/g or mg/mL 1% = 10 mg/g = 10,000 ppm |
| Pesticides | µg/g; one group (Category I) only as detected or not 1 µg/g = 1 ppm = 1,000 ppb |
| Heavy metals | µg/g Limits differ for inhaled and other products |
| Residual solvents | µg/g The same scale as ppm |
| Mycotoxins | µg/kg 1 µg/kg = 1 ppb |
| Microbial impurities | Pass or fail Pathogens must be “not detected in 1 gram” |
Pesticides are compounds used to control pests, and they can harm health if consumed. California reports them in micrograms per gram (µg/g, the same as ppm), and some labs quote parts per billion (ppb): 0.1 µg/g is 100 ppb. For one group, Category I, California sets no limit at all: the sample fails if any of them is detected (tit. 4, §15719).
Heavy metals such as lead, arsenic, cadmium and mercury can come from the soil or the cultivation process. They’re reported in ppm (µg/g), and limits often differ by how the product is used: California allows 0.2 µg/g of cadmium in inhaled products and 0.5 µg/g in others (tit. 4, §15723).
Residual solvents come from extraction. Butane, propane and ethanol can be harmful if consumed in high enough quantities. They’re reported in ppm (µg/g).
Mycotoxins are toxins produced by molds. California reports them in micrograms per kilogram (µg/kg, the same as ppb) and passes a sample if the four aflatoxins together, and ochratoxin A, each stay at or below 20 µg/kg (tit. 4, §15721).
Microbial contaminants include bacteria, mold and yeast, and they can be harmful if consumed. Counts, such as total yeast and mold, are reported in colony-forming units per gram (CFU/g): Massachusetts, for example, sets its limit for total yeast and mold in plant material at 10,000 CFU/g (Cannabis Control Commission). Pathogens are reported differently, as detected or not detected in a set amount of sample. California passes a sample only if Shiga toxin-producing E. coli and Salmonella are not detected in 1 gram, and, for inhaled products, four pathogenic Aspergillus species as well (tit. 4, §15720). A microbial result can therefore be a plain “pass” with no number beside it.
Reading the fine print
ND means not detected: the analyte wasn’t seen above the method’s limit of detection (LOD). It doesn’t mean zero. <LOQ means the analyte was detected, but below the limit of quantitation, the lowest level the method measures reliably. California, for example, reports cannabinoids below its LOQ as “<1 mg/g”, and it spells out how labs calculate both limits (tit. 4, §§15724, 15731).
Comparing labs or tests. Two results for the same batch aren’t different just because the numbers differ. Every measurement has an uncertainty, and USDA requires labs to report it with every hemp THC result (7 CFR 990.25). California treats a label claim as accurate if it’s within “plus or minus 10.0%” of the COA (tit. 4, §15724). Compare results in the same units, from the same kind of sample, with their uncertainty in view.
The short version
Potency and terpenes come as percentages, mg/g or ppm. Contaminants come in ppm, ppb or µg/kg. Microbials come as CFU/g or as pass and fail. Read the units, the limits and the fine print before you read the number.
If the numbers on your COAs are copied by hand from instrument software into a spreadsheet, that’s a lab data problem, and it’s one we fix: see Lab data & LIMS. If it’s the instrument that won’t give you a number you trust, see Instruments & methods.
