Looking for treatment? Call or text (888) 835-9995 to start care today — or return to the homepage.
How long does heroin stay in your system?
Heroin is processed by the body extremely quickly — it is broken down within minutes of entering the bloodstream. The body converts it first into a short-lived substance called 6-MAM, and then into morphine.
Drug tests do not find heroin itself. They find what the body produces after heroin is broken down. These downstream substances are what remain detectable.
Morphine — the final product — is detectable in urine for about 1–3 days after heroin use. The intermediate substance, 6-MAM, is only detectable for about 2–8 hours.
How heroin shows up on drug tests
What tests actually find.
Basic drug screens are designed to find morphine. When someone uses heroin, the body converts it into morphine, which triggers a positive result on that screen.
The problem is that the test cannot tell where the morphine came from. A positive morphine result could mean the person used heroin, or pharmaceutical morphine, or codeine — or in some cases ate poppy seeds. The test sees morphine regardless of the source.
To confirm heroin specifically, a laboratory test can look for 6-MAM — a substance that only comes from heroin. But 6-MAM is only present for a few hours after use. If testing happens later than that, 6-MAM is already gone, and only morphine remains.
A positive morphine result on a basic drug screen does not prove heroin use. Only a specific test for 6-MAM — done within hours — can confirm heroin as the source.
Detection by test type
How long heroin is detectable by test type.
Urine — morphine (from heroin)
About 1–3 days. This is the primary marker that standard drug tests find after heroin use.
Urine — 6-MAM (heroin-specific)
About 2–8 hours. This narrow window means the heroin-specific marker is often missed unless the sample is collected shortly after use.
Blood
About 6–12 hours for heroin and its immediate breakdown products. Blood testing is mainly used in emergency and forensic settings — not routine screening.
Hair
Up to 90 days. Hair tests are uncommon in treatment and are mainly used in legal or forensic situations.
The current drug supply
Most street heroin now contains fentanyl.
In much of the United States, heroin sold on the street is mixed with fentanyl — or has been replaced by fentanyl entirely. Fentanyl is a different opioid that is far more potent and stays in the body much longer than heroin.
This means a person who believes they are using heroin may also test positive for fentanyl. Or they may test positive only for fentanyl, with no morphine present at all — meaning there was no heroin in what they used.
This matters for treatment. Fentanyl stays in body tissue longer than heroin, which can affect how and when Suboxone (buprenorphine) is started. See the fentanyl detection page for more on fentanyl testing, and the fentanyl treatment page for how this affects starting treatment.
What this means in treatment
How testing fits into care.
At MyStreetHealth, a positive result for morphine at the start of treatment is expected for patients who have been using heroin. It tells your physician what you have been using and helps guide how treatment begins.
Because of fentanyl contamination in the heroin supply, your physician may also test for fentanyl and adjust the plan accordingly. Results are part of an ongoing conversation — they help your physician understand what is happening and make the right decisions with you.
Heroin clears the body relatively quickly, which means starting Suboxone is often straightforward — usually within 6–24 hours of the last dose, once withdrawal symptoms have begun. Your physician will assess this during your first visit.
Sources
Where this information comes from.
Moeller KE et al. — Clinical Interpretation of Urine Drug Tests (Mayo Clin Proc, 2017)
How heroin is detected through its breakdown products, 6-MAM detection windows, and why morphine results require interpretation. Mayo Clinic Proceedings 2017;92(5):774–796.
MyStreetHealth serves
Virginia · Maryland · Washington DC · West Virginia · Ohio
Common questions
Frequently asked
How long does heroin stay in your system?
Heroin itself disappears within minutes. The substance the body creates from it — morphine — is detectable in urine for about 1–3 days.
Can a drug test tell the difference between heroin and morphine?
Only if the test includes a specific check for 6-MAM, a substance that only comes from heroin. Basic screens detect morphine from both sources without distinguishing them.
Does street heroin still contain heroin?
In many areas, fentanyl has largely replaced heroin. Some patients test positive for fentanyl only. This affects both how test results are read and how treatment is timed.
Also on this site