SteroidPlotter is the leading steroid cycle planner on the Web. Plot graphs and calculate levels for Anabolic Steroids, TRT & Peptides based on dosage & half-life.

Use our steroid plotter to plan and plot your cycle or protocol and share it with friends. You can start from scratch or get started by using one of our preset examples in the list below. You can include anabolic steroids, peptides, and pharmaceuticals.


Example Protocols

Click to view the protocol with graph.


Plot Your Protocol








NOTE: We aim to make our calculator as useful as possible based on publicly available studies and data. However, there are significant limitations, assumptions are made, and a simplified pharmacokinetic model is used. The half-lives and pharmacokinetic variables used are estimates and will differ between individuals. This tool is for entertainment only and should not be used to make medical decisions. Always consult a healthcare professional before altering any medication regimen. This calculator and its content are not medical advice. Use at your own risk.


Notes:

  • Where possible, we obtain the elimination half-life (t1/2), peak concentration (Cmax), time to peak (Tmax), and bioavailability (F(%)) of included compounds from peer-reviewed scientific studies.
  • Sometimes, certain pharmacokinetic values are less easy to ascertain. In these cases, we have to make assumptions to estimate these values, which will not accurately reflect the behavior of these compounds in real-world scenarios.
  • Pharmacokinetic data and studies/sources used for compounds used in the plotter application are included below.
  • Please visit our FAQs page for the most frequently asked questions we receive about the SteroidPlotter website & application.

Pharmacokinetics & Sources:

We are currently maintaining a Google Sheet listing current pharmacokinetics and sources. This sheet is a work in progress and will be ported to the website once completed.


If you have any feedback or suggestions or want to see a new compound added, please do not hesitate to contact us in our Telegram group.

