Specialty Testing Guide › Heavy Metals Testing
Which is better for heavy metals, a blood, urine or hair test? It depends on the metal. Blood is the standard test for lead and the best general check for mercury from fish. Urine is the usual choice for arsenic and for inorganic mercury. Hair is not reliable for measuring metal burden and should not be used to diagnose metal toxicity.
No single specimen covers every metal well. A useful test starts with a question: which metal, from which source, and how recently. The answer to that question points to the specimen.
Key takeaways
- Lead is measured in whole blood, and urine is the wrong specimen for judging lead exposure.
- Urine suits arsenic and inorganic mercury, though recent seafood can push total arsenic up harmlessly.
- Hair mainly reflects mercury from fish and is too inconsistent between labs to judge other metals.
- Most blood and urine results describe recent exposure, so timing and history shape what a number means.
Why the specimen matters
Each metal moves through the body in its own way. Some stay in red blood cells, some are filtered quickly into urine, and some settle into bone or kidney. A large 2023 review of metal biomarkers concluded that not all of them are adequate measures of exposure, and that interpreting a result depends on how the body processes and clears that metal.1
Timing matters as well. Most people are exposed to small amounts over many years, but many blood and urine tests mainly show what happened in the past days to weeks. A normal result after you have left a job with lead exposure does not tell you what your levels were while you worked there.
Blood, urine and hair compared
| Specimen | What it mainly reflects | Best used for |
|---|---|---|
| Whole blood | Recent and ongoing exposure; metal circulating now | Lead (the standard test), methylmercury from fish, cadmium |
| Urine (spot or 24-hour, unprovoked) | What the kidneys are clearing | Arsenic (with speciation after seafood), inorganic and elemental mercury |
| Hair | Mostly organic mercury, plus anything on the hair surface | Research on fish-related mercury; not for diagnosing toxicity |
| Provoked urine (after a chelating drug) | An artificial spike caused by the drug | Not recommended for diagnosis |
Blood: the standard for lead and fish mercury
Whole blood is a good biomarker for arsenic, cadmium, lead and mercury, according to the same review, and urine should not be used to assess lead exposure.1 That is why workplace and public health thresholds for lead are set in blood lead units.
For mercury, blood mostly reflects methylmercury, the form found in fish. If you eat sport fish, Pennsylvania's general advice is no more than one half-pound meal per week from state waters, and some lakes and streams have stricter limits.2 A blood mercury result makes most sense read alongside how much and what kind of fish you eat.
Urine: arsenic and inorganic mercury
Urine testing is commonly used to assess exposure to arsenic and inorganic mercury.3 These forms come from sources such as mercury vapor at some workplaces, dental fillings and some skin-lightening creams.
Urine has two well-known pitfalls. First, total arsenic includes harmless arsenic from fish and shellfish, so a high total needs speciation, a test that separates the forms. Second, a spot urine sample can be dilute or concentrated, so labs usually adjust results for creatinine.4 A 24-hour collection avoids some of that variation but is harder to do well.
Hair: why it is unreliable
Hair is easy to collect, which is why it is popular with direct-to-consumer labs. The problem is consistency. When one hair sample was split and sent to six commercial labs, results for the same minerals differed more than tenfold, and the labs gave conflicting high, normal and low ratings.5
Hair also picks up metals from outside the body, from dust, water, dyes and shampoos, and a lab cannot tell that apart from what came from inside. Researchers who reviewed patients told they had metal toxicity from hair panels pointed to low lab reliability and a higher chance of false positives when many metals are measured at once.6 Hair does have a research role for fish-related mercury, but it is not a basis for treatment.
How a clinician chooses
A clinician starts with your exposure history: home age, water source, job, hobbies, diet, remedies. That history decides which metal is plausible and therefore which specimen to use. The clinic's heavy metals test is an unprovoked add-on at $89; ask our team which specimen it uses and which metals it reports, so you can see whether it fits the exposure you are worried about. If your question is lead, a standard blood lead test is the right tool.
Next step
If you are deciding whether to test, Preparing for a heavy metals test covers seafood, supplements and timing. For everything else on this topic, see the heavy metals testing hub.
Frequently asked questions
Can a urine test check for lead?
Not reliably. A large review of metal biomarkers advises against using urine to judge lead exposure. Blood lead is the standard test.
Is a 24-hour urine better than a spot sample?
It can be, because it smooths out changes through the day. It is also easy to collect incorrectly. A creatinine-adjusted spot sample is often good enough; your clinician will say which suits your situation.
Why do some practitioners still use hair tests?
Hair is painless to collect and cheap to send. Convenience is not accuracy, though, and studies of commercial hair labs have found results too inconsistent to guide care.
Related reading
This article is for general education and is not medical advice. Decisions about testing and treatment should be made with your clinician. If you have severe symptoms, call 911. For a suspected poisoning, call Poison Control at 1-800-222-1222.




