Malaysia · Southeast Asia

Roti Jala Malaysian Recipe for Lacy Curry Crepes at Home

Updated November 2, 2026

Total time
1 hr 5 min
prep 35 min · cook 30 min
Serves
4
portions as written
Safe temperature (USDA)
160°F / 71°C
check the thickest piece
Cuisine
Malaysia
Southeast Asia

Jump to recipe

Roti Jala Malaysian Recipe for Lacy Curry Crepes at Home

Roti jala is a Malaysian lacy crepe made from a lightly turmeric-tinted batter of flour, coconut milk, water, and eggs. Its delicate net-like shape is designed for scooping up curry, and the batter comes together quickly; family and regional versions vary in seasoning, color, and how the crepes are folded.

Ingredients

  • 1 1/2 cups (190 g) all-purpose flour
  • 1 1/4 cups (300 ml) canned coconut milk, well stirred
  • 1/2 cup (120 ml) water, plus up to 3 tablespoons (45 ml) more if needed
  • 2 large eggs (about 100 g without shells)
  • 1 tablespoon (15 ml) neutral oil, such as canola or sunflower oil
  • 1/2 teaspoon (about 1.5 g) ground turmeric
  • 1/2 teaspoon (3 g) fine salt
  • 1 tablespoon (15 ml) neutral oil for the pan, or as needed

Instructions

  1. Mix the batter. Put the flour, turmeric, and salt in a large bowl and whisk to distribute the turmeric evenly. In a second bowl or large measuring jug, whisk the coconut milk, water, eggs, and tablespoon of oil until blended. Pour the liquid into the flour gradually, whisking as you go, until there are no dry pockets. The batter should be smooth and pourable, similar to thin pancake batter, not as thick as a standard American pancake mix.
  2. Strain and rest. Pour the batter through a fine-mesh sieve into a jug to catch flour lumps or strands of egg. Cover and leave it at room temperature for 20 minutes. This short rest lets the flour hydrate and helps the batter flow through the holes without clogging. After resting, stir gently. If it has thickened, add water a tablespoon (15 ml) at a time, up to the listed extra amount, until it runs in a thin stream. Avoid adding a large splash all at once; a batter that is too thin makes fragile, broken lace.
  3. Prepare the roti jala tool and pan. A traditional roti jala cup has several small holes in its base. If you do not have one, use a clean squeeze bottle fitted with a multi-hole cap or a perforated batter dispenser. A single-hole bottle can work if you move it in quick overlapping circles, though the lines will be less evenly lacy. Set a nonstick skillet or well-seasoned flat pan over medium-low heat. Brush on a very thin film of oil; the surface should look lightly glistening, not pooled.
  4. Make one test crepe. Fill the dispenser no more than about two-thirds full so it is easy to control. Hold it a few inches above the pan and drizzle batter in overlapping circles, then cross the circles with a few quick lines. Aim for a loose web with joined strands rather than a solid puddle. Cook for about 60 to 90 seconds, until the surface looks matte and set and the edges begin to release. If the strands break, thicken the batter with a spoonful of flour whisked into a little batter first. If it will not flow, thin it with a little water.
  5. Cook the remaining crepes. Keep the heat at medium-low and make each crepe with roughly 3 tablespoons (45 ml) of batter, adjusting slightly for the size of your pan. The exact amount depends on the dispenser and the width of the lace pattern; use enough to make connected strands without filling every gap. Cook each one until set, usually 60 to 90 seconds. Roti jala is often cooked on one side only. If the top still looks wet, cover the pan for 10 to 15 seconds rather than turning up the heat, which can brown the bottom before the strands set.
  6. Fold and finish cooking. Loosen the edges with a thin spatula. Fold the crepe in half, then in half again, or roll it into a loose cylinder; either shape is easy to pick up with curry. The batter contains eggs, so USDA FSIS gives 160°F (71°C) as the safe minimum temperature for egg dishes; check the thickest folded portion of a crepe with a thin-tip food thermometer and cook until it reaches that temperature. Keep finished crepes covered with a clean towel while you cook the rest. Lightly oil the pan again only if the lace begins to stick.
  7. Serve warm. Continue until the batter is used, making about 12 to 14 crepes depending on how large and open you make the patterns. Stack or arrange them on a warm plate and serve while supple. If the batter separates while standing, give it a gentle stir before filling the dispenser again.

Tips

  • Use full-fat coconut milk for supple crepes. Stir the can thoroughly before measuring so the thick cream and thinner liquid are combined. Light coconut milk can be substituted, but the crepes may be less rich and can dry out more quickly; if the batter seems unusually thin, hold back a little water at first.
  • Keep the pan moderate, not smoking hot. Roti jala should set pale gold, with flexible strands. A very hot pan can scorch the turmeric and make the lace brittle before the top has cooked. If the first crepe browns in under a minute, lower the heat and let the pan settle before making the next.
  • Check the flow before filling the dispenser. A few drops should form narrow, continuous lines. If batter clings inside the holes, strain it again or thin it with a teaspoon of water. If it runs off the pan like water and the pattern will not hold together, whisk in a small amount of flour rather than adding a large quantity at once.
  • Make the pattern in a relaxed motion. You do not need a perfect grid. Overlapping circles and a few crossing lines make a useful net, while repeated passes in one spot create a thick, chewy patch. Wipe batter from the outside of the dispenser before it dries and blocks the openings.

Serving Suggestions

