How to Read a Certificate of Analysis (COA) for Peptides
A certificate of analysis is the most-cited and least-read document in the research peptide world. Almost every product page links to one; almost nobody reads past the big percentage at the top. The gap between “has a COA” and “has a COA that says something” is where most of this field’s quality problems live.
This page works through one line by line: what each field means, what each method proves, how to read the chromatogram and mass spectrum, and what a COA cannot tell you however well produced.
Research use only. These are research chemicals; most are not approved for human use in any jurisdiction. Nothing here is medical advice, dosing guidance, or an endorsement of any supplier. Reading a COA is document literacy, not a safety clearance.
What a COA is — and what it is not
A COA is a test report: a lab received a sample, ran defined methods against it, and reported what the instruments produced. That is the whole scope, and four consequences follow:
- One sample. The lab tested the tube it was sent, not the batch — and usually cannot know how representative that tube was.
- One lot. Results apply to the printed lot number and nothing else.
- One point in time. Peptides degrade — hydrolysis, oxidation of methionine and tryptophan, deamidation of asparagine and glutamine, aggregation. Purity is a snapshot on the test date.
- Only the tests listed. A COA showing HPLC purity alone is silent on water, counter-ions, solvents, elemental impurities, endotoxin and sterility. Silence is not a pass.
It is also not a regulatory approval or a safety assessment. USP General Chapter <1503>, which sets out what a pharmaceutical-grade peptide specification covers, lists identity, content, related substances, residual solvents, elemental impurities, water, counter-ions, endotoxins and microbial limits. Most research-market certificates test two. Knowing which are absent is half the skill.
Anatomy of a COA, field by field
| Field | What to check |
|---|---|
| Product / analyte | Exact match, salt form included (acetate vs TFA). “Peptide sample” is weak. |
| Lot / batch number | Present and matching the vial. No lot number, no link to anything. |
| Sample ID | The lab’s job number — the reference you would quote to have it confirmed. |
| Requesting party | Self-commissioned testing is normal, just not independent. |
| Manufacture, analysis and report dates | Three distinct, plausible dates. Analysis before manufacture is disqualifying. |
| Testing laboratory | A named, contactable organisation with an address. Labs seen in this market include Janoshik Analytical, MZ Biolabs and Colmaric Analyticals; what matters is that the name is real and reachable. Naming a lab is not an endorsement of it. |
| Methods | Technique, wavelength, ideally column and gradient. “Tested by HPLC” is a headline. |
| Results and conclusion | Units on every result, specification alongside. A pass with no limit to compare against is circular. |
| Signature | Named analyst or QC officer. Unsigned means nobody is accountable. |
| Attached raw data | Chromatogram and mass spectrum. A summary table is typed; a trace is not. |
HPLC: where the purity number comes from
Purity almost always comes from reversed-phase HPLC, or higher-pressure UPLC. The sample is injected onto a column and separated as a solvent gradient carries components off at different times; a UV detector records absorbance against time, giving the chromatogram.
The detector sits in the 210–220 nm region, most often 214 or 220 nm, because the peptide bond itself absorbs strongly there — so it responds to peptidic material generally, not only to peptides with aromatic residues, which is what a 280 nm detector sees. Software then integrates every peak:
Purity (%) = (main peak area ÷ total area of all integrated peaks) × 100
This is area normalisation: a ratio of UV absorbance areas, not a measurement of mass, concentration, or how much peptide is in the vial.
What “99.1% purity” does not mean
- Nothing about the identity of the other 0.9%. Those peaks could be truncated or deletion sequences, oxidised variants, or something else. Certificates itemising impurities with retention times are far better.
- Non-absorbing species are invisible. Water, salts, bulking agents and counter-ions contribute essentially nothing at 214 nm — they are not in the denominator.
- Non-eluting material is invisible. Anything not coming off the column within the gradient cannot be integrated.
- Co-eluting impurities inflate the number, folded into the main peak area.
- Equal response per unit mass is assumed — fair for peptidic impurities, poor otherwise.
Mass spectrometry: the identity check
HPLC tells you how much of the UV-absorbing material is one thing. Mass spectrometry tells you what that thing is, by measuring molecular mass and comparing it against the mass calculated from the intended sequence. ESI-MS sprays the sample from solution, produces multiply charged ions and couples naturally to an LC system; MALDI-TOF produces predominantly singly charged [M+H]+ ions, easier to read directly.
Why m/z is not the molecular weight
A mass spectrometer measures mass-to-charge ratio, not mass. For a peptide carrying z protons, m/z = (M + z × 1.008) ÷ z. One compound therefore appears as a family of peaks — a charge envelope — none of which equals its molecular weight. Worked example, semaglutide (C187H291N45O59, average mass ≈ 4113.58 Da):
| Ion | Calculation | Expected m/z |
|---|---|---|
| [M+H]1+ | (4113.58 + 1.008) ÷ 1 | ≈ 4114.6 |
| [M+2H]2+ | (4113.58 + 2.016) ÷ 2 | ≈ 2057.8 |
| [M+3H]3+ | (4113.58 + 3.024) ÷ 3 | ≈ 1372.2 |
| [M+4H]4+ | (4113.58 + 4.032) ÷ 4 | ≈ 1029.4 |
Someone expecting “4113” and seeing peaks at 1029, 1372 and 2058 has not found the wrong compound — they have found the right one, charged three ways. Software normally reverses this and prints a single deconvoluted mass, which is what a good COA shows.
Monoisotopic versus average mass, and tolerance
Two correct masses exist for one molecule. Monoisotopic uses only the lightest isotope of each element; average uses natural isotopic abundance and is heavier, because roughly 1.1% of carbon is 13C. Small peptides on a high-resolution instrument resolve individual isotopes, so monoisotopic is the meaningful comparison; past a few kilodaltons the cluster stops resolving and average mass becomes practical. A mismatch of a couple of daltons is often just this.
There is no universal tolerance — accuracy is a property of the instrument, time-of-flight analysers commonly reaching low-ppm while simple quadrupoles are far looser. Expect agreement within a few daltons for a peptide of a few kDa; treat tens or hundreds as meaningful. Specific gaps are informative: +16 Da suggests oxidation, +1 Da deamidation, a residue-sized deficit a deletion sequence.
Reading the chromatogram itself
- Baseline. The flat line when only mobile phase passes the detector. Heavy drift or noise makes the integration above it unreliable.
- Retention time. A weak, method-dependent fingerprint — but under a fixed method it should be reproducible across lots.
- Peak shape. Roughly symmetrical is healthy; severe fronting or tailing makes integration boundaries debatable. USP <621> sets a default symmetry (tailing) factor window of 0.8–1.8 for the quantifying standard peak, and individual methods set their own limits — treat any single range as a guideline, not a rule.
- Impurity peaks. Look immediately before and after the main peak — synthesis impurities often elute close to the target.
- Integration marks. Good reports show where the software drew the boundaries; a baseline excluding an awkward shoulder is visible.
- Run length. A gradient ending just after the main peak never shows late-eluting impurities.
Reading the mass spectrum
- Find the expected mass; note monoisotopic or average, free peptide or salt.
- Find the observed or deconvoluted mass and compare — applying the charge-state arithmetic first if only raw m/z is given, and checking for a sensible envelope on ESI or a dominant [M+H]+ on MALDI.
- Expect adducts: peaks roughly +22 and +38 Da above the protonated species are sodium and potassium, not impurities.
The tests nobody reads
Net peptide content: the 10 mg vial that is not 10 mg of peptide
A vial labelled “10 mg” contains 10 mg of powder — peptide plus everything that co-lyophilised with it: bound water, counter-ions, residual salts, bulking agent. Net peptide content is the percentage of that gross mass which is actually peptide: a different quantity entirely from HPLC purity, a ratio among UV-absorbing species only.
The two are independent — a sample can be 99% pure by HPLC and still be well under 90% peptide by mass. The figure depends on salt form, basic-residue count and drying, so it cannot be inferred from a purity number; the only way to know is if the certificate reports it, and usually it does not. It is measured by quantitative amino acid analysis, elemental nitrogen content, or UV against a standard.
Water content by Karl Fischer titration
Karl Fischer measures water specifically, via the stoichiometric reaction of iodine and sulfur dioxide with water — which is why it beats loss-on-drying, which cannot distinguish water from other volatiles. Volumetric KF adds iodine as titrant; coulometric KF generates it electrochemically and is the usual choice for lyophilisates, being more accurate at low water levels (USP <921>). Water is both non-peptide mass and the driver of hydrolytic degradation in storage.
Counter-ion content: acetate and TFA
Synthetic peptides are salts. Basic sites — the free N-terminus and the arginine, lysine and histidine side chains — carry a counter-ion, and because RP-HPLC purification typically uses trifluoroacetic acid as ion-pairing agent, peptides emerge as TFA salts unless exchanged to acetate or chloride. That counter-ion is real, weighed mass: TFA’s molecular weight is about 114, acetic acid’s about 60. A 3000 Da peptide carrying three TFA counter-ions gains roughly 342 Da of counter-ion mass — about 10% of the total, none of it peptide, and none of it in the purity figure, because it elutes unretained with the solvent front rather than as an integrated peak (USP <503> and <503.1>).
Sterility and endotoxin — only if claimed
Any sterility or endotoxin claim needs its own report: a bacterial endotoxin (LAL) test under USP <85>, a sterility test under USP <71>. An HPLC-and-MS certificate says nothing about microbiological quality.
How to read a COA in five minutes
- Match the lot number to the physical vial. No match, no information.
- Check the three dates for consistency and plausible age.
- Identify the laboratory; confirm it is real and contactable.
- Confirm both tests are present: HPLC purity and a mass spectrometry identity result.
- Read the MS result: expected versus observed, monoisotopic versus average, charge states if only raw m/z is given.
- Read the purity result: the wavelength, and whether impurities are itemised.
- Open the chromatogram: baseline, peak shape, nearby impurities, integration marks, run length.
- Check what is missing — net peptide content, water, counter-ion, endotoxin. Absent tests are open questions, not passes.
- Find the specification and the signatory. A result with no limit beside it is a number, not a conclusion.
Substantive report versus decorative PDF
| Substantive certificate | Decorative certificate |
|---|---|
| Lab named, with address and contact route | Unnamed lab, a logo only, or “tested in an accredited facility” |
| Lot number matching the product | No lot number, or one reused across many products |
| Chromatogram and mass spectrum attached | Summary table only, or a blurry cropped image |
| Technique, wavelength, column, gradient stated | “HPLC: 99.9%” |
| Purity and identity, impurities itemised | Purity alone, to implausible precision |
| Signed; lab can confirm the reference | Unsigned, with no route to verification |
Honest limits
- Sampling. The lab cannot verify that the tube came from the labelled lot, that the lot was homogeneous, or that your vial was filled from the same material. Everything upstream of the bench is trust, not evidence.
- Time. A figure from the analysis date is not a statement about the material today.
- Scope. HPLC and MS answer “how much” and “what” — not sterility, endotoxin, net peptide content, solvents or elemental impurities.
- Documents are cheap. PDFs can be edited, and the only strong verification runs back to the issuing lab — a route that does not always exist.
- Independence. Most COAs here are commissioned by the seller: normal practice, but not third-party verification.
The goal is not certainty but calibrated confidence: knowing which questions a document answers, which it leaves open, and refusing to let a large number in a bold font stand in for the rest.
Is 99% purity meaningfully better than 98%?
Less than the numbers suggest. Both sit within the run-to-run and lab-to-lab variability of chromatographic purity, and both depend on integration choices, gradient and wavelength. What the impurities are matters more than the last percentage point.
The mass spectrum shows several peaks and none matches the molecular weight. Wrong compound?
Probably not. On ESI a peptide appears as multiply charged ions at m/z = (M + z × 1.008) ÷ z, so a 4000 Da peptide shows peaks near 2001, 1334 and 1001, not at 4000 itself. Work out the charge states first.
Why do purity and net peptide content differ so much?
HPLC purity is a ratio among UV-absorbing species: what fraction of detected peptidic material is the target. Net peptide content is a ratio of masses: what fraction of the powder is peptide at all. Water, counter-ions and salts are invisible at 214 nm but present on the balance.
Does a COA mean the material is safe?
No. It reports the results of the tests performed, nothing more — not a toxicological assessment, not a regulatory approval, not a fitness-for-use statement. These are research compounds, most not approved for human use.
Sources & Further Reading
- USP <1503> Quality Attributes of Synthetic Peptide Drug Substances
- USP <503> Acetic Acid in Peptides
- USP <503.1> Trifluoroacetic Acid (TFA) in Peptides
- Bachem — Quality Control of Amino Acids and Peptides
- Sigma-Aldrich — Determination of Water Content in Lyophilisates Using Karl Fischer Titration
- Pharmaceutical Technology — Residual Moisture Testing Methods for Lyophilized Drug Products
- Chemistry LibreTexts — ESI-MS Data: charge states and deconvolution
- Strupat — Molecular Weight Determination of Peptides and Proteins by ESI and MALDI
- Purity determination of synthetic glucagon using a mass balance approach
- Reference Standards to Support Quality of Synthetic Peptide Therapeutics