How to make Silken Tofu with soy beans and lemon juice

Easy DIY Silken Tofu from scratch! This tutorial will show you how to make the ideal soy milk for tofu-making from dry soybeans and how to turn your homemade soy milk into steamed silken tofu, also known as smooth tofu. You won’t have to go out to find special coagulants either; you can make silken tofu with just soy milk and lemon juice! It doesn’t taste like lemons. Instead, this homemade silken tofu is mild and delicate; a protein-rich canvas for flavours you choose. If you’re ready to go a step further, find food grade calcium sulfate to make even silkier, smoother silken tofu. Either way, fresh made silken tofu is a treat to have both savoury or sweet. Click here for the printable recipe.

Pin this for later.

Video tutorial on How to Make Silken Tofu with Soymilk and Lemon Juice or Gypsum

I am not a tofu making master, but I do like making tofu for myself! A while ago, the store where I would find the best prices for tofu raised their prices by 25%! That was too much for me so I started making more tofu, more often. There are different ways of making tofu. In this tofu tutorial, we’ll make silken tofu with soybeans, lemon juice or gypsum, and set it by steaming.

By the way, you can use other coagulants which yield different textures and slightly different tastes. My video tutorial demonstrates how to make silken tofu with lemon juice or gypsum (calcium sulfate). I’ve read that you can also use magnesium chloride, nigiri, and even Epsom salts.

Silken Tofu VS Regular Tofu
For the sake of simplicity, I’ll call the tofu commonly used in Western vegetarian and vegan cooking “regular tofu.” It usually comes in 12oz water-filled tubs or vacuum-packed plastic labelled as medium, firm, extra firm, and pressed varieties. To make regular tofu, soy milk is coagulated, then the curds and whey are separated. The curds are pressed into moulds. The amount of water pressed out of the curds determine if the tofu will be soft, medium, firm or extra firm. This results in a sort of sponge-like texture (it’s better than it sounds!). Pressed varieties are pressed so well that the texture seems smooth and solid like a block of deli meat like this smoked tofu. The blocks are more solid than silken tofu and can hold their shape better in stir-fries, stews, and more. You’ll find them vacuum packed in plastic or in tubs filled with water. Click here to learn how to make regular tofu.

Store-bought silken tofu also comes in soft, medium and firm varieties but they are all more delicate than regular tofu. The firmer ones have more protein in them. Silken tofu is also known as smooth tofu, tofu pudding, or doufufa (or doufa for short). This is the type of tofu used for Chinese desserts with simple syrups. In China (especially in Northern regions), it’s served for breakfast with soy sauce, black vinegar, and chilli oil along with Chinese crullers/doughnuts. It’s also the tofu used in Mapo Tofu. I also love this tofu for making egg-like tofu scrambles like in my Soy Sauce Tofu Scramble recipe. There are a few different ways of making silken tofu, but I’m keeping it simple by simply mixing coagulant with soy milk and steaming it.

Soy milk for making silken tofu

The key to great silken tofu is great soy milk. Homemade is best since it doesn’t have additives and can give you the largest yield. I have tested with a store-bought soy milk brand and was impressed that it worked…somewhat. Watch the video to see what happened when I tried using store-bought soy milk and almond milk. The result with store-bought soy milk was a much smaller yield and the texture was not as nice, but it wasn’t too bad. So if you really want to experiment, I say go for it! Start with small one-cup batches so you’re not wasting much if it goes south. Look for a brand that has the most protein and fat content because that’s what will make up the tofu solids.

Homemade soy milk is pretty simple to make. But it does take some time. If you’re a regular reader, you may know I already have two soy milk tutorials on this blog: this older one, and this newer one. The newer recipe skips soaking the dried beans; instead, they are boiled for a minute. However, I’ve gotten more complaints about this recipe. It seems that many people aren’t able to get a rich enough soy milk out of this method. Rich soy milk is key to getting a nice rich silken tofu with a higher volume yield. That’s why I recommend using the older method specifically for making tofu; both for this silken tofu and regular block-style tofu.

