Recovery is possible. We are open 24/7. 866-797-7962

How Long Does Heroin Stay in Your System?

Medically Verified: 2/1/24

Medical Reviewer

Chief Editor

All of the information on this page has been reviewed and verified by a certified addiction professional.

Heroin is a highly addictive and illegal opioid drug that has no accepted medical use. It is often abused by people who have become addicted to other kinds of opioids and are searching for a cheaper, stronger high. People who are addicted to prescription opioids may be able to get away with failing a drug test for their prescription, however, the same cannot be said for heroin. Many people who abuse heroin are concerned about how long it will stay in their system and for how long heroin will be detectable on a drug test.

For most healthy people, heroin leaves the system in just a few hours, but it is detectable in the body for approximately 1-4 days.


How Long Do The Effects of Heroin Last?

Heroin is a fast-acting drug that produces a high that only lasts about 3-5 hours. The initial rush caused by heroin, however, only lasts a few seconds or minutes. While under the influence of heroin, people may experience a surge of euphoria followed by a calm, drowsy state. Individuals may have constricted pupils, nausea, flushed skin, and a heavy feeling in the limbs.[1] Even though these effects don’t last very long, heroin can be detected in the system for much longer.

Heroin is one of the shortest-acting opioids with an extremely quick half-life of about five minutes. However, heroin is metabolized into morphine and 6-acetyl morphine after entering the body. These metabolites produce opioid-like effects but have longer half-lives. The half-life of morphine is between 2-7 hours and the half-life of 6-acetyl morphine is between 5-25 minutes. It takes 4-5 half-lives for a substance to be eliminated from the body, so although the half-life of 6-acetyl morphine is short, the half-life of morphine is longer. With a half-life of 2-7 hours, morphine can be detected in the system for 10-35 hours.[2]

While the euphoric effects of heroin usually last less than an hour, the drug can be detectable on most standard drug tests for 1-4 days after use.

Dangers of Smoking Heroin

Side effects of heroin to the nose

How Heroin affects the Brain

Factors That Influence How Long Heroin Stays in Your System

Even though heroin is a fast-acting opioid, it can be detected in the body for days or weeks after use. The exact rate at which heroin leaves the body affects how long it will take until the drug is no longer detectable in drug screenings. The amount of time it stays in a person’s system depends on several different factors, including:

  • Length of heroin use
  • Frequency of heroin use
  • The potency of the drug
  • Method of administration (injecting heroin, snorting heroin, smoking heroin, etc)
  • Underlying health conditions
  • Age, weight, and metabolism
  • The use of other drugs and/or alcohol
  • Liver and kidney function

How Long Heroin Stays in Your Urine, Blood, Saliva, and Hair

There are four basic types of drug tests that screen for heroin: urinalysis, blood test, saliva test, and hair follicle test. Even if a person’s system has fully processed heroin, heroin’s metabolites may still be detectable for varying lengths of time on these tests. Here is how long people can expect heroin to stay detectable in their system based on the type of drug test.


The most popular and widely used type of drug test is called urinalysis. This is when individuals pee in a cup to provide a urine sample for analysis. This type of drug test is cheap, easy to administer, and effective. In general, heroin can be detected in urine 1-4 days after the last use.


Blood tests are rarely used due to the invasiveness of the procedure. They are primarily useful in the event of a traffic accident or to distinguish the difference between illicit opioid use and prescription opioid use for pain relief. However, heroin doesn’t stay in the blood for very long. It is only detected 5-6 hours after the last use.


Like blood tests, saliva tests cannot detect heroin for very long, so they are rarely used. Saliva drug screenings usually detect heroin for up to 5 hours after use.

Hair Follicle

Hair follicle tests are very accurate and can detect traces of drugs for months after they leave a person’s system. Due to the accuracy of these tests, they are becoming more popular. Heroin can be detected in the hair follicle for up to 90 days after the last use. However, in some chronic users, heroin is detectable in the hair follicle for more than three months.

Find Help for Heroin Abuse Today

Heroin abuse is extremely dangerous and addictive. If you or a loved one are struggling with an addiction to heroin, the time to get help is now. Give us a call today to learn about your heroin treatment options and get connected with a drug and alcohol rehab center near you.