Easy Japanese Milk Bread Recipe (Soft and Fluffy)
This Japanese milk bread recipe makes a beautifully soft, fluffy loaf with a light, tender crumb. The bread is slightly sweet, has a lovely buttery flavor, and is delicious on its own or toasted. I use all-purpose flour instead of bread flour, and the result is so soft that you might find yourself pulling off another piece before the loaf has completely cooled!

Japanese milk bread, also known as Shokupan, gets much of its wonderful texture from a simple technique called Tangzhong. It involves cooking a small amount of flour with milk before adding it to the dough. Don’t let the name intimidate you; it’s one of the easiest parts of the recipe.
I’ll show you how I make the dough, how to tell when it has been kneaded enough, and how to shape it into the beautiful loaf you see in my photos.
What Is Japanese Milk Bread?
Japanese milk bread, or Shokupan, is a soft, slightly sweet bread commonly enjoyed for sandwiches, toast, and breakfast.
It has a fine, fluffy crumb and a tender crust. Unlike some breads that have a chewy interior and a firm crust, Japanese milk bread is soft throughout.
You can bake it with a rounded top, as I do in this recipe, or in a lidded Pullman loaf pan for square slices.
Why I Use All-Purpose Flour
Many Japanese milk bread recipes call for bread flour, but I use all-purpose flour because it’s an ingredient most people already have in their kitchens.
Bread flour contains more protein, which helps develop stronger gluten. It can produce a slightly chewier bread with more structure.
All-purpose flour gives my milk bread a beautifully soft and tender texture. You can use bread flour instead if you prefer, but the dough may feel a little different when kneading and shaping.
One thing I particularly like about the dough made with all-purpose flour is how easily I can shape it with my hands. I don’t always need a rolling pin.

What Is Tangzhong, and Why Does It Make Milk Bread Soft?
Tangzhong is a mixture of flour and liquid that is cooked until thickened. For this recipe, I use flour and whole milk.
Cooking the flour allows it to absorb and hold more moisture. When added to the bread dough, this helps create a soft, fluffy crumb and keeps the bread tender for longer.
The mixture should look similar to a smooth pudding when it’s ready.
I also use the Tangzhong mixture as part of my dough preparation. After cooking it, I add the remaining milk to cool it down before mixing in the sugar, yeast, and egg.
Important: Make sure the mixture is warm, not hot, before adding the yeast. Excessive heat can damage the yeast and prevent the dough from rising.
Ingredients You’ll Need
You can find the exact measurements in the recipe card below.
All-Purpose Flour
I use all-purpose flour for both the Tangzhong and the dough. It produces a soft, tender loaf without needing bread flour. If you prefer bread flour, you can use it in the same quantities.
Whole Milk
Whole milk adds flavor and richness to the dough. Part of it is used to prepare the Tangzhong, and the rest is added afterward.
Yeast
I use instant yeast in this recipe. Make sure it is fresh and active, especially if you’ve had the package open for some time.
Sugar
Sugar does two things: first, it adds a mild sweetness without making it taste like a dessert, second it also contributes in softer crumbs.
Egg
The egg helps create a tender crumb. I also brush the shaped dough with egg wash before baking for a golden finish.
Unsalted Butter
I add melted butter after the dough starts coming together. It adds flavor and tenderness.
Salt
Salt balances the sweetness and improves the bread’s flavor.

How to Make Japanese Milk Bread
The process is straightforward: prepare the Tangzhong, knead the dough, let it rise, shape it, and bake.
If this is your first time making milk bread, follow the step-by-step photos. Pay particular attention to how the dough changes during kneading and proofing.
Step 1: Prepare the Tangzhong
In a small saucepan, combine 2 tablespoons of flour with ½ cup of whole milk while the pan is still off the heat.
Whisk until there are no lumps.
Place the saucepan over medium heat and stir continuously until the mixture thickens to a pudding-like consistency.
Turn off the heat and add the remaining ½ cup of milk. Whisk until smooth.
Let the mixture cool until it is warm rather than hot. Add the sugar and yeast, and whisk to combine. Then add the egg and mix well.