This ‘old school’ method of making soy milk is simple and it starts with the beans. Choose mature soybeans (yellow not green). They come dried like other beans. Good quality beans will be uniform in colour. Some are light yellow, some are deeper yellow. There are even black soybeans, though I haven’t seen them IRL. As with most foods, fresher beans are better beans. Choose beans that are smooth-skinned. Avoid beans that look very wrinkled or have a rancid or strong smell.

Where can you find dried soybeans? Generally, you can find them at Asian grocery stores, health food stores and occasionally at major chain grocery stores. I’m in Calgary, Alberta (not a huge city, not a small town), and have found soybeans at Superstore, Bulk Barn, T&T Supermarket. I’ve also seen a few sources online but haven’t bought from them yet. I’ll add more sources to this section if/when I find them.

On hot summer days, I’ve had soybeans fully hydrate in a little as four hours on the countertop. However, my food safety training tells me the safest way is soaking them in the fridge. In this case, it will take about 12 hours. If you find yourself too busy with other stuff after 12 hours, don’t worry. You can leave those beans soaking in the fridge for about 3 days. After that, if you still need to put it off, drain the beans, put them in a freezer bag, squeeze out all the air and freeze them. They will last a month or two. Just let them thaw before going on to the next step.
When fully hydrated, the beans will have expanded to about triple in size and taken on an oblong bean shape. Discard the soaking water and then blend the beans with new fresh water. For every cup of beans you started out with, add five cups of water. If everything doesn’t fit in your blender at once, divide it up into smaller portions. Just keep the water/bean ratio in mind.

My high powered blender has the capacity to do a whole batch and took only about 30 seconds on the highest setting to break the beans down into the consistency we’re going for. When I use my regular powered conventional blender, it needs to be done in half batches and takes about a minute to a minute and a half on the highest setting each time. Either way, you want the soybean bits to be pretty tiny so we can get as much protein and fat out of the beans and into the milk as possible. But if they are too processed, it will be very difficult to strain. It’s a bit of a balancing act.

Next, it’s time to strain. I use a jelly or nut milk bag for this job; they’re the best! You can probably use a fine mesh sieve or improvise with layers of cheesecloth or muslin. Be careful that you don’t squeeze so hard that you break your bag and get pulp in your milk. I’ve done that before; it’s not fun. Instead, move the pulp around in there so you can squeeze different sections. The milk should feel creamy as it flows over your hands. Is it an Ancient spa treatment of some kind? Maybe. Kind of feels like it. If the milk feels watery and looks thin, that’s a sign that the beans were not blended enough.

When you’re done, the pulp, also known as okara, tofu dregs, or dòuzhā or dou jai should be fairly dry. Look at the size of the pieces for evidence that you blended it well enough. If you think you didn’t go far enough, you can re-blend it with the milk and strain again to make thicker milk.

container of tofu pulp

These bits are actually a little too big and could go another round in the blender. Save your tofu pulp (okara) for Okara Sea Burgers!

Once you have your strained raw soy milk, transfer to a big pot to cook it. You should not drink raw soy milk. Just like you shouldn’t eat raw soybeans or other beans. First of all, ew that would taste nasty. And second, it’s simply not digestible that way for humans. But all we need to do is bring it to a boil and let it simmer for ten minutes.

Then, let this milk cool down. You can use an ice bath to speed things up. This method of making silken tofu starts with soy milk that isn’t hot; cold, cool, room temperature or slightly warm soy milk will work.

Making silken tofu with homemade soy milk

Supplies and Equipment
Silken tofu requires soy milk and a coagulant. As mentioned before, this recipe uses either lemon juice or calcium sulfate. Calcium sulfate is also known as gypsum. Yup, that’s the stuff they use for drywall. But don’t head to your local hardware store. Make sure to use the food grade kind. You can find it at wine and beer making supply store or online. This is my coagulant of choice because it’s super inexpensive and produces a smoother tofu. I also like using it for making regular block-style tofu.

a little gypsum and lemon juice in jars

