Advanced Injections Homebrew Tutorial

This tutorial aims to document bulk production of HRT meeting the best safety standards we have for homebrewed HRT while reducing the odds of contamination as much as reasonably possible.

I had issues with the vial and media bottle washing procedure in this tutorial leaving grime in vials and need to revamp it. For a lower-volume procedure using pre-sterilized vials and syringe filters which is more resistant to dust and results in less loss, please see the standard injection tutorial. It includes instructions on how to automate syringe filtering.


This tutorial is NOT trying to be frugal. You’re going to spend over a thousand dollars (about $900 plus API cost) getting set up and the consumable costs for this approach are more expensive than other simpler tutorials. You’re still likely to save money and stress in the long run despite this vs buying from homebrewers. The peace of mind that being able to do this yourself provides cannot be understated, given the world we currently live in.

Tools (non-consumable):

  1. Lab Spatulas ($13)
  2. AWS Gemini 20 Milligram Scale ($50)
  3. Magnetic Stir Bars ($12)
  4. Glass Beakers ($20)
    1. We will use the 100mL and 500 mL ones.
  5. Instant Pot Pro Plus ($150)
    1. Do NOT use a regular instant pot. It must be a 15 psi pressure cooker.
    2. If you have an Instant Pot Max (discontinued), that works too.
  6. 20mm Vial Crimper ($40)
  7. Still Air Box ($55)
    1. You really need this. It is very difficult to control dust without this.
    2. Optional to control dust more, see “Air Filtration”:
    3. 20” MERV 13 Air Filter ($52)
    4. 20” Box Fan ($50)
    5. Packing Tape ($12)
  8. Vacuum Pump ($136)
  9. Hose Fitting for Vacuum Pump ($7)
  10. Hose for Vacuum Pump ($12)
  11. IR Thermometer ($20)
  12. Hybex Media Bottle 100mL ($12)
    1. Do NOT buy the 50mL one, it won’t fit the filters!
    2. You can make up to 150 mL before you hit the filter limit.
  13. Magnetic Stirring Hot Plate ($47)
    1. Buy the 380 °C version
  14. Instant Pot Mesh Steamer ($23)
    1. Optional. Nice for keeping vials and bags higher up in the instant pot. You can use the canning rack however for vials you will need something else to support them.
  15. Large Mixing Bowls ($19)
  16. Squeeze Bottle ($9)

Consumables (long shelf life):

  1. Isopropyl Alcohol 99% ($62)
    1. Do NOT use “technical grade” isopropyl alcohol. It can leave an oily residue and contaminate your HRT!
  2. Oxygen Absorbers ($9)
    1. Optional, but may extend the life of your expensive API powders.
  3. 5mL Glass Vials ($23)
    1. 5mL or 3mL vials are suggested for Estradiol Undecylate, while 5mL or 10mL vials are suggested for Estradiol Enanthate.
    2. Don't buy vials which use flip-off lids, as that can compromise the seal on the vial.
  4. 10mL Glass Vials ($27)
  5. 3mL Glass Vials ($19)
  6. U100 Insulin Syringes ($17)
  7. Weigh Boats ($16)
  8. Sterilization Pouches ($21)
  9. 10mL 18g Syringes ($30)
  10. 20mL Oral Syringes ($20)
  11. 50mL Benzyl Alcohol ($6)

Consumables (per batch):

  1. Castor Oil USP ($11)
    1. Must have a “Drug Facts” section if you buy from another supplier.
    2. Preferred for Estradiol Undecylate, MCT Oil may have difficulty keeping 100 mg/mL in solution and has a 33 percent shorter half-life.
  2. Extracto Bottle Top Filter, 150ml, PVDF 0.22µm ($13)
    1. You must use a new one for each batch as they are sterile and disposable.
    2. For Castor oil ONLY, PVDF is eaten by MCT Oil!
  3. For MCT oil use a 0.22µm nylon filter, for instance:
    1. Autofil Bottle Top Filter, 1000mL, Nylon, 0.22µm ($19)
  4. MCT Oil 60/40 USP ($5)
    1. Preferred for Estradiol Enanthate. Thinner and easier to inject.
    2. May cause irritation if injected Subq for some people.