Step 2: Make the Dough
Add the flour and salt to the bowl of a stand mixer fitted with a dough hook.
Pour in the Tangzhong mixture and begin kneading.
After about 2 minutes, when the dough starts coming together, gradually add the melted butter.
Continue kneading for approximately 10 minutes.
At first, the dough will feel sticky. As you knead, it becomes smoother and more elastic and begins pulling away from the sides of the mixer bowl.
Here’s how I know my dough is ready: It reaches a stage where it doesn’t just pull away from the bowl; I can press it with the back of a spatula, and the dough won’t stick to it.
I also check it using the windowpane test.



Step 3: Check the Dough with the Windowpane Test
Take a small piece of dough and gently stretch it between your fingers.
If you can stretch it thin enough to see light through it without tearing, the gluten has developed well.
If the dough tears quickly, continue kneading for a little longer and check again.
Don’t be tempted to add extra flour just because the dough feels sticky at the beginning. Give the mixer time to develop the dough first.

Step 4: Let the Dough Rise
Lightly grease a large bowl and place the dough inside.
Cover and leave it in a warm place for approximately 1½–2 hours, or until it has roughly doubled in size.
The time depends on your kitchen temperature. If your kitchen is cool, the dough may take longer to rise.

Step 5: Divide and Shape the Dough
Gently press the risen dough to release excess gas.
Divide it into four equal portions and shape each into a ball.
For the loaf shown in my photographs, I used three portions in an 8½ × 4½-inch loaf pan and turned the fourth portion into buns.
Why? I didn’t have a loaf pan large enough to fit all four portions while giving me the appearance I wanted. I also thought it would be a good opportunity to see how this dough would behave as buns.
I’m glad I tried it! The buns tasted just as good as the loaf and had a similarly light, fluffy texture.
To shape each portion:
- Flatten or roll the dough into a rectangle approximately 8–9 inches long. With all-purpose flour, I can usually do this with my hands.
- Fold the top toward the center.
- Fold the bottom over the first fold.
- Rotate the folded dough 90 degrees.
- Roll it up and pinch the seam closed.
Place the rolls in the greased loaf pan with the seams facing down.
Repeat with the remaining portions.







Step 6: Let the Shaped Dough Rise Again
Cover the loaf pan and leave the dough to rise for approximately 30–40 minutes.
Don’t rely only on the time. The rolls should look plump, touch one another, and rise slightly above the rim of the pan.
That’s how the dough looks in my photograph just before I brush it with egg wash.
If the rolls are still sitting low in the pan after 40 minutes, give them more time.

Step 7: Bake the Japanese Milk Bread
Preheat the oven to 350°F (180°C).
Beat an egg with 2 tablespoons of water and lightly brush the risen dough with the egg wash.
Bake for approximately 20–25 minutes, or until the top is beautifully golden brown and the loaf is baked through.
Remove the loaf from the oven and leave it in the pan for about 10 minutes.
Then transfer it to a wire rack to cool.
💡Tip: Sometimes, I brush the top with a little butter after baking for extra flavor. This is optional, but it’s a nice finishing touch.
If you made buns with the remaining dough, they usually take approximately 12–14 minutes at the same oven temperature, depending on their size.


