Bean curd is a good source of protein. A typical 100-gram serving of firm bean curd provides roughly 8 to 17 grams of protein, depending on how it was made. That puts it in the same range as a small serving of meat or a couple of eggs.
Bean curd is made from soybeans, and soybeans are one of the few plant foods that contain all nine essential amino acids. That makes bean curd a complete protein. For anyone cutting back on meat or eating more plant-based meals, it earns its place on the plate.
The exact protein count depends on the type you buy. Firmer styles are denser and carry more protein per bite. Softer styles hold more water, so the same weight delivers less. Below is what the numbers actually look like, plus how bean curd compares to other common proteins.
Is Bean Curd High In Protein?
Yes. Bean curd is a high-protein plant food, and it is one of the better non-animal sources available.
The word “high” depends on what you compare it to. Per calorie, bean curd holds its own against many animal proteins because it is low in fat and has no cholesterol. Per gram of weight, it is lighter than meat because of its water content. Both comparisons are fair. They just measure different things.
What matters most for most people is protein per serving. A 100-gram portion of firm bean curd lands in the range of 8 to 17 grams. A 100-gram portion of chicken breast is closer to 25 to 31 grams. Bean curd is not trying to beat chicken. It is offering a solid plant option that fits into the same meal slot.
One point that often gets lost: soy protein is a complete protein, meaning it supplies all nine essential amino acids your body cannot make on its own. Most plant proteins fall short on one or more. Soy does not. This is why soy foods like bean curd, tempeh, and edamame are treated as high-quality protein sources in nutrition research.
How Much Protein Is In Different Types Of Bean Curd?
The type of bean curd you buy changes the protein number more than almost anything else.
Bean curd is made by curdling soy milk and pressing the curds. The more whey is pressed out, the firmer and denser the result. Density is the whole story. Water adds weight but no protein, so a soft block and a firm block of the same size can differ widely.
| Type of Bean Curd | Texture | Protein per 100g (approximate) |
|---|---|---|
| Silken | Very soft, custard-like | About 5–8 g |
| Soft | Soft, delicate | About 8–10 g |
| Firm | Firm, holds shape | About 12–17 g |
| Extra-firm | Dense, chewy | About 15–17 g |
These ranges come from standard food composition data, and they vary by brand and method. Check the label on the package you buy. That is the only number that applies to your actual food.
Silken bean curd is often used in soups, smoothies, and desserts. Firm and extra-firm are used for stir-fries, grilling, and anything where you want the block to hold together. If protein is your goal, firm and extra-firm are the better pick.
How Does Bean Curd Compare To Other Protein Sources?
Bean curd sits in the middle of the pack for protein density, but it brings other advantages that matter.
- Chicken breast: Higher protein per gram (roughly 25–31 g per 100g), no fiber, contains saturated fat.
- Eggs: About 12–13 g protein per 100g, complete protein, contains cholesterol.
- Lentils (cooked): About 9 g protein per 100g, high fiber, not a complete protein on its own.
- Greek yogurt: About 10 g protein per 100g, complete protein, contains dairy.
- Bean curd (firm): About 12–17 g protein per 100g, complete protein, no cholesterol, low in saturated fat.
Bean curd is lower in protein than meat and eggs gram for gram. It is higher than most cooked legumes. It is roughly in line with Greek yogurt.
The bigger picture is that bean curd is low in saturated fat and contains no cholesterol. For people watching their heart health or their saturated fat intake, that is a real difference. It also contains fiber, which animal proteins do not.
What bean curd does not have is the same protein punch per bite as meat. If you are a large person with high protein needs, you may need a bigger portion of bean curd than you would of chicken to hit the same target.
Is Bean Curd A Complete Protein?
Yes. Bean curd is a complete protein, meaning it contains all nine essential amino acids in amounts your body can use.
This is not true of most plant foods. Grains tend to be low in lysine. Legumes tend to be low in methionine. Soy is unusual because it is low in neither. That is why soy protein is classified as a high-quality protein in nutrition science, comparable in quality to animal protein even though it comes from a plant.
There was a long-running idea that vegetarians had to carefully combine foods at every meal to get complete protein. That idea has been largely set aside. Your body maintains a pool of amino acids and balances them across the day. If you eat a variety of protein sources over 24 hours, you generally get what you need.
Still, having a complete protein like bean curd in the mix makes that easier. It removes the need to think about pairing. That is a practical benefit, not just a theoretical one.
How Does Bean Curd Fit Into A High-Protein Diet?
Bean curd works well as one protein source among several. It is not the only thing you would eat, and it does not need to be.
For a person eating around 100 to 150 grams of protein a day, a 150-gram serving of firm bean curd adds roughly 18 to 25 grams. That is a meaningful chunk. Pair it with rice, vegetables, and another protein source, and a meal can land in the 30 to 40 gram range without much effort.
Bean curd is also versatile in a way many proteins are not. It takes on the flavor of whatever it is cooked with. It can be baked, pan-fried, grilled, simmered, or blended. That flexibility makes it easier to eat often, which matters more than any single nutritional number.
One practical note: bean curd releases water when cooked. Pressing it before cooking firms up the texture and lets it brown instead of steam. This is a cooking point, not a health one, but it changes how satisfying the final dish is.
Does Cooking Or Processing Change The Protein In Bean Curd?
Cooking does not meaningfully reduce the protein content of bean curd. Heat can change texture and moisture, but the protein itself stays largely intact.
What does change the protein number is processing. Silken bean curd is more processed in the sense that it is not pressed, so it retains more water. Firm bean curd is pressed longer, so it is denser. Neither is “better” in a health sense. They are just different products for different uses.
Fermented soy products like tempeh and fermented bean curd have a different profile. Fermentation can change how easily some nutrients are absorbed, and it changes flavor and texture significantly. The protein content stays in a similar range, though it varies by product.
For most people, the practical takeaway is simple. Buy the firmness that suits your cooking, and read the label if you are tracking protein closely.
Who Should Be Careful With Bean Curd?
Bean curd is generally well tolerated, but a few groups have reason to pay attention.
People with a soy allergy should avoid bean curd entirely. Soy is one of the major allergens, and reactions can range from mild to serious.
People with thyroid conditions sometimes hear that soy interferes with thyroid function. The evidence here is more limited than the internet suggests. Some studies indicate that soy can affect thyroid hormone absorption in people who are already iodine deficient or who take thyroid medication. For most people with adequate iodine intake, soy does not appear to cause thyroid problems. If you take thyroid medication, the general guidance is to separate it from soy foods by several hours. Talk to your doctor about your specific situation.
People with kidney disease may need to manage protein intake overall, including plant protein. That is a conversation for a doctor or dietitian, not a general rule.
For everyone else, bean curd is a safe, well-studied food that has been eaten in parts of Asia for centuries.
Is Bean Curd A Good Protein Choice Overall?
Yes. Bean curd is a high-protein, complete-protein food that fits well into most diets.
It is not the highest-protein food per gram. Meat, eggs, and some dairy beat it on that measure. But it brings things they do not: no cholesterol, low saturated fat, fiber, and a complete amino acid profile from a plant source.
If you are looking to add more plant protein to your meals, bean curd is one of the most practical options available. It is affordable, widely sold, and easy to cook. The protein number on the label will tell you exactly what you are getting. For most people, that number is high enough to matter.
Frequently Asked Questions
Is bean curd high in protein?
Yes. Firm bean curd provides roughly 12 to 17 grams of protein per 100 grams, which makes it one of the higher-protein plant foods. Softer styles contain less because they hold more water.
Is bean curd a complete protein?
Yes. Bean curd contains all nine essential amino acids, which makes it a complete protein. This is unusual among plant foods and is one reason soy protein is considered high quality.
Which type of bean curd has the most protein?
Extra-firm and firm bean curd have the most protein per serving because they are pressed to remove more water. Silken bean curd has the least, often around 5 to 8 grams per 100 grams.
Can bean curd replace meat as a protein source?
It can replace meat in many meals, but you may need a larger portion to match the protein in meat. Firm bean curd has less protein per gram than chicken or beef, though it is lower in saturated fat and contains no cholesterol.

