Classic French Croissants

Classic French Croissants

Buttery, flaky, golden croissants made the classic French way — with a laminated dough that creates hundreds of paper-thin layers. This approachable, well-tested recipe breaks the process into manageable stages over two days, so you're never rushed. The result is a bakery-quality croissant with a shattering crust, honeycomb interior, and that unmistakable rich, buttery flavor. Worth every fold.

12 servings · Prep 120 min · Cook 20 min · Total 960 min

Bread

Main

  • 500 g bread flour plus more for dusting
  • 10 g instant yeast
  • 60 g granulated sugar
  • 10 g fine salt
  • 300 ml whole milk warm (about 75°F / 24°C)
  • 30 g unsalted butter softened, for the dough
  • 280 g European-style unsalted butter cold, at least 82% fat

Egg Wash

  • 1 egg
  • 2 tbsp whole milk
  • 1 pinch fine salt

Equipment

  • Oven
  • Stovetop
  • Stand Mixer
  • Aluminum Foil
  • Baking Sheet
  • Parchment Paper
  • Mixing Bowl
  • Skillet
  • Plastic Wrap
  • Pizza Cutter
  • Dough Hook
  • Wire Rack
  • Fridge
  • Rolling Pin
  • Pastry Brush
  • Whisk
  • Knife
  • Jelly Roll (10x15)
  • Kitchen Scale
  • Mixing Bowl (4 Quarts)

Instructions

  1. In a @[Egg] #[Mixing bowl] or the bowl of a #[Stand mixer], #[Whisk] together the @[Bread flour], @[Instant yeast], @[Sugar], and @[Fine salt]. Make sure the salt and yeast are on opposite sides of the bowl before mixing — salt can inhibit yeast activity if they sit in direct contact.
  2. Add the @[Milk] and softened @[European-style butter]. Mix with a @[Unsalted butter] hook ^[on low] speed (or by hand) until a shaggy dough forms, then increase ^[to medium-low] and knead for ~[4–5 minutes] until the dough is smooth and just slightly tacky — do not over-develop the gluten. The dough should be pliable but not sticky. If mixing by hand, knead on a lightly @[Bread flour] surface.
  3. Shape the @[Unsalted butter] into a flat rectangle (about 8x6 inches), wrap tightly in plastic wrap, and refrigerate for at least ~[1 hour], or up to overnight. Chilling the dough firms it up so it layers evenly with the @[European-style butter] block.
  4. Place the @[Milk] @[European-style butter] between two sheets of #[Parchment paper]. Using a #[Rolling pin], beat and roll the butter into a flat 7-inch square, about ¼-inch thick. The butter should be pliable but still @[Milk] and firm — it should bend slightly without cracking. If it cracks when you flex it, let it sit at room @[Egg] for ~[2–3 minutes]. If it feels greasy or soft, refrigerate it for ~[10 minutes]. The butter and @[Unsalted butter] must be at similar temperatures for clean lamination.
  5. On a lightly @[Bread flour] surface, roll the chilled @[Unsalted butter] into a rectangle roughly 10x7 inches. Place the @[European-style butter] block in the center of the dough, oriented like a diamond on the rectangle (rotated 45°). Fold the four flaps of dough over the butter like an envelope, pinching all seams firmly to fully enclose the butter. Press gently with the #[Rolling pin] to seal.
  6. This is the first fold (a 'letter fold' or 'single turn'): With a seam side down, roll the @[Unsalted butter] package out into a long rectangle, approximately 8x20 inches. Work gently and evenly — if the @[European-style butter] starts to break through, dust lightly with @[Bread flour] and chill for ~[10 minutes]. Fold the dough into thirds like a business letter (bottom third up, top third down). Wrap in plastic and refrigerate for ~[30 minutes].
  7. Perform the second fold: Remove the @[Unsalted butter] from the fridge. Orient it so the open seam faces right (like a book). Roll again into an 8x20-inch rectangle and fold into thirds again. Wrap and refrigerate for ~[30 minutes]. Repeat this process one more time for a total of 3 letter folds, chilling ~[30 minutes] between each. After the third fold, refrigerate the dough for at least ~[1 hour], or overnight for best results.
  8. On a lightly @[Bread flour] surface, roll the laminated @[Unsalted butter] into a @[Egg] rectangle approximately 8x24 inches and about ⅛-inch thick. Work quickly and keep the dough @[Milk] — if it starts to resist or shrink back, cover and rest it for ~[10 minutes] before continuing.
  9. Using a sharp #[Knife] or pizza cutter, trim the edges (this helps the layers open during baking). Cut the @[Unsalted butter] into 12 long triangles: first cut the rectangle in half lengthwise to make two 4x24-inch strips, then cut each strip into 6 triangles with a base of about 4 inches.
  10. To shape each croissant: hold the wide base of a triangle and gently stretch it to elongate slightly. Make a small ½-inch notch in the center of the base with a #[Knife] — this helps the croissant curve evenly. Starting from the base, roll the triangle tightly toward the tip, applying gentle pressure. Place on a parchment-lined #[Baking sheet] with the tip tucked underneath. Curve the ends slightly inward to form the classic crescent shape. Space croissants at least 3 inches apart.
  11. #[Whisk] together the @[Egg], @[Milk], and pinch of @[Fine salt] for the egg wash. Brush each croissant lightly with egg wash — avoid letting it drip down the cut sides, which can glue the layers together and prevent them from opening. Reserve the remaining egg wash.
  12. Proof the croissants at room @[Egg] (ideally ![75–78°F]) for ~[2–3 hours], until they are visibly puffy, jiggle slightly when the #[Pan] is shaken, and you can see the layers when viewed from the side. Do not proof in a @[Milk] #[Oven] — @[European-style butter] must stay intact in the layers. If your kitchen is @[Milk], keep a close eye; if cool, proofing can take up to ~[4 hours].
  13. Preheat your #[Oven] to ![400°F] with a rack in the center position. Just before baking, apply a second light coat of @[Egg] wash to each croissant for a deep golden, glossy finish.
  14. Bake for ~[18–20 minutes], until the croissants are a deep, rich amber-brown on top and golden on the sides and bottom. They should feel light when lifted. If they're browning too quickly, tent loosely with foil after the first ~[12 minutes]. Transfer to a #[Wire rack] and let cool for at least ~[15 minutes] before eating — the interior is still setting as they cool.