My Tips for Soft and Fluffy Japanese Milk Bread
- Give the dough enough kneading time. The dough starts sticky but becomes smooth and elastic. Look for the spatula test and windowpane test rather than judging it only by the number of minutes.
- Don’t add yeast to hot Tangzhong. Adding the remaining milk helps cool the mixture, but always check its temperature before adding the yeast.
- Measure the flour carefully. If you’re using cups, spoon the flour into the measuring cup and level it off. Scooping directly from the bag can pack in too much flour.
- Watch the dough during proofing. The first rise should give you a noticeably expanded dough, while the shaped rolls should become plump and rise slightly above the pan rim.
- Handle the dough gently while shaping. Avoid pulling it so hard that it tears. You want smooth rolls that can expand nicely during baking.
- Use the right pan for the amount of dough. If you have a smaller loaf pan like mine, making three rolls and using the remaining dough for buns is a practical option.
Frequently Asked Questions
Can I Make Japanese Milk Bread with All-Purpose Flour?
Yes! That’s exactly what I use in this recipe.
The loaf has a light, tender crumb, and the dough becomes smooth and stretchy with enough kneading. Bread flour is another option, but it may give the bread a slightly chewier texture.
Why Is My Japanese Milk Bread Dense?
Dense milk bread can happen when the dough hasn’t been kneaded enough, the yeast isn’t active, or the dough hasn’t had enough time to rise.
Make sure the dough passes the windowpane test and allow it to proof properly. Don’t depend entirely on the rising times because kitchen temperatures vary.
Adding too much flour while kneading can also make the finished bread heavier.
Can I Knead Japanese Milk Bread by Hand?
Yes, although it takes longer than using a stand mixer.
The dough can be sticky at first, so be patient. Hand kneading may take approximately 12–14 minutes or longer, depending on your technique. Look for a smooth, elastic dough that passes the windowpane test.
Can I Refrigerate the Dough Overnight?
Yes. After kneading, place the dough in a lightly greased, covered container with enough room for expansion and refrigerate it overnight.
The next day, let it become workable if needed, then shape it and allow it to rise before baking. The second rise may take longer because the dough is cold.
How Do I Know When Japanese Milk Bread Is Fully Baked?
The top should be golden brown, and the loaf should feel set rather than doughy.
If you have an instant-read thermometer, you can check the center. An internal temperature of approximately 190–200°F (88–93°C) is a useful guide for this enriched loaf.
Let it cool on a wire rack before slicing so the crumb has time to set.
What’s the Difference Between Japanese Milk Bread and Brioche?
Both are enriched breads, but brioche generally contains much more butter and eggs, giving it a richer flavor and texture.
Japanese milk bread is lighter, with a soft, fluffy crumb. The Tangzhong method also helps it retain moisture.
Can I Use This Dough to Make Milk Bread Rolls?
Yes. I used one portion of the dough to make buns because I didn’t have a larger loaf pan, and they turned out beautifully.
They had the same delicious flavor and a similarly light texture as the loaf. Just remember that smaller buns bake faster than a full loaf.

Ways to Enjoy Japanese Milk Bread
This bread is delicious while it’s fresh, but it also makes wonderful toast the next day.
I like how versatile it is. You can serve it with butter and jam, make soft sandwiches, or use thicker slices for French toast.
How to Store Japanese Milk Bread
Allow the bread to cool completely before storing it.
Keep it in an airtight bag or container at room temperature for up to 2 days.
For longer storage, slice the loaf and freeze it in a freezer-safe bag for up to 3 months.
Freezing individual slices makes it easy to take out only what you need. You can thaw them at room temperature or toast them directly from frozen.
More Bread Recipes to Try