Serve roti jala warm beside a Malaysian-style chicken curry, beef curry, or vegetable curry, using the folded crepes to scoop up the sauce. Coconut-rich curry is a familiar pairing, but a tomato-based or gently spiced gravy works too. Put the curry in a serving bowl rather than pouring it over the crepes in advance; that keeps the delicate strands from turning soggy before everyone is ready to eat.

For a fuller meal, add a bowl of rice, sliced cucumber, or a simple vegetable dish. Offer sambal or another chili condiment at the table so diners can choose their own heat level. Roti jala can also be served with a little curry sauce as a snack or light lunch. If serving several dishes, keep the crepes loosely covered and bring them out just before the curry so they stay soft and easy to fold.

Variations

Use a traditional flour blend. Some cooks use a portion of rice flour for a slightly more delicate, crisp-edged texture. Replace up to 1/4 cup (30 g) of the all-purpose flour with rice flour, keeping the total flour at 1 1/2 cups (190 g). The lace may feel a little less elastic, so test one crepe and add a teaspoon of water if the strands break. Rice flour is a useful pantry substitute, though it does not make this recipe gluten-free because the remaining flour contains wheat.

Adjust the color and seasoning. Turmeric gives the batter its familiar warm yellow tone, but the amount is flexible. Use 1/4 teaspoon for a paler crepe or up to 3/4 teaspoon for a deeper color; more turmeric can taste earthy. A small pinch of ground cumin or coriander can add a savory note, but keep the seasoning restrained if the crepes will be served with a strongly flavored curry.

Make a dairy-free version. The recipe is already made without dairy when the ingredients are plain coconut milk and neutral oil. If coconut is unavailable, unsweetened oat milk can replace it measure for measure, but the crepes will have a milder flavor and less richness. Choose an unsweetened product, since sweetened milk can make a savory crepe taste unexpectedly sugary. Check the batter consistency after resting because different milk alternatives vary in thickness.

Try a different fold. Fold each crepe into a quarter for a compact side dish, or roll it around a spoonful of thick curry for a more substantial bite. Keep any filling fairly dry and cool enough to handle; loose, hot sauce can leak through the open lace. The classic open pattern is part of the appeal, so avoid overfilling if you want the crepes to remain easy to pick up.

Storage and Reheating

Let leftover crepes cool briefly, then refrigerate them within 2 hours of cooking. Stack them with small pieces of parchment between layers if you want to separate them easily, and seal the stack in an airtight container. Refrigerated roti jala keeps for 3 to 4 days. The crepes may firm up as they chill, but gentle reheating softens them again. Store curry separately so its moisture does not make the lace soggy.

To reheat a small portion, place the crepes in a covered skillet over low heat with a teaspoon of water nearby to create a little steam; warm for about 1 to 2 minutes, turning once if needed. A microwave also works: cover the stack with a barely damp paper towel and heat in short 15- to 20-second bursts until warm. For food safety, reheat leftovers to 165°F (74°C), checking with a food thermometer. Do not leave cooked crepes at room temperature for more than 2 hours. Freeze tightly wrapped crepes for up to 2 months for best quality, thaw in the refrigerator, and reheat until steaming hot.

Frequently Asked Questions

What is roti jala?

Roti jala means net or lacy bread in Malay. Despite the word roti, it is a soft, thin crepe rather than a yeasted loaf. Batter is drizzled through a perforated cup or dispenser onto a pan, creating fine strands that cook into a flexible web. It is commonly served folded with curry, though the exact batter and presentation vary between cooks.

Do I need a special roti jala cup?

A traditional multi-hole cup makes the characteristic pattern easiest, but it is not essential. A clean squeeze bottle with several small openings or a perforated batter dispenser can give similar results. A plain squeeze bottle can also make a lacy crepe if you move it steadily in overlapping loops, although the strands may be thicker and less uniform. Whichever tool you use, strain the batter first so lumps do not clog the holes.

Why is my roti jala tearing or sticking?

Tearing often means the batter is too thin, the pan is too hot, or the strands are not connected enough to lift as one piece. Add a little flour if the batter spreads too quickly, and make more overlapping passes in the pattern. Sticking can happen if the pan is not properly preheated or its coating is worn; use a nonstick or well-seasoned pan and brush on a very thin layer of oil. Let the crepe set before loosening it.

Can I make the batter ahead?

Yes. Cover the batter and refrigerate it for up to 24 hours. The flour may settle and the mixture may thicken, so whisk it gently before cooking and add water a teaspoon at a time if it no longer flows through the dispenser. Keep raw egg batter refrigerated rather than leaving it on the counter for an extended period. The 20-minute room-temperature rest in the recipe is enough for the flour to hydrate before cooking.

Can I make roti jala without coconut milk?

Yes. Unsweetened oat milk or another neutral, unsweetened plant milk can replace coconut milk in the same volume. Expect a less coconut-forward flavor and a somewhat lighter texture. Regular dairy milk also works if you use dairy, though it changes the flavor from the coconut-rich version. Whatever substitute you choose, let the batter rest and adjust with small amounts of water or flour until it drizzles in continuous strands.

How do I know when each crepe is done?

The lace should look matte rather than glossy, feel set when touched lightly, and lift from the pan without smearing. Keep the heat moderate so the bottom stays pale gold instead of crisping before the top cooks. Since this batter contains eggs, follow the USDA FSIS safe minimum of 160°F (71°C) for egg dishes; a thin-tip thermometer can check the thickest folded part. Cook further if the reading is below that temperature.

More recipes to cook

Safety notes: safe minimum internal temperatures from USDA FSIS; raw and undercooked fish guidance from the U.S. FDA. Food safety notes

Spotted an error? Tell us and we will correct it (corrections policy).