Pre-sterilized Vials:

You can forgo having to sterilize vials by using pre-sterilized vials instead. This can save time. Note that using pre-sterilized plastic media bottles is not suggested because they have a habit of imploding and also are made of polystyrene which is incompatible with Benzyl Alcohol.

  1. Vial Decapper ($40)
    1. Used to remove caps from pre-sterilized vials.
  2. Vial Caps ($10)
  3. Pre-sterilized Vials
    1. MedLabSupply (slightly more expensive):
      1. Clear
      2. Opaque
    2. Amazon (be weary of QC issues):
      1. Link 1
      2. Link 2 - Recommend/Tested
      3. Link 3
  4. 18g Filter Needles ($64)
    1. If you are still having large particulate issues somehow, you can use these to eliminate particulate when you are drawing the injectable out of the media bottle. Note this is a band-aid solution and indicates a problem with your filtration setup.


APIs can be purchased from Hubei Vanz by messaging them on WhatsApp at +86-159-2778-4577. Estradiol Undecylate is more expensive but allows monthly injections whereas Estradiol Enanthate maxes out at every 2 weeks. Be warned that you will lose about one vial worth of HRT per batch (5mL), so plan accordingly.

  1. Estradiol Enanthate 4956-37-0
    1. 50g $210
    2. 100g $380
  2. Estradiol Undecylate 3571-53-7
    1. 30g $320
    2. 60g $600

Pre Setup

Vacuum Filter

The vacuum filter comes with the incorrect size hose connection for our filters. You’ll need to wrench off the connection from the filter to the hose and replace it with the one that we purchased. Make sure to use thread tape (included) on the new connection and apply the hose clamp to the tube.

The existing hose connection that comes with the vacuum pump is extremely fragile. You will likely destroy the brass hose connection unless you use a box ended wrench. If you accidentally destroy or strip it like I did, you can wrench off the entire filter and connect the new hose connection directly to the vacuum pump. Of course, if you do this, do not use the pump to filter anything explosive.