I like using lemon juice too because it’s easy to find in any grocery store. I’ve also used it for making regular tofu. I was surprised to find that bottled lemon juice is just as good as fresh. In some ways, it’s better because they make the bottled stuff really consistent in acidity. Whereas some lemons just aren’t that sour and aren’t acidic enough for making tofu. You can try other coagulants which yield different textures and slightly different tastes. I haven’t tried them myself though.

As for equipment, you’ll need a heat-proof container (or a number of smaller ones) to steam your silken tofu in and a steaming apparatus of some kind. If you decide to use glass for steaming, be extra careful. Preheat the glass with warm water and make sure the milk is at room temperature or a bit more on the warm side; otherwise, you risk glass cracking once you stick it in the hot steamer. I broke two mason jars while I was recipe testing. I love my little steamer set that makes steaming anything simple and easy. But if you don’t have a set up like this, there are alternatives. For example, you can use a heat-proof bowl set on a rack in a big pot of water with a lid. I did that when I was steaming a bunch of Paprika Seitan Sausages.

The Process
In the video tutorial, I make one cup servings at a time. However, you can make bigger batches at once.

If you’re using gypsum, use 1/4 teaspoon of firmly packed gypsum for every cup of soy milk for soft silken tofu. I like to measure the gypsum directly into the container. Then add a little bit of soy milk and mix so that that gypsum dissolves completely and there are no lumps. Finally, I pour in the rest of the soy milk. The gypsum needs heat to activate so you won’t see much of a change in the soy milk at this point.

Alternatively, you can mix all the gypsum and soy milk in a pitcher, then pour the mixture into your container(s) of choice.

If you’re using lemon juice, use 1 teaspoon of juice for every cup of soy milk. I measure the lemon juice directly into the container and then add soy milk. The soy milk will start to curdle right away.

Slightly curdled soy milk

The soy milk starts to curdle immediately when lemon juice is added.

Steam over medium-high heat for 10 minutes to set the silken tofu. Then you can remove the steamer from the water and let your fresh silken tofu rest and get a little firmer for ten minutes. You can serve the tofu hot or let it cool down further so you can store it in the fridge. It will keep in the fridge for a couple days.

Fresh silken tofu should have a very mild flavour and smooth texture. Perfect to add simple seasonings so all your ingredients stand out.

Short mason jar of steamed silken tofu

Steamed silken tofu made with lemon juice.

Try silken tofu with a bit of dark soy sauce, Chinese black vinegar, and scallions. Add a bit of chilli oil for a kick and sesame seeds for crunch if you have them. I need to get restocked on those.

jar of steamed silken tofu

Silken tofu made with gypsum has a smoother look and is set as one solid piece.

My simple Soy Sauce Tofu Scramble is really good with silken tofu too. The chunky texture of lemon-curdled silken tofu is the perfect dupe for scrambled eggs. Or try pieces of silken tofu in simple syrup or condensed milk. I used to have that as a kid. Let me know what you do with silken tofu in the comments!

yellow silken tofu scramble

Printable Recipe for Silken Tofu

Yield: 5 servings

How to make Silken Tofu with soy beans and lemon juice

How to make Silken Tofu with soy beans and lemon juice

Fresh made silken tofu is a treat to have both savory or sweet. Learn how to make silken tofu from scratch using soy beans and lemon juice. It doesn't taste like lemons.

Instead, this homemade silken tofu is mild and delicate; a blank protein-rich canvas for the flavours that you choose.

This recipe also includes instructions if you want to use calcium sulfate for a smoother textured silken tofu. Food grade calcium sulfate, also known as gypsum, can be found at beer and wine making supply stores.The soy beans need to be soaked, so start this recipe a day ahead.

Looking for block-style tofu? Check out my recipe for that style here.

Bean SoakingTime 12 hours
Cook Time 15 minutes
Total Time 12 hours 15 minutes


For soy milk

  • 1-1/4 cups dried soy beans (200gl)
  • 5 cups water + more for soaking (1200ml)

For silken tofu made with lemon juice

  • 1 tablespoon + 2 teaspoons lemon juice (25ml)

For silken tofu made with gypsum

  • 1 1/4 teaspoons food grade gypsum - calcium sulfate (6.25ml)