Easy Japanese Milk Bread Recipe
Ingredients
For the Tangzhong
- ½ cup whole milk
- 2 tablespoons all-purpose flour or bread flour
For the Dough
- ½ cup whole milk at room temperature
- 3 tablespoons sugar
- 2½ teaspoons instant yeast
- 1 large egg at room temperature
- 2½ cups all-purpose flour or bread flour
- ¼ cup unsalted butter melted
- 1 teaspoon salt
For the Egg Wash
- 1 egg
- 2 tablespoons water
Instructions
Prepare the Tangzhong
- In a small saucepan, whisk together 2 tablespoons flour and ½ cup whole milk while the pan is off the heat.
- Place over medium heat and stir continuously until the mixture becomes thick and pudding-like.
- Turn off the heat and whisk in the remaining ½ cup milk. Allow the mixture to cool until warm, not hot.
- Add the sugar and instant yeast and whisk to combine. Add the egg and mix well.
Make the Dough
- Add the flour and salt to the bowl of a stand mixer fitted with a dough hook.
- Pour in the Tangzhong mixture and knead for approximately 2 minutes.
- Gradually add the melted butter and continue kneading for approximately 10 minutes, or until the dough becomes smooth and elastic.
- Check the dough by pressing it with the back of a spatula. It should no longer stick. Perform the windowpane test by stretching a small piece thin enough to let light through without tearing.
- Lightly grease a large bowl, place the dough inside, cover, and let rise in a warm place for approximately 1½–2 hours, or until roughly doubled.
Shape the Dough
- Gently press the dough to release excess gas and divide it into four equal portions.
- For an 8½ × 4½-inch loaf pan, use three portions for the loaf and reserve the fourth for buns.
- Flatten each portion into an approximately 8–9-inch-long rectangle. Fold the top toward the center, then the bottom over it.
- Rotate the dough 90 degrees, roll it up, and pinch the seam closed.
- Arrange the three rolls seam-side down in the greased loaf pan.
- Cover and let rise for approximately 30–40 minutes, or until the rolls look puffy and rise slightly above the rim of the pan.
Bake
- Preheat the oven to 350°F (180°C).
- Beat the egg with 2 tablespoons water and lightly brush the dough.
- Bake for approximately 20–25 minutes, or until golden brown and baked through.
- Let the loaf rest in the pan for 10 minutes, then transfer it to a wire rack to cool.
- If making buns from the remaining dough, bake them at the same temperature for approximately 12–14 minutes, depending on size.
Notes
- The dough starts sticky but becomes smooth and elastic as you knead. Avoid adding unnecessary flour.
- Use the windowpane test to check gluten development.
- Make sure the Tangzhong mixture is warm rather than hot before adding yeast.
- I use all-purpose flour, but bread flour can be substituted using the same quantities.
- Proofing times depend on your kitchen temperature.
- Use the appearance of the dough as your guide.
- The three-roll loaf and remaining buns are the version I tested using an 8½ × 4½-inch loaf pan.
- You can brush the baked loaf with a little melted butter for extra flavor.
- Store at room temperature for up to 2 days or freeze for up to 3 months.

Chef turned stay at home day here – this recipe is excellent. My daughter (12) loves to bake and she sent me this recipe, we’ve made several loaves over the last week. Yesterday, for her bday, we used this recipe for burger buns and they were just as good. For the buns we weighed them out to 100g each and uped to temp to 400F (no convection) for the bake. I pulled them out at 180F internal. Before baking add maldon sea salt on top of the egg wash for a nice salty crunch.
I’m pretty sure i used this recipe around the time it first came out in 2023, just used it again it’s super easy and well explained! My family loves when i bake this bread they love it so thank you!!
You are welcome, and enjoy baking 🙂
This is my third time to make this delicious bread. Everyone in my immediate and extended family loved it.
Thank you so much! Happy baking!
You are most welcome, I’m glad you enjoyed baking it.
Hi Muna,
I am not a very experienced bread maker and I am still learning as I go along. I made your bread for the first time last night. My initial dough was wetter than expected so I added extra flour, probably more than I am supposed to. I used a stand mixer and the dough didn’t have the “window pane” consistency so I was concerned that I over mixed my dough and used too much flour.
To my great surprise and relief, the bread came out great by some miracle. If I didn’t add so much flour or mixed it too long, the bread might even have been better. For next time, what can I do if the dough is too wet?
Thank you for a great recipe! I like that it can be made with ingredients I normally have at home.
Hi Kenny,
Thank you so much for trying my recipe, it means a lot to me. As for the dough being wet, one brand of flour most of the time acts a little different than the other, so I suggest next time, if you are adding more flour make it a tablespoon at a time and knead for 2 to 3 minutes, for the new addition of flour to get wet and create gluten. Most of the time a wet dough will still result in a good bread however, it will take a littlt longer time to bake, and usually the crumbs will comeout softer and more tender. I’m sure next time you’ll bake a much better version. All the best 😊