The Ember Lattice Curtain is a light, airy room divider or window panel made of open triangle motifs. Each triangle is a slim frame with a sharp point at every corner. When you join them point-up and point-down, the frames line up into continuous straight bars and six-point stars, like a geometric screen.
The sample is worked in one warm terracotta shade, which glows when light comes through the open lattice. A solid heading band runs along the top for clip rings, and a row of point-down triangles at the bottom ends in chunky tassels. The look is boho with clean geometry.
This pattern uses US crochet terms. One finished panel is 38.75 in (98.4 cm) across the heading and 42.6 in (108.2 cm) at its widest point. It is 55.1 in (140.0 cm) long from the top of the heading to the bottom triangle tips, or 60.1 in (152.7 cm) including tassels. The photographed curtain is a pair, so make two panels.
Construction is simple and repetitive. You make 75 identical triangles per panel. Then you join them into seven horizontal strips of 10 triangles each, stack the strips, add a fringe row of 5 triangles, work a 6-row single crochet heading, and attach 5 tassels.
Finished Size and Construction
- Finished panel size: 42.6 in (108.2 cm) at widest × 55.1 in (140.0 cm) long, plus 5 in (12.7 cm) tassels
- Skill level: Intermediate (easy stitches, but a lot of careful joining)
- Terminology: US
- Yarn weight: Worsted (#4), cotton or cotton blend
- Hook: 5 mm (H-8)
- Number of pieces: 75 triangles and 5 tassels per panel (150 triangles and 10 tassels for a pair)
- Layout: 7 strips of 10 alternating triangles, plus 1 fringe tier of 5 point-down triangles
- Piece size: 7.75 in (19.7 cm) per outer side; 6.7 in (17.0 cm) tall
- Size before border: 38.75 in (98.4 cm) along the top edge, 42.6 in (108.2 cm) at widest × 53.6 in (136.1 cm) long
- Border depth: 1.5 in (3.8 cm) heading band, top edge only
Materials
Use a smooth, firm worsted-weight cotton or cotton blend. Cotton keeps the triangle points crisp and resists stretching when the curtain hangs. Avoid fuzzy or very stretchy acrylics, because they blur the sharp lines that make this design work.
- Terracotta: about 560 g / 1,000 m per panel (1,120 g / 2,000 m for a pair). This assumes a yarn of roughly 180 m per 100 g.
- Tools: 5 mm (H-8) hook, tapestry needle, stitch markers, a 5.5 in (14.0 cm) piece of cardboard for tassels, scissors, rustproof pins, a blocking surface, and a measuring tape
- For hanging: 8 to 10 clip curtain rings per panel
All yarn amounts include a margin of about 15%. Buy all skeins from the same dye lot, because solid colors show dye-lot differences clearly in large flat areas.
Abbreviations (US Terms)
- ch: chain
- sl st: slip stitch
- sc: single crochet
- hdc: half double crochet
- st(s): stitch(es)
- sp: space
- rep: repeat
- RS: right side
Corner group: (2 sts, ch 2, 2 sts) all in the same ch-2 space. Corner ch-2 spaces are never counted as stitches.
Per-side count: In this pattern, a “side” means the stitches between two corner ch-2 spaces. The ch-2 spaces are not included in that count.
Gauge and Checkpoints
Gauge: 16 sc and 16 rows = 4 in (10.2 cm), worked in rows in sc on a 5 mm hook.
Make one full triangle before you commit to the whole curtain. Block it lightly and measure one outer side from corner tip to corner tip.
- After Round 1: each outer side is about 5.75 in (14.6 cm).
- After Round 2: each outer side is about 6.75 in (17.1 cm).
- After Round 3: each outer side is 7.75 in (19.7 cm). The frame is about 7/8 in (2.2 cm) wide, and the inner opening has sides of about 4.7 in (11.9 cm).
If your triangle is more than 1/4 in (0.6 cm) too big per side, go down half a hook size. If it is too small, go up half a size. Even a small error adds up: being 1/4 in (0.6 cm) off per triangle changes the heading width by 1.25 in (3.2 cm).
If the triangle cups, your corner groups are too tight, so loosen up at the corners. If it ruffles, your tension along the sides is too loose.

Triangle Motif (make 75 per panel)
Foundation: Ch 60. Without twisting the chain, sl st into the first ch to form a ring.
Round 1 (RS): Ch 1. Sc in the next 19 ch, (sc, ch 2, sc) in the next ch. Rep from * 2 more times. Join with a sl st to the first sc.
(63 sc: 21 sc per side, plus 3 ch-2 corner spaces)*
The ring uses exactly 20 chains per side: 19 single sc plus 1 corner chain. The single sc worked on each side of each corner become the end stitches of the neighboring sides, so every side holds 19 + 2 = 21 sc.
Round 2: Sl st into the next st. Ch 2 (does not count as a stitch). Hdc in the same st and in each st to the next ch-2 sp. Work (2 hdc, ch 2, 2 hdc) in the ch-2 sp, then hdc in each st to the next ch-2 sp. Rep from * once more. Work (2 hdc, ch 2, 2 hdc) in the last ch-2 sp, then hdc in each remaining st. Join with a sl st to the first hdc.
(75 hdc: 25 hdc per side, which is 21 + 4)*
This hdc round is a little taller than the sc rounds, which gives the frame its slightly raised center ridge.
Round 3: Ch 1. Sc in the same st and in each st to the next ch-2 sp. Work (2 sc, ch 2, 2 sc) in the ch-2 sp, then sc in each st to the next ch-2 sp. Rep from * once more. Work (2 sc, ch 2, 2 sc) in the last ch-2 sp, then sc in each remaining st. Join with a sl st to the first sc.
(87 sc: 29 sc per side, which is 25 + 4)*
Fasten off, leaving a 12 in (30.5 cm) tail for joining. Weave in the starting tail.
Each outer edge now has 31 joining points: a corner ch-2 sp, then 29 sc, then the next corner ch-2 sp. This 31-point edge is used for every seam and for the heading.
Make All Pieces
Each panel needs 75 terracotta triangles:
- 70 triangles for the 7 lattice strips (10 per strip)
- 5 triangles for the fringe tier
For a pair, make 150 triangles.
Here is the layout, top to bottom. ▽ means point down and △ means point up. The even strips sit half a triangle to the right of the odd strips.
HEADING BAND (over the 5 ▽ bases of Strip 1)
Strip 1: ▽△▽△▽△▽△▽△
Strip 2: △▽△▽△▽△▽△▽ (begins under the first △ of Strip 1)
Strip 3: ▽△▽△▽△▽△▽△
Strip 4: △▽△▽△▽△▽△▽
Strip 5: ▽△▽△▽△▽△▽△
Strip 6: △▽△▽△▽△▽△▽
Strip 7: ▽△▽△▽△▽△▽△
Fringe: ▽ ▽ ▽ ▽ ▽ (under the 5 △ bases of Strip 7)
TASSELS: one at each fringe tip
Each odd strip starts with ▽, and its flat top line is made of five ▽ bases, 38.75 in (98.4 cm) long. Each even strip starts with △. Its △ bases sit directly under the odd strip’s △ bases above, and its ▽ bases sit directly over the next odd strip’s ▽ bases below. Because the strips alternate like this, all the lattice lines meet exactly.
Joining
Method: Whip stitch with the tapestry needle through the outer (back) loops of Round 3, right sides facing up. This keeps the seam flat and makes each shared side look like one continuous bar.
Stitch-to-stitch logic: Hold two edges side by side. Match corner sp to corner sp, then sc to sc across all 29 stitches, then corner sp to corner sp. That gives 31 stitch pairs per seam. Every seam has exactly 31 pairs, so if you end up with a leftover stitch, a stitch was skipped.
Order:
- Strips: Join the 10 triangles of each strip along their slanted sides, giving 9 seams per strip.
- Strip 1 to Strip 2: Join the 5 ▽ bases on the bottom of Strip 1… wait, they point down, so instead join the 5 △ bases along the bottom of Strip 1 to the 5 ▽ bases along the top of Strip 2.
- Continue the same way down to Strip 7.
- Fringe: Join the top base of each fringe ▽ to one △ base along the bottom of Strip 7.
Star points: Where six corners meet, push the needle through all the corner spaces at that point and make 2 extra tight stitches. This holds the point together so it doesn’t open into a hole.
Tension: Pull each stitch just snug. If you pull too tight, the seam puckers and the panel gets shorter. If you leave it loose, the seam sags under the weight of the hanging curtain.
Size checkpoints:
- One strip spans 42.6 in (108.2 cm) and is 6.7 in (17.0 cm) tall.
- Two joined strips are 13.4 in (34.0 cm) tall.
- The finished body is 53.6 in (136.1 cm) long (8 tiers × 6.7 in).
Border: Heading Band
The heading is the only border. It is worked along the straight top line of Strip 1. The sides and bottom stay open on purpose, to keep the lattice look and the tassel fringe.
Border gauge: 16 sc and 16 rows = 4 in (10.2 cm), the same as the motif gauge. That way one heading stitch matches one motif edge stitch, and the band lies flat without ruffling.
Row 1 (RS): Join yarn in the right-hand corner ch-2 sp of the last ▽ in Strip 1. Ch 1. Then, across each of the 5 ▽ bases, work: 1 sc in the corner sp, 1 sc in each of the next 29 sts, 1 sc in the next corner sp. Turn.
(155 sc: 5 bases × 31 sts)
Rows 2–6: Ch 1, sc in each st across, turn.
(155 sc in each row)
Fasten off after Row 6. The heading is 1.5 in (3.8 cm) deep and 38.75 in (98.4 cm) wide.
Why the math works: Each ▽ base has 31 joining points (2 corner spaces plus 29 sc), and you work one sc into each. So 5 × 31 = 155 sc. No stitches are added at the seams, because each motif’s corner spaces are already counted in its own 31. At 4 sc per inch, 155 stitches measure 38.75 in (98.4 cm), which is exactly five 7.75 in (19.7 cm) triangle sides.
Tassels (make 5 per panel)
- Wrap yarn 40 times around the 5.5 in (14.0 cm) cardboard.
- Slide a 12 in (30.5 cm) strand under the wraps at the top and tie it tightly.
- Cut the loops at the bottom edge.
- Wrap a 15 in (38.1 cm) strand around the bundle 0.75 in (1.9 cm) below the top tie, then knot it and bury the ends inside the tassel.
- Trim the strands evenly to 5 in (12.7 cm).
Use the top-tie ends to attach one tassel to the corner ch-2 sp at the tip of each fringe triangle.
Final Blocking
- Weave in all remaining ends along the seams, where they won’t show.
- Lay the panel flat on a large blocking surface or a clean floor covered with towels.
- Pin the heading straight to 38.75 in (98.4 cm).
- Pin the panel to 53.6 in (136.1 cm) from the bottom edge of the heading to the fringe tips.
- Pin each strip’s outer corners in line, so the side zigzags stay even at 42.6 in (108.2 cm) across the widest point.
- Mist with water, or steam lightly from above without touching the yarn. Let it dry completely.
- Steam the tassels and smooth them straight with your fingers.
Final Quality-Control Checklist
- Every triangle has 87 sc in Round 3, with three sharp ch-2 corners.
- Every seam has 31 matched stitch pairs.
- Every six-corner star point is tied closed.
- Each strip has 10 triangles, and they alternate correctly.
- The heading has 155 sc in all 6 rows.
- There are 5 tassels, all 5 in (12.7 cm) long.
- The panel measures 55.1 in (140.0 cm) without tassels.
Troubleshooting
- Triangles cup: Your corner groups are too tight. Work the ch 2 more loosely, or go up a hook size.
- Edges wave: Your side stitches are loose. Tighten your tension or go down a hook size.
- Seams pucker: Loosen your whip stitches and check that each pair is matched one-to-one.
- The heading flares: Your heading gauge is looser than the motif gauge. Rework it with a smaller hook.
- Gaps at star points: Add one more tight stitch through all the corner spaces at that point.
- The panel stretches when hung: Add more clip rings so the weight is spread more evenly.
Care
Hand wash in cool water with mild soap, press out the water with a towel, and dry the panel flat to its blocked measurements. Don’t hang it to dry while wet, because the weight will stretch it.

Final Notes
Everything in this pattern builds on one measurement. A 7.75 in (19.7 cm) triangle side gives 31 joining points per edge. Ten triangles make a strip 42.6 in (108.2 cm) wide and 6.7 in (17.0 cm) tall. Eight tiers make a body 53.6 in (136.1 cm) long. The 155-stitch heading matches the five top bases exactly, and with the tassels the panel reaches 60.1 in (152.7 cm). For the second panel of a pair, simply hang it with the back facing out so its zigzag mirrors the first one. Check your first triangle carefully, and the rest of the curtain will come out right.
Happy crocheting!