To make the soy milk

  1. Soak the beans in water until they fully hydrate. This will take about 12 hours in the fridge. Make sure there is enough room for the beans to expand to triple their size. Add water if the water level drops below the top of the beans.
  2. Drain the beans and blend the beans with 5 cups of water until the beans well pureed. In a large capacity high speed blender, this should take about one minute. In a conventional blender, you may have to separate into two batches and blend on the highest setting for one to one and a half minutes each time. Since blenders vary, keep a close eye. You want to process enough to get the maximum amount of milk from the beans, but not so much that it becomes very difficult to strain the milk out.
  3. Strain the liquid into a large pot using a nut milk bag, jelly bag or several layers of cheesecloth over a colander or sieve. The liquid will be your soy milk. Squeeze the pulp until very dry. The pulp, known as soy lees or okara, can be composted or used in other recipes such as my Okara Sea Burgers.
  4. While stirring regularly, heat the milk on high heat until it comes to a boil. The milk tends to form a skin at the bottom of the pot so stirring is necessary to keep this from building up. During this process, a skin may form at the top; this is normal and known as yuba. Unless you want to use the yuba for something, stir it back into the milk to dissolve.
  5. Once the milk is boiling, turn down the heat to a simmer right away. Let the soy milk cook for 10 minutes and your soy milk is done. Remove it from heat and let it cool. You should have 5 cups of soy milk.
  6. This method of making silken tofu uses cold, cool, room temperature or just slightly warm soy milk. You may use an ice bath to speed things up.

To make silken tofu

  1. Strain your cooled soy milk to get rid of any leftover pulp or pieces of yuba.
  2. Ready your steaming apparatus; get the water boiling, then turn to medium high for a steady hot steam. If you don't have a proper steamer, there are options. For example, you can use a heat-proof bowl set on a rack in a big pot of water with a lid.

If using Lemon Juice as your coagulant:

Note the ratio of lemon juice to soy milk (1 teaspoon : 1 cup). So if you're making all 5 cups of soymilk, use 1 tablespoons plus 2 teaspoons of lemon juice.

Measure the lemon juice into heat-proof containers that will fit into your steamer. Pour the strained soy milk directly into the containers. Place the containers in the steamer to cook for 10 minutes. Afterwards, remove from heat and let rest for 10 minutes. Then you can serve or let cool further and store in the fridge for up to three days.

If using Gypsum (Calcium Sulfate) as your coagulant:

Note the ratio of gypsum to soy milk (1/4 teaspoon, packed : 1 cup). So if you're making all 5 cups of soymilk, use 1 1/4 packed teaspoons.

You can measure the gypsum directly into a large pitcher, add a little soy milk, and mix well so all the gypsum is dissolved. Add the soy milk and stir well before pouring into containers. Alternatively, measure the gypsum directly into containers, add a bit of soy milk and mix to dissolve, then top off with the rest of the soy milk. Place the containers in the steamer to cook for 10 minutes. Afterwards, remove from heat and let rest for 10 minutes. Then you can serve or let cool further and store in the fridge for up to three days.


2021 Update - plus 1/4 cup soybeans

This recipe has been updated to use 1-1/4 cups soybeans instead of only one. That is, total of 200g dry soybeans. In my recent tests, I've found this amount produces better silken tofu.

Differences using Lemon Juice VS Gypsum

Tofu made with lemon juice forms curds that fall apart more easily, having a clumpy look, although the feel in the mouth is still smooth.

Tofu made with gypsum (calcium sulfate) is more smooth looking and holds together more firmly.

Other coagulants

Other coagulants may be used such as magnesium chloride, nigiri, and Epsom salts. However the measurements may vary.

Caution using glass containers!

If you're using glass containers, be very careful. Pre-heat the containers by swirling a little hot water in them, then empty. Also make sure the soy milk is at room temperature or slightly warm but not hot. Otherwise, the glass may crack when you set them over the hot steam. Better yet, use ceramic instead!

Can you use store-bought milk?

Store-bought milks do not give the best results. However, if you want to observe how the process works, you can try with plain soy milk. Look for a brand with high protein and fat content. See my video to see what happened when I tried to use store-bought milk here.