To test the vacuum pump, put your finger against the hose and turn on the pump. If it can maintain suction for a few seconds, the pump is working. (Ideally test this before starting the process, as if the pump is not working finding out when you are about to filter solution would be very bad.

Oxygen Starvers

You can use oxygen starvers to possibly prevent degrading of the API powder. I recommend doing this, however you may want to avoid the oxygen starver contacting the powder directly to avoid excessive contamination of the powder. They go bad after a while and need to be replaced.

Air Filtration

If you have a dusty or carpeted house and want to control dust better than you normally can, you can add a fan and a filter to the still air box. This will keep consistent, clean airflow through it. It will also prevent dangerous build-up of solvents if you do the IPA rinse stage in your still air (or now “moving air”) box.

  1. Open both sides of the still air box.
  2. Tape one of the box air filters, metal mesh side out, to the outlet of the box fan.
  3. Tape the resulting box fan setup to one side of the still air box.

For parts of the process which are sensitive to air flow, such as measuring API, it may be a good idea to close the box and shut off the fan.


The goal is to sterilize anything that the injectable solution comes in contact with after filtration and reasonably clean anything which the injectable solution comes into contact with before filtration. You can also do the optional depyrogenation step, but the IPA rinse likely removes most pyrogens and you can’t depyrogenate the injectable solution itself, so it is likely of minimal utility. None of the injections you can purchase from other homebrewers, even the best, are completely controlled for pyrogens.

Everything mentioned here should be done while wearing gloves which have been rinsed with IPA. It may be a good idea to do the IPA rinse process for the post-filter items (the ones headed for steam sterilization) in the still air box, but you run the risk of a fire hazard from alcohol vapors unless you did the optional “Air Filtration” setup.

Rinsing with IPA is not sufficient. We suggest using presterilized vials or using a detergent such as Alconox and scrubbing, followed by an IPA rinse. We will update this guide at a later date to reflect a better procedure.

IPA Rinse

  1. Use the isopropyl alcohol to rinse the inside and outside of all your pre-filter supplies:
    1. 100mL Beaker
    2. Stir Bar
    3. 1x Weight Boat
    4. API measuring lab spatula
  2. You can optionally autoclave and depyrogenate these items using the subsequent procedures if you prefer, but the above is sufficient.
  3. Make sure all of the IPA is dried off before using the items. If you accidentally get IPA into your mixture, it will evaporate out due to heating and stirring, but it is best to not allow this to happen in the first place.

Autoclave Sterilization

  1. Rinse one of the mixing bowls with isopropyl alcohol and then fill it most of the way, enough that you could submerge a vial in it.
  2. Use the isopropyl alcohol to rinse the inside and outside of all your post-filter supplies. When rinsing, ensure the items are completely filled and shake them to dislodge dust. You may want to perform these steps in the still air box.
    1. Vials (whatever size you picked)
    2. Vial Stoppers
    3. Media Bottle
    4. Media Bottle Cap
  3. After you rinse each item with IPA, dump any remaining IPA into the second bowl from the items and place it into a sterilization pouch. I would suggest keeping the media bottle and the vials/stoppers in separate pouches. Do not put the stoppers on the vials or the cap on the media bottle.
    1. Place the cap of the media bottle into the sterilization pouch first, before the bottle itself. Place the top of the media bottle facing into the pouch.
  4. Seal the sterilization pouches by removing the adhesive backing and folding it over.
  5. Make sure there is no residue in the Instant Pot’s stainless steel container.
  6. Fill the Instant Pot Pro Plus up with 2 cups of water.
  7. Place both mesh steaming baskets or the canning rack into the Instant Pot Pro Plus.
  8. Place the sterilization pouches into the instant pot.
  9. Run the instant pot on the canning cycle for 30 minutes, at max pressure, with no venting (natural cooldown), and no keep warm.
  10. It should reach a temperature of 250 °F. Allow the pot to cool naturally. If you vent it, it will rapidly depressurize, splashing water all over everything in the pot.
  11. Note: If you make a mistake and the instant pot starts emitting steam through the seal due to the sterilization pouches contacting the seal, upon opening the instant pot if the pouches are very wet, assume everything is contaminated and re-start the procedure.
  12. Do not open the sterilization pouches until you are ready to use the items. Ensure all the water dries from the pouches before using the items contained within. You can also place the items into an oven at 250 °F to dry them, but be careful of hot spots. Do not use any oven which has processed food, as oil will vaporize and contaminate your medication.

Dry Heat Depyrogenation (Optional)

You can also heat items in a regular household oven at 485 °F (250 °C) to sterilize and depyrogenate them. Do not use any oven which has processed food, as oil will vaporize and contaminate your medication. Cover the openings of the media bottle and the vials with aluminum foil (rinsed with IPA) and heat the items for several hours. You cannot depyrogenate the plastic media bottle cap or rubber vial stoppers. You can purchase silicone stoppers which can also safely be heated to these temperatures too.

Depyrogenation is likely not a useful activity since we cannot combat pyrogens in the actual injection solution we are preparing. It does have the advantage of eliminating all moisture in the vials and media bottle, something which may be an issue for steam sterilization.


There are three formulations which I recommend:

  • Estradiol Undecylate 5mL 100 mg/mL
    • 500 mg Estradiol Undecylate
    • 0.1 mL Benzyl Alcohol
    • 4.43 mL Castor Oil
  • Estradiol Enanthate 10mL 40 mg/mL
    • 400 mg Estradiol Enanthate
    • 0.2 mL Benzyl Alcohol
    • 9.44 mL MCT Oil or Castor Oil
  • Estradiol Enanthate 10mL 50 mg/mL
    • 500 mg Estradiol Enanthate
    • 0.2 mL Benzyl Alcohol
    • 9.35 mL MCT Oil or Castor Oil

To produce a batch, multiply the recipe above by the number of vials you want. You could potentially lose up to 15 mL of solution based on other people’s experiences, although with my procedures the loss was closer to 3mL. Plan accordingly.

Benzyl Alcohol is not optional. Some homebrewers make and inject without benzyl alcohol preservative in their vials. While we are doing everything we can to prevent biological contamination of our vials, both filtering and heat sterilization may not be completely effective. Additionally, the multi dose vial is contaminated with small amounts of air each time you inject air into the vial before drawing a dose. The benzyl alcohol could potentially be the last line of defense between you and a serious infection.

Everything mentioned here should be done in the still air box while wearing gloves which have been rinsed with IPA.

  1. Place the stir bar into your 100mL beaker and place it on the hot plate. Ensure all IPA is driven off before continuing if the beaker is still wet from the IPA rinse.
  2. Turn on the hot plate and set it for medium heat.
  3. Calibrate your Gemini 20 Milligram Scale using the instruction manual provided and set the calibration weights aside so they do not get in the way.
  4. Measure out the desired number of mL of Castor or MCT oil into the hot plate.
    1. If you are measuring castor oil, use an oral 20mL syringe, otherwise use one of the 10mL 18g ones.
    2. Do not add Benzyl Alcohol yet.
  5. Place a weight boat onto the Gemini 20 Scale.
  6. Weight out the desired amount of estradiol powder using the lab spatula. Be careful not to accidentally spill the powder.
  7. Enable stirring on the hot plate.
  8. Slowly add the powder to the beaker by folding the weigh boat and scooping the powder into the beaker with the lab spatula. Be careful not to do this too quickly to avoid splashing oil or making a mess.
  9. Allow the powder to dissolve into the oil.
    1. Periodically check the temperature of the oil with the laser thermometer and try to get it to around 190 °F (90 °C).
    2. Once it looks like the powder is dissolved, continue stirring for 30 minutes to ensure complete dissolution and avoid loss of API.
  10. Turn off the heat on the hot plate.
  11. Using an insulin syringe, measure out the desired amount of Benzyl Alcohol and add it to the beaker.
  12. Turn off stirring and use a magnet to retrieve the stir bar out of the beaker from the side.


Filtering and controlling dust isn’t optional. While dust is unlikely to be life threatening to inject, injecting dust should be avoided. Injecting dust subcutaneously can cause granulomas, which while rarely life threatening, can cause prolonged pain and permanent tissue damage. I'm unsure if injecting dust can cause more post-injection complications or scarring via IM injection. I am of the opinion that trans people deserve better than to be injecting themselves with dust.

This process took about 2 hours to filter 35 mL of castor oil. Other people have reported times as high as 10 hours for larger batches. Plan accordingly. Thankfully you don’t have to do much during this process, unlike with syringe filtering which is manual and destroys the filter if you press too hard.

Everything mentioned here should be done in the still air box while wearing gloves which have been rinsed with IPA.

  1. Ensure there is no water inside the media bottle or cap while it is still in the sterilization pouch.
  2. Open the sterilization pouch containing the media bottle.
  3. Open the pre-sealed plastic bag containing the bottle-top filter.
  4. Quickly but calmly attach the two together, sideways to help prevent dust from getting in.
  5. Connect the vacuum hose to the vacuum filter.
  6. Pour in all of the injection solution from the beaker into the filter and place the cap back onto the filter.
    1. Note: If you are making a large castor oil batch, for instance larger than \~35 mL, you may want to keep the solution warm and add it in smaller increments. The oil cooling down will significantly slow filtration and may also increase losses.
  7. Activate the vacuum pump.
  8. The solution will start filtering. If you are filtering castor oil, this process can take hours and happens drip by drip. When the drips stop happening after a minute, it is safe to assume you are done.
  9. Remove the bottle top filter from the media bottle and cap it with the media bottle cap.

Re-Heating the Solution (Castor Only)

If you are processing castor oil, it has likely cooled down during filtration. This step allows you to process it more easily and significantly reduce waste. This makes it practical to quickly handle the castor oil solution with 18g 10mL syringes instead of having to use more clumsy oral syringes that have higher dead space and may spill your solution all over the place.

  1. Ensure the cap on the media bottle containing your injection solution is securely attached.
  2. Add about 100mL of water to the 500mL beaker. No rinsing of the beaker with IPA is required.
  3. Bring the water to a boil using the hot plate.
  4. Reduce the temperature and place the media bottle into the hot water bath for 10 minutes.
  5. Remove the media bottle from the hot water bath.
  6. Wipe off the water and condensation around the media bottle.

Making the Vials

Filling Vials

Everything mentioned here should be done in the still air box while wearing gloves which have been rinsed and dried with IPA. This is one of the most crucial steps as this is the main place where dust can contaminate your end product.

For Self-sterilized Vials

  1. Ensure the vials and stoppers are free of moisture and have dried out before continuing.
  2. Open the sterilization pouch containing your vials and stoppers.
  3. Quickly cap each vial with the stoppers to prevent dust contamination.
  4. Remove the cap from your media bottle and draw up 10mL of solution into one of the 18g syringes.
  5. With one hand, remove the stopper from the vial while measuring out the desired volume of solution into the vial with the other one. Keeping the stopper mostly over the vial as you fill it can prevent dust getting in and cap it immediately once you remove the syringe.
  6. Repeat the process until all of the vials are full. You may need to tip the media bottle containing the solution when filling the syringe for the last one or two vials.

For Pre-sterilized Vials

  1. Remove the plastic top from the pre-sterilized vials.
  2. Use the vial decapper to gently but firmly grip on the top of the vial seal. Go slowly and pull up gently rotating around the vial without fully removing the metal seal.
  3. Once the seal is uncrimped all around, use a pointed object, such as the cap for a needle, to push down on the stopper to prevent it being removed along with the seal. Pull up gently to remove the metal seal only.
  4. You may want to wipe metal dust off the top of the vial stopper if there is any after removing the seal ring.
  5. Remove the cap from your media bottle and draw up 10mL of solution into one of the 18g syringes.
  6. Pull up the stopper just enough that you can fit the needle around it into the vial. Press down on the stopper to hold it against the needle and avoid dust getting in.
    1. Be careful not to scrape the side of the vial with the needle.
  7. Fill up the vial and pull the needle out, making sure to push the stopper back down. Set the vial aside and repeat for as many vials as you want to fill.

Capping the Vials

If this is your first time using the vial crimper, you may want to practice on an empty vial. I have never broken a vial during crimping however.

  1. Place an aluminum vial cap over the vial.
  2. Position the vial crimper over the vial evenly.
  3. Squeeze the vial crimper, first with one hand and then two hands.

Terminal Sterilization

  1. Fill the Instant Pot Pro Plus up with 2 cups of water.
  2. Place both mesh steaming baskets or the canning rack and something to support the vials into the Instant Pot Pro Plus. Do not let the vials touch the bottom of the instant pot.
  3. Place all of the vials into the top basket of the Instant Pot Pro Plus.
  4. Run the instant pot on the canning cycle for 1 hour, at max pressure, with no venting (natural cooldown), and no keep warm.
  5. It should reach a temperature of 250 °F. Allow the pot to cool naturally. If you vent it, it will put more temperature stress on the vials.

Inspection and Labeling

Give your vials some time to allow air bubbles to dissipate and look for evidence of dust contamination. If the vials are contaminated, you should consider doing the optional “Air Filtration” setup outlined earlier in this guide and re-filtering. You should also label your vials with their ingredients, a batch number, and an expiration date after determining the vials pass a visual inspection.

You should record the batch numbers of any oils and excipients used along with the batch number in a compounding log. Castor oil solutions can last 2-5 years and MCT Oil solutions can last 3-8 years from the date of manufacture for the oil. The higher numbers are theoretical, require ideal storage, and exceed recommended use times for the oil by the manufacturer. Vials should be stored in a dark place free of excessive heat, as light and excessive heat exposure speed up degradation. If you freeze your vials in an attempt to extend shelf life, you may need to place them into boiling water to re-dissolve any API which precipitates out.

If you are considering selling your vials, please be aware this practice could be highly illegal in your area and would put you at serious risk. Should you decide to do so anyways, testing the contents of your vials through a service such as Janoshik is highly recommended. It is out of the scope of this guide to advise people how to conduct an illegal business. Stay safe out there.