194 thoughts on “”

  1. ***Add on to my comment from a few mins ago. I also ran a 40mg Test Cyp 1x/3.5day and had to set the slider to 51% to get values that the plotter would return prior to the slider being added. Something is definitely out of whack. Seems its also not scaling linearly (maybe that was intentional?)

    Side note, I’d love to contribute a few $$ to help the project, especially given that you are working to implement a feature I asked for! Unfortunately, I don’t operate with crypto. (I know, should probably get on board, lol)

    Reply
    • The model is still the previous non-regression version and it should scale linearly now (and seems to from testing unless we have missed something). Your dose from previous comment still peaks just over 1500.

      Could you test using the same dosing intervals to confirm as peaks and troughs will change with different intervals? Maybe try to clear cache or a different browser if it looks like something is still up.

      Ideally we want to scale non-linearly but getting a model to do this correctly will take a while to get working.

      Thanks also for considering contributing and no worries, we may look into other donation options at some point.

      Reply
      • Just tried clearing all cookies and also using a different browser. Still getting the same results from my last 2 comments. I tried a handful of combinations of test cyp dose/freq that I had previously written the plotter results down from (few months ago).

        It’s definitely not returning the same values as before the slider was added. They are significantly lower, and not by an even percentage. I ran all of these with the slider at zero, and then moved the slider up to find the point in which it would return that same pre-slider value.

        Reply
        • From the changelog:

          • 2024-10-15 – Testosterone cypionate and enanthate do not currently use the linear regression model due to issues at lower doses. This will be improved and reimplemented at a later date.
          • 2024-10-17 – A new slider was added to adjust levels up or down by a specific percentage. This is useful if you know you respond differently to a particular compound so you can account for your individual variation.

          I think you are likely seeing the different levels since removing the linear regression model. This was in effect since 2024-03-22 so anything you’ve plotted since then will now look different. Changes are not ideal but issues with the LR weren’t apparent until recently so we were forced to backpedal.

          Reply
          • Ah. Interesting. I believe the numbers I had recorded would have been probably June-Aug, this year. I did not realize the big change on 10/15. It really does make a HUGE difference. I’ll keep an eye out for further updates and just use the current stuff for visual reference, as opposed to numerical reference. Thanks for playing along with me. Cheers!

          • any chance you could include tesofensine in the weight loss category? it has a long ass half life and makes plotting interesting.

  2. I think something may be off kilter again. I just ran it for Test Cyp, 100mg 1x/7days and it is plotting with roughly a peak of 660, trough of 515. This is with the slider at 0%. Previously (when we understood it to be working properly) it would report approx 903-707 for the same dose.

    It’s possible that I am misunderstanding the intended use. I expected the “0%” on the slider to return the same result as the calculator would before the slider was installed, and then be able to adjust from there. Essentially the 0% being at or near the most common concentration response that the average person might expect from a given dose.

    As it sits now, I had to set the slider to 37% in order to get a similar result to what the plotter would return prior to the slider being installed. Thank you for your work on this. We genuinely appreciate it.

    Reply
  3. Just a few days ago, my TRT protocol showed something radically different than what it does today. Test was set to 400 mg, Cypionate, once every 3 weeks. It originally showed peaks at 1850 with a low of 350ish. Now it shows a peak of 1250 and a low of 250. Did something change?

    Thank you for all the work you guys do!

    Reply
      • I don’t think your bug has been fixed. The values that the calc is giving me now are much lower than what it always puts out.

        Reply
        • The peak should now show just over 1500 at that dosage. We removed the linear regression model for cyp two days ago due to various bugs it had introduced (https://steroidplotter.com/changelog). Hoping to get a new regression model working at some point but we need to ensure it’s stable and works across a variety of dose ranges/combinations/protocols.

          Reply
          • Everything is looking back to normal now. Plus I see that there is a level adjust slider. Thats great! It is exactly what I suggested a few months ago. Cheers!

          • Side note, you may want to expand the range past +-100%. I can say, for example, when I personally am on 100mg Test cyp taken once/week, my trough comes back right at 1100ng/dl. Thats still north of the 100% of the slider.

          • Glad to hear it’s proving useful and thank you for the initial suggestion! We will look at extending the range soon.

      • Are the new values correct then? The issue I see is Enanthate is showing to bring levels up higher than cyp by 25% and I can’t understand why that would be the case in steady/regular dosing. Cyp just looks out of calibration now.

        Reply
  4. Thank you for your efforts, it helped me immensely on my TRT journey.
    Would you consider adding additional functions, like rules of thumb for E2 ratios, sbhg basic empirical benchmarks?

    how can I contribute to this project, do you have a crypto wallet or paypal?

    Reply
    • Hi Miguel. Thanks for your support. We’ve added some crypto wallets to the footer should you wish to contribute. Many thanks in advance if you choose to do so.

      Regarding additional functions. What did you have in mind exactly? We could add an option to plot an “optimum” E2 level against Testosterone levels but there is much debate on what this ratio is. Maybe a user-chosen ratio would do?
      As for SHBG, what do you mean exactly? There is a huge variation in natural levels and taking AAS can often effect SHBG levels quite drastically.

      Reply
      • Thanks, I sent $50 of BTC to help out with the project.

        I don’t have anything in particular in mind, I was thinking of it from the perspective of the new trt user, e.g. test at trough should be around or less than 1000 ng/dl to avoid long term complications according to a paper. But for example I am not sure what the adequate free T ratio should be.
        Another is the other example of T:E2:DHT from the youtube of Dr Robert Stevens (TheMensHealthClinic.co.uk). But I am a older and don’t really have the time to digest the thousands of youtube videos that summarize some rules of thumb.
        This came to mind, because you have the calculator of free T based on albumine that I didn’t realise it was related.

        Reply
        • Thank you very much for contributing, Miguel!

          I will have a think about your suggestions and see if there’s something we can integrate for new TRT users.

          Reply
  5. Hi again. I suspect there is a flaw in the methodology of the study by which you ascertained that Test Deca has a half life of 5.6 days. Before even considering the paper, let’s reflect on the well known public knowledge that ester length goes from—shortest to longest—propionate, enanthate, cypionate, decanoate and finally undecanoate. It’s just known. *Nobody* would ever say that nandralone decanoate has a shorter half life then testosterone enanthate.

    But your spreadsheet presents data on which this model rests stating that Test Deca has a shorter half life than Test Enanthate, when no reasonable person would argue that decanoate is shorter than enanthate.

    The study you cited:
    https://sobraf.org/wp-content/uploads/2020/09/Desregula%C3%A7%C3%A3o-do-Eixo-HPA-Detec%C3%A7%C3%A3o-de-testosterona-s%C3%A9rica.pdf

    They garnered their data from looking at Sustanon—a composite of four different esters. This is such a flawed approach. If they were to draw conclusions about how long each form is present in plasma, I’d argue they needed to get the isolated compounds. I don’t trust their measurements had the precision to ascertain the individual life lives of different Sustanon esters in plasma. What supports this?

    It’s proposterous that this one humble study discovered that decanoate is a shorter ester than enanthate. People who take deca know it takes a loooong time to saturate.

    Thanks for all you do. I will look for other sources on Test Deca’s half life as I think this needs updating. Will keep you posted.

    Reply
    • There are a few sources citing around 6 days of half life for Decanoate. If you have a better source we can check out then please do provide it.

      Reply
      • I mean decaonate is the same ester of decadurabolin, why nandrolone decaonate would differ so much from testosterone decaonate? it doesn’t. it’s clear that your assumption is wrong steroidplotter.

        Reply
  6. Hi there. Thanks for all that you do.

    The older calculate I used just weeks back would have it so that calculating my change from 87.5mg Test Enanthate per week to 90mg Test Decanoate per week would overall lower my serum level — most likely because the ester itself on Test D accounts for more of the total weight than Enanthate’s ester. The new calculator shows that 90mg Test D per week RAISES my total serum level. This threw me a loop as I was prepared to make the adjustment. It’s also confusing, as it has that I need to lower to 70mg Test D per week to match the serum levels of 87.5 Test E per week. This seems backwards, as if the ester of Test D is heavier than Test E, you’d need MORE of it to match the same levels — which the old calculator showed.

    Curious if you have any thoughts what’s going on here. Have a great day.

    Reply
  7. Infinitas gracias por el tiempo dedicado al desarrollo de este sitio. Ojalá nunca deje de actualizarse. Es una joya que hace la vida alegre. Los que amamos el mundo de la química valoramos esto de manera superlativa.

    Reply
  8. Hello, thanks very useful. For testostetone (C and E), why not ask between IM and SUBQ injection method? The delivery is different and the spikes should be lower on SUBQ.

    Reply
      • Don’t know how many studies there are with accurate information on this subject. I’ve heard from various doctors that subq cyp is a more sustained release and is used to treat those hypersensitive to aromatization as well as it is thought to further mimic natural production with a similar dosing schedule.

        Reply
        • My experience with Cyp, Eanthate and sustanon subQ is terrible… gave a me a local rash for a week. Lots of people does not have that, but if you are skin sensitive to wether vehicle (usually peanut oil is the worst) or the solvent (guayacol is a bitch) it will be quoet unpleasant. After trying several frequencies and compounds what worked best for me was test enathate every other day anternating delthoids (shallow intra muscular shot using a 15×0.50mm or 13×0,30mm needle). In my case I use only TRT doses now, but even for slightly suprafisiological doses (250mg a week) in the past it worked quiet well.

          Reply
  9. It doesn’t work properly bro. Try with 1 mg, 5 mg, 10 mg Test E. It will always show the levels at 300-400 ng/dl, which is impossible for such small amounts of test. Please fix this. It has been going on for months now.

    Reply
    • We currently have some issues with linear regression on Test C and Test E which shows higher levels than appropriate at very low doses. Hoping to get this resolved soon.

      Reply
  10. Hello, curious if the levels are accurate. Women tend to start TRT at a dose of like 5mg twice a week and get levels 100-150ng, this is showing over 300?

    Reply
    • We currently have some issues with linear regression on Test C and Test E which shows higher levels than appropriate at very low doses. Hoping to get this resolved soon.

      Reply
  11. Fantastic resource for all of us who always wondered, but found using a pen, paper and calculator too difficult. I just found out about you today, and the funny thing is that I have here now right in front of me a notebook where I had calculated (yesterday) exactly how the amount of EQ in my body would rise over time based on a 14 day half life. So I did that, but after punching in the numbers for Test enanthate and Equipoise into your Steroid Plotter I received back a very futuristic looking & sexed up, much better overview of what my usage would mean in the real world. I don’t think I’m going to be using my calculator to work out my cycles anymore-your site is #1 and with your graphs you make the whole think nearly as exciting as my first ever cycle. THANKS!

    Reply
  12. Hi. I get considerably different graphs if i compare two separate inputs of 250 mg test c on the same day compared to a single 500 mg shot of test c on that day. 2 x 250 gives roughly 50% greater numbers than 1 x 500, which by my math is in fact quite incorrect 😀

    Reply
  13. Hello, thanks for such an amazing calculator!

    I’m a little confused about Masteron propionate vs enanthate.
    Comparing ED dosing of Test prop vs enanthate shows a higher consideration of test prop. But comparing ED dosing of Mast prop vs enanthate, shows a much higher consentration of enanthate. Is this accurate, even though propionate is lighter than enanthate, thus more Mast per mg with prop?

    Test: https://steroidplotter.com/?c1=steroids&m1=testosterone&g1=propionate&o1=0&d1=50&f1=1&e1=8&q1=1&p1=false&c2=steroids&m2=testosterone&g2=enanthate&o2=0&d2=51&f2=1&e2=8&q2=1&p2=true&l=8

    Mast: https://steroidplotter.com/?c1=steroids&m1=masteron&g1=propionate&o1=0&d1=50&f1=1&e1=8&q1=1&p1=false&c2=steroids&m2=masteron&g2=enanthate&o2=0&d2=50&f2=1&e2=8&q2=1&p2=true&l=8

    Appreciate your insight!

    Reply
    • Hey and thanks for the comment. Unfortunately there is a bit of mix and match between the compounds/esters and algorithms used to calculate levels based on available data.

      For now, we look for studies using the specific compound and ester to get half-life and pharmacokinetic data. If additional data is available, we use a more complex and accurate model, but this isn’t always the case so we fall back to a simplified model in some cases.

      We may simplify the approach at some point, but it’s not currently clear if different compounds behave exactly the same when attached to the same ester and I suspect this is not the case.

      You can view the list of studies used and the associated pharmacokinetic data on our Google Sheet which is linked to from the homepage. Hope this helps.

      Reply
    • Hi Dale,
      That is because testosterone is not as metabolic resistant than Masteron. Hence, Testosterone tends to be the subject of degradation pathways much more rapidly once it has been broken away from its ester.

      Like wise, when you compared Trenbolone Enanthate with Testosterone Enanthate, Trenbolone appears to maintain a much better steady state serum concentration, for the same reason I mentioned above,

      Reply
  14. Hello!! Thanks for the excellent steroid calculator!!
    How can the calculator implement the possibility of switching from nandrolone phenylpropionate to decanoate, so that the background is even?
    The same with testosterone undecanoate and enanthate. I take enanthate Wednesday evening /Sunday morning (every 3.5 days). I have to go on vacation for 2 weeks, and there is no way to take an enanthate with me. How much do I need to take undecanoate and calmly go on vacation, and upon arrival, how do I return to my enanthate dosages?
    Please add the option to choose the reception only by days of the week!!
    Thank you again!!

    Reply
    • You can quite easily switch between compounds in the calculator. Simply stop one for n weeks and start the other. You can overlap if required. To dose on specific days you can, for now, simply use the offset function to shuffle a weekly dose to a specific day. Hope that helps.

      Reply
  15. New calc looks good! It would be awesome if we could adjust the concentration scale based on a known test result. This takes into account how different people react to different dosages. For example, lest say you are already on a cycle of Test Cyp 100mg, once every 7 days. The plotter shows a trough of approx 700ng/ml. But when you get your bloodwork done, you find that your trough is closer to 500ng/ml. It would be cool to be able to choose an offset for that concentration scale by 200ng/ml to have it align with your known result, so that you could more accurately project dosage changes and likely outcomes. Of course we can do this math by hand, but would be a cool feature for the plotter.

    Reply
    • Nice idea. We will look into adding a multiplier option so that users can push the results up or down by a specific percentage.

      Reply
  16. You’ve broken a calc that used to actually work for models that have completely wild assumptions that won’t match 99% of real life case scenarios. The switch from mg/day to actual blood concentration is already stupid by itself, but you even went back to a SEVEN DAY half life for testosterone enanthate when the previous version had it right at 4.5, basing your results on a SUBCUTANEOUS INJECTION STUDY instead of the old “Comparative pharmacokinetics of testosterone esters” with actual IM values. And then you have tren E at 11 for… reasons….

    Can you at least offer a link to the old calc somewhere? This is useless.

    Reply
    • Sources to all studies used are in the Google Sheet linked to from the homepage. No, they won’t reflect real world scenarios for everyone and we do not suggest that they do.
      The old version assumes instant release of the compound into the blood. This is far, far more inaccurate than the models we are using now, but suit yourself.

      The old site is literally linked as “Old Site” in the footer or easily found in Google.

      Reply
  17. If i enter 0mg of Testosterone Cypionate every 4 days it draws a curve going from 0 to 300ng/dL in a few weeks. I wish it worked that way, but why does SteroidPlotter do this?

    Reply
    • Hey, thanks for the heads up.

      This looks like a bug with our linear regression model at very low doses. Currently this model is only live for Test E and Test C.

      It should be more accurate at realistic doses from the lower end of TRT and up but we will need to look at modifying for very low doses.

      Reply
  18. Hi,
    Love the app. Thx
    How can i download a planned cycle into excel showing the injection scheduled?
    Downloading the the graph into excel doesn’t do that. The graph excel download also defaults the dates 1970/01/01 00:00:00
    Secondly, when you add a compound later in the cycle then the graph excel download seems to add the compound from line 1 (with the aforementioned default date)

    Reply
    • We have plans to add the ability to export injection schedules, so keep an eye out for that.

      Downloading the data should work fine, you probably need to set the correct data format in Excel in the date column. If you open the csv file in a text editor you will see the correct dates.

      Any compound added later in the cycle will show from the first line in the CSV export but will show as 0 until the date at which it starts being used.

      Reply
  19. I think there is an issue with test D, when I plotted switching from test C to D the blood levels almost doubled. It looks correct on the old site though. Thanks for all the work you put into this.

    Reply
    • Hi there, Test C uses our advanced model and includes linear regression whereas Test D uses a simplified model. You will likely see more accurate results with the model used for Test C, but unfortunately we don’t have the data we need to utilize this model for Test D.

      Reply
  20. Be nice if you added in Sustanon 250 as it is popular enough I believe to warrant it and entering the different esters manually is a PITA. Thanks.

    Reply
    • Thanks for the comments and support. There have been many requests for Sust 250 now – we will look to get this added soon.

      Reply
      • No need to add Sust 250, nor to add any other mix, like TNT 400. Because everyone can simply type in the dose of the compound all by themselves, and this way your STEROID PLOTTER works perfectly for unlimited different mixes. If you add a separate Sust 250 calculation, then next they will want TEST 300, then TEST 500, then TNT 400/TNT 200, etc., etc. There’s nothing to stop everyone from mixing up any combination they like & putting it into a muscle, and nothing to stop them typing in the different compounds for plotting the results. But to ask you to eventually have a separate easy one step SUPER ADVANCED STEROID PLOTTER, just because they find entering the different esters a PITA, is not right, because why should you have to slave over everything day & night (unpaid also) just so their lives have a couple extra moments of free time? I vote to continue without the Sust 250 added-I value the free Steroid Plotter & am against continually forcing the person/persons behind it to do my work for me. Thanks

        Reply
  21. As some one just starting out.. how do you factor in natural levels? Wouldn’t there be a point where exogenous and endogenous levels kind of mix before endogenous production shuts down?

    Reply
    • The tool does not account for natural levels. The results seen in the tool are estimates for users that are fully shut down.

      Reply
    • When using anabolic steroids, their natural production will be reduced to zero after a week, a maximum of one and a half. Those crumbs that remain will no longer affect the overall picture. Moreover, all these calculations are theoretical conventions and AAS metabolism may vary from person to person.

      Reply
      • This tool cant estimate or guess your total level including your endogenous testosterone levels though, just an FYI

        Reply
    • Depending on the hormone/sarm your body’s shutdown time will vary.
      But to directly answer, yes your bodys natural levels will be added to whatever exogenous hormone you take.
      Also I believe it takes longer to suppress when the hormone you take doesnt aromatize, for example testosterone aromatizes to e2, but Proviron doesnt so shutdown might not happen or will be less.
      Also longer esters like Cypionate take longer to build up in your blood than as ester like propionate

      Reply
    • We have Tren E as an 11 day half life and Tren A as 1.5 day so yes, Tren E will result in far higher steady state levels.

      Reply
      • I thought all Enanthate esters had a 5-ish day half life. Interesting. So there’s no reason at all to pick Tren A when you can get much more for much less money.

        Reply
        • Well there is, Tren A is much better for first contact with Tren since if you feel unwell while using it, just cut it and within a week it’s all gone from your system. Hit it with Test P or Sustanon and you’re “golden”.

          Reply
        • Obviously if you are thinking about economics you must be pretty new to this. The differences between Tren A and E are huge and I suggest you go out and learn why Tren A is the compound of choice for the vast majority of people , knowledgeable people, using Tren. Not my, or our , job to spoon feed you. Put in the work!

          Reply
        • You dont get more the plotter is a bit misleading, the trenbolone must be seperated from the ester before the receptor can use it, Tren a is still a bit stronger mg for mg. The ester doesnt make the active hormone stay in the blood longer like the calculator seems to show

          Reply
      • Tren E half life should be around 5 days, and the HEX ester around 11 days. Hex is the longest ester of Tren available. Looking at the results of the graph I just made, I think the two are mixed up… just FYI

        Reply
          • That source is just a study on the crystal structure of the molecule. I don’t have full access though so I’ve requested it via researchgate from the authors but still awaiting a reply. Are you able to provide an extract of the bit that actually says it’s 11 days half-life?

            Only it would seem odd for the same ester to have a different half-life jsut because the attached molecule is different unless the bonding arrangement is somehow different (test e is 4.5 days for example).

          • “while trenbolone enanthate has the longest duration of action, with a half-life of 11 days”

            It is in the extract. No citation though.

          • Author’s reply screenshotted below, happy to share full details privately, just not via imgur.

            I think they probably just took it incorrectly as common knowledge. They’re the only source I see cited for it after they publishedand filtering google results prior to 2020 just has people assuming 7-10 days as the ‘common knowledge’ enanthate ester half-life at the time.

            Personally I’m inclined to assume the same as other enenthates, ideally accounting for typically used carrier oils? Not sure tbh

          • That’s great. Thanks for going out your way to get that confirmed.

            Do you happen to know of any decent sources to use for references here so we can get these values updated? We can consider using pharmacokinetic data for different compounds with the same ester.

            Feel free to hop on the Telegram group to discuss if that’s any easier.

      • This is misleading because tren e wont result in higher steady state levels, the ester just makes it take longer to release the active non esterfied trenbolone. Tren e is not 5x more powerful than tren a its just more slowly released, the tren doesnt stay in your blood for longer. 500 Tren A injected frequently is slightly more powerful than 500mg Tren E because theres more actual trenbolone in the Oil however the calcuator is showing Tren E to have ridiculously high blood levels and its not true

        Reply
        • Steady state is typically far higher for drugs with longer half lives at the same mg for mg dosage and frequency.

          Have a look into the steady state formulas which account for clearance and volume of distribution.

          Reply
          • Andy is correct. SteroidPlotter is showing concentration, and not the release rate at which the active amount of the compound is being released into the body. The release rate (the amount of compound getting actively released) is the criteria that matters.

  22. How can you change the graph to start at a specific time of day? E.g, I inject at 5pm but this graph only alternates between 12pm and 12am.

    Thanks.

    Reply

Leave a Comment