Nutrition Information:



Serving Size:


Amount Per Serving: Calories: 60Total Fat: 3gSaturated Fat: 0gTrans Fat: 0gUnsaturated Fat: 2gCholesterol: 0mgSodium: 10mgCarbohydrates: 3gFiber: 2gSugar: 1gProtein: 6g

Nutritional Information automatically calculated by a plugin and may not be correct.

Did you make this recipe?

Please leave a comment on the blog or share a photo on Instagram

Showing 27 comments
  • Audrey

    Thanks for the recipe. I enjoyed making it. I ate scrambled tofu for breakfast.
    I have a question!
    I made soy milk and then tried to make soy yogurt but I put in too much probiotic and now my yogurt smells strong and looks like curdled milk. Any ideas on what I can use it for instead of yogurt?

    thanks for any tips!

    • Mary

      It sounds like you made yourself a good yogurt starter, Audrey! You can use it to start other batches of yogurt or add it to salad dressings for a tangy flavour. – Mary

    • Sabrina Pepe

      Mary I tried this and I used calcium sulfate…. Homemade soy milk… But…. When i putted the pots in the electric steamer machine por 15 minutes it made crumps but it’s not uniform like yours. It is in two phases whey and cheese…. what it the problem with what I did that didn’t work like yours? May to much calcium sulfate? I put 15 g diluted in warm milk…. Then added to the rest….. Then to the pots… And the steamer…thanks!

  • Gin

    I made your Silken tofu, with lemon juice, I think it turned out okay but I had to use a lot more lemon juice than you mentioned in your recipe. My question is when you say 1 cup of soya beans – how many grams or ml is this?

    This always confuses me as I bought 2 sets of cups for baking/cooking and they are completely different sizes so now I don’t know which represents the most accurate measurement of 1 “cup”. Thank you for your help.

    • Mary

      I use US cups so 236ml.

  • Salomé

    Finally tried making it but unfortunately it turned out way too liquidy :'( (using gypsum by the way)
    Actually it did not coagulate at all..
    Is it possible to still save the attempt-tofu? Would love to try it again sometime ^^

    • Mary

      Did you use homemade soy milk?

      • Salomé

        Yes, though it was made the day before.

      • Selby

        I also followed this recipe with gypsum and it didn’t work at all, it’s the wrong method for gypsum powder.

        • Mary

          Hi Selby, did you use homemade soy milk? If not, what did you use? Did you make sure to follow just the instructions for using gypsum as a coagulant?
          This recipe has worked for me many times and also for commenters who have told be (or even showed me) on social media…

  • Gabriela

    Instead of soy beans can I use nut or seed milk for same effect? (almond, pumpkin, sunflower or oatmeal)

    • Mary

      Sorry, Gabriela. It doesn’t work with those lower protein milks.

  • Minou

    Hi Mary,

    thank you so much for your tofu recipe. I love using tofu, but I hardly ever buy it because it’s wrapped in plastic. The environmental person in me cringes at plastic wrapped food. I followed your recipe and it came out nice. Now, can you please tell me where you can find a tofu press in Vancouver BC? Yea, I live in the same city as you!! I’ve looked in Whole Foods, TNT…but to no avail. Any idea?

    • Mary

      Try one of the vegan shops like Vgan Supply — I think they have a location in Chinatown. I got my tofu making mold on Amazon for around $10 and I really like it for both tofu making and just to press regular tofu too. Don’t press silken tofu though..just in case you were thinking of that. Won’t work.

  • Lisan

    Hi Mary,
    Thanks for all your fantastic recipes and how-tos!
    Do you have a method for making fried bean curd skin (like they use for inari sushi)? I don’t know exactly what it’s called. Or would you just buy it? I want to make it for @groenteboertje’s vegan fried “fish” recipe…

  • Ruth

    Hi, thank you for the recipe. When putting the milk and lemon into a container to steam, what size is the best for the container please? Mine held 4 cups which I’m thinking was too much? Or should I just have steamed it for longer?

  • Anna

    Hi Mary,

    I just did a first test run of your silken tofu recipe and ran into a few issues. I was hoping you could address a few of the things I did wrong.

    1) Is the soy bean to water ratio (1 cup of soy beans:5 cups of water) for pre-soaked or post-soaked?

    2) The soy milk after it was strained out of the milk bag was not smooth but had really tiny specks of pulp. Is that normal?

    3) As I was heating up the soy milk, it started to curdle and thicken. The soy milk yield was also decreasing. Do you recommend added some water to thin out the soy milk, or just leave it?

    4) I strained out the soy milk 3 times before I mixed it with gypsum, which still had tiny curdles. The finished product had some smooth chunks but did not completely coagulate. Should I have steamed it longer than the 10 minutes? Perhaps added more gypsum?

    I really want to make this work so I appreciate all the tips you can give me!

    • Mary

      Hi Anna,
      1) Start with 1 cup of dry beans.
      2) No, try using a milk bag with finer mesh or double up on the layers.
      3) It shouldn’t curdle…it only needs to boil, then simmer a few minutes. You might try using a different pot — perhaps there’s something in it affecting the pH and causing the soy milk to curdle.
      4)Either or. It might’ve needed more time…or more coagulant. Sorry, I can’t know unless I saw exactly what you did, measurements, etc.
      Sounds like you’re on the right track though! Hope that helps.
      – Mary

      • Anna

        Thanks, Mary.

        My first question didn’t really make any sense so let me try again. Once the beans have soaked and at least tripled in size, do I blend 1 cup of the soaked beans with 5 cups of water? Or is it 5 cups of water for the entire amount of soaked beans?

        Thanks again!

  • Tina

    Hi Mary,
    Thank you for your wonderful recipes.

    I’m unable to get gypsum but did manage some Nigari flakes. How much would I need to use per cup?
    Also how can I get a firmer texture?

    • Mary

      Hi Tina,
      You won’t need much if you’re using nigari crystals; a scant 1/4 teaspoon probably. Firmness for silken tofu depends on the protein in the soy milk. So you can concentrate your soymilk by simmering it to make it more concentrated. I’ve only done this a couple times on a whim so I don’t have notes to share with you on that. You’ll have to experiment 🙂
      good luck!

  • Bernadette Kueh

    Hi Mary, I want to try this amazing recipe but I want to make a big batch of soymilk and take a portion for the soft tofu. How many ml of soymilk should I use for the portion of gypsum provided in this recipe? And does that produce just that 1 cup shown in the video?

    • Mary

      Hi Bernadette,
      Use 1/4 teaspoon of firmly packed gypsum for every cup of soy milk. The volume doesn’t change when it turns into silken tofu.
      I like to measure the gypsum directly into the container. Then add a little bit of soy milk and mix so that that gypsum dissolves completely and there are no lumps. Finally, I pour in the rest of the soy milk. The gypsum needs heat to activate so you won’t see much of a change in the soy milk at this point. Then you can steam it as in the recipe.
      Hope that makes things more clear. Good luck!

  • Loren

    Hi! I made the soy milk and it turned out well, but when I tried making the tofu, it didn’t curdle nor did it set after steaming. It only smelled and tasted like lemon soy milk 🙁
    Can it be salvaged ?

    • Mary

      Hi Loren,
      Your soy milk may not have been hot enough when you added the lemon and water mixture. You can try heating it up slowly again (stick to medium heat to prevent it from burning on the bottom). When it gets to 160°F, turn off the heat, cover wait 10 minutes. If your soy milk was made properly and your lemon juice was properly sour, it should coagulate.
      Good luck!

pingbacks / trackbacks
  • […] tofu also known as smooth tofu. The store-bought stuff is going to be a quite a bit firmer than the homemade silken tofu from the other week so it’ll hold together better in this dish. But hey, it’s your […]

  • […] directly into your spiced tomato sauce. However, any type of silken tofu you enjoy will work. Even DIY Silken Tofu! You don’t have to make rounds, they just look more egg-ish. Silken tofu is fairly light so […]

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Skip to Recipe
vegan mapo tofu in Chinese style bowl