This curtain is made of nine tall filet-crochet strips that hang side by side from a wooden rod. Each strip is an open grid of square meshes with a column of solid hearts running down the center.
The strips alternate deep burgundy and soft cream. They are never seamed together; each one hangs on its own folded tab loop, so the curtain parts easily as you walk through. The downward-pointing hearts are worked in the same color as their strip, so they show as denser shapes against the light.
The pattern uses US crochet terms. Each finished strip measures 6.0 in (15.2 cm) wide by 64.2 in (163.1 cm) long, with a tab loop about 2.4 in (6.1 cm) above the top edge. With 0.5 in (1.3 cm) between strips, the curtain spans 58 in (147.3 cm) on the rod.
Construction is simple:
- Work each strip from the bottom up in filet mesh.
- Add one round of single crochet border.
- Sew a single crochet tab to the back of the top edge and fold it into a loop.
Finished Size and Construction
- Finished strip size: 6.0 in x 64.2 in (15.2 cm x 163.1 cm)
- Skill level: Easy to intermediate
- Terminology: US crochet terms
- Yarn weight: Worsted (#4) cotton
- Hook: 5.0 mm (US H-8)
- Number of pieces: 9 strips (5 burgundy, 4 cream) plus 9 matching tabs
- Layout: 9 strips in one row, alternating colors, burgundy at both ends
- Piece size before border: 5.4 in x 63.6 in (13.7 cm x 161.5 cm), 9 meshes x 106 rows
- Border depth: 1 round of sc, 0.3 in (0.8 cm) per side
- Hearts: 10 per strip, each 7 meshes x 6 rows, 4.2 in x 3.6 in (10.7 cm x 9.1 cm)
Materials
Choose a smooth mercerized or combed worsted cotton with about 200 yd (183 m) per 100 g. Cotton keeps the mesh crisp and stretches less than acrylic over a long drop.
- Burgundy: 550 g, about 1,100 yd (1,006 m), for 5 strips and 5 tabs
- Cream: 450 g, about 900 yd (823 m), for 4 strips and 4 tabs
One strip with its border and tab uses about 195 yd (178 m). The quantities above include a margin of about 12-15 percent for swatching, gauge differences, and weaving in.
Tools:
- 5.0 mm (US H-8) crochet hook
- Tapestry needle
- Stitch markers
- Measuring tape
- Rust-proof pins and a long blocking surface
- Curtain rod up to 1.25 in (3.2 cm) in diameter, with brackets
Abbreviations (US Terms)
- ch – chain
- sl st – slip stitch
- sc – single crochet
- dc – double crochet
- sk – skip
- sp – space
- st(s) – stitch(es)
- RS / WS – right side / wrong side
Special stitches:
- Open mesh (O): ch 1, sk next st, dc in next dc. Counts as 2 sts.
- Filled mesh (F): dc in next st (ch-1 sp or dc), dc in next dc. Counts as 2 sts.
- Mesh row count: 1 starting post + 9 meshes x 2 sts = 19 sts.
Gauge and Checkpoints
Filet gauge: 10 meshes and 10 rows = 6 in (15.2 cm). Each mesh is 0.6 in (1.5 cm) square.
Sc gauge (border and tab): 7 sc = 2 in (5.1 cm); 10 sc rows = 3 in (7.6 cm).
Treat the first strip as your test piece. Measure it flat, without stretching, at these checkpoints:
- After Row 5: width 5.4 in (13.7 cm), height 3.0 in (7.6 cm)
- After Row 15 (first heart done): height 9.0 in (22.9 cm)
- After Row 55 (five hearts): height 33.0 in (83.8 cm)
- After Row 106: height 63.6 in (161.5 cm)
If the work is too big, go down 0.5 mm in hook size. If it is too small, go up 0.5 mm. If you are within 0.5 in (1.3 cm) at Row 106, blocking will correct it. If you are more than 1 in (2.5 cm) off, change hooks and restart.

Strip Pattern
Make 9 strips: 5 in burgundy and 4 in cream. Work from the bottom edge up. The hearts point downward, so each heart starts with its single-mesh tip. Mesh 1 and mesh 9 are open in every mesh row, and the heart always sits in meshes 2-8.
Foundation: Ch 21.
Row 1 (RS, solid row): Dc in 4th ch from hook (skipped chs count as dc) and in each ch across, turn. (19 sts)
Row 2 (open row): Ch 4 (counts as dc and ch 1), sk next dc, dc in next dc; [ch 1, sk next dc, dc in next dc] 8 times, working the last dc into the top of the turning ch, turn. (9 open meshes, 19 sts)
Rows 3-5 (open rows): Ch 4, dc in next dc; [ch 1, dc in next dc] 8 times, working the last dc into the 3rd ch of the turning ch-4, turn. (9 O, 19 sts)
Checkpoint: 5 rows, 3.0 in (7.6 cm) tall.
Heart Repeat (10 rows)
Each row begins with ch 4 (counts as dc and ch 1) and dc in next dc for mesh 1. The last dc of every row goes into the 3rd ch of the turning ch-4. The heart is symmetrical, so each row reads the same on RS and WS rows.
- Heart Row 1: O, O, O, O, F, O, O, O, O. (8 O, 1 F, 19 sts)
- Heart Row 2: O, O, O, F, F, F, O, O, O. (6 O, 3 F, 19 sts)
- Heart Row 3: O, O, F, F, F, F, F, O, O. (4 O, 5 F, 19 sts)
- Heart Row 4: O, F, F, F, F, F, F, F, O. (2 O, 7 F, 19 sts)
- Heart Row 5: O, F, F, F, F, F, F, F, O. (2 O, 7 F, 19 sts)
- Heart Row 6: O, O, F, F, O, F, F, O, O. (5 O, 4 F, 19 sts)
- Rows 7-10 of repeat: 9 O. (19 sts)
Heart Row 6 forms the two rounded lobes, with the dip at mesh 5. Heart Rows 4 and 5 are the widest part of the heart: 7 meshes, or 4.2 in (10.7 cm).
Rows 6-105: Work the Heart Repeat 10 times. The hearts sit on Rows 6-11, 16-21, and so on, with the last heart on Rows 96-101. Rows 102-105 are open.
Row 106 (solid row): Ch 3 (counts as dc). Work 2 dc in each mesh across (dc in ch-1 sp or dc, dc in next dc), working the final 2 dc into the turning ch-4 sp and its 3rd ch. Do not turn. (19 sts)
Each end of the strip now has 4 open rows plus a solid row, so the hearts are centered. Strip body: 5.4 in x 63.6 in (13.7 cm x 161.5 cm).
Hanging Tab (make 1 per strip, matching color)
Foundation: Ch 8.
Row 1: Sc in 2nd ch from hook and in each ch across, turn. (7 sc)
Rows 2-24: Ch 1 (does not count as a st), sc in each sc across, turn. (7 sc)
Fasten off, leaving a 16 in (40.6 cm) tail. Tab size: 2.0 in x 7.2 in (5.1 cm x 18.3 cm).
Make All Pieces
- Burgundy: 5 strips, 5 tabs
- Cream: 4 strips, 4 tabs
Layout from left to right as you face the curtain (B = burgundy, C = cream):
| B | C | B | C | B | C | B | C | B |
1 2 3 4 5 6 7 8 9
Each column is one 6.0 in (15.2 cm) strip. The gaps between strips are open space, not seams.
Joining: Tabs and Rod Assembly
The strips are not joined to each other. The only joining is sewing each tab to its own strip.
Placement: Row 106 has 19 sts. The tab covers the center 7 sts (sts 7-13), leaving 6 sts on each side (6 + 7 + 6 = 19).
- With the strip WS facing, lay one short end of the tab over the back of Rows 105-106. Line up its last row with sts 7-13 of Row 106, just below the top loops.
- Whipstitch stitch to stitch, 7 tab sts to 7 strip sts. Go through the back of each dc post only, so nothing shows on the RS.
- Fold the tab up and over into a loop. Lay the other end on top of the first and whipstitch its 7 sts through both layers into the same 7 strip sts.
- Tack the side edges of both tab ends to the Row 105 posts with 2-3 small stitches per side.
About 1.2 in (3.0 cm) of each tab end overlaps the strip. That leaves a loop 4.8 in (12.2 cm) around, standing about 2.4 in (6.1 cm) above the top edge. It fits a rod up to 1.25 in (3.2 cm) across.
Tension: Sew firmly but not tight. If the top edge puckers behind the tab, take the sewing out and redo it more loosely.
Size checkpoint: Once the border is done, the strip should measure about 66.6 in (169.2 cm) from the top of the loop to the bottom edge.
You can sew the tabs before or after the border. The border works only into the top loops of Row 106, so a tab sewn to the post backs won’t get in its way.
Border
Work the border on each strip separately. There are no shared seams, so every strip gets the same count.
Border gauge: 7 sc = 2 in (5.1 cm). One sc round adds 0.3 in (0.8 cm) of depth.
Round 1 (RS): Continue from Row 106 (or join yarn in its last st), ch 1, then work the four sides:
- Top edge: Sc in each st of Row 106. (19 sc) Ch 1 for the corner.
- First long side: 2 sc in each row end, from Row 106 down to Row 1. (212 sc) Ch 1 for the corner.
- Bottom edge: Sc in each of the 18 free loops of the foundation ch, then 1 sc at the base of the turning ch. (19 sc) Ch 1 for the corner.
- Second long side: 2 sc in each row end, from Row 1 up to Row 106. (212 sc) Ch 1 for the corner, then sl st to the first sc. Fasten off.
Round total: 19 + 212 + 19 + 212 = 462 sc, plus 4 corner ch-1 sps. The corner chains don’t count as sts, so no corner is counted twice.
Why the math works:
- Top and bottom edges: 1 sc goes into each existing st (19 to 19), so the width doesn’t change.
- Long sides: Each dc row is 0.6 in (1.5 cm) tall. Two sc at 3.5 sc per inch cover 0.57 in (1.4 cm). That’s within 5 percent of the row height, so it blocks out flat. One sc per row end would pull the edge in, and 3 would make it ruffle.
- Final size: Width 5.4 + 0.3 + 0.3 = 6.0 in (15.2 cm). Length 63.6 + 0.3 + 0.3 = 64.2 in (163.1 cm).
Final Blocking
- Weave in ends along dc posts and the border, never across open meshes.
- Soak each strip in cool water for 10 minutes, then gently press the water out without wringing.
- Roll the strip in a towel to remove more moisture.
- Lay it flat and pin the corners to 6.0 in x 64.2 in (15.2 cm x 163.1 cm).
- Pin both long sides every 4 in (10.2 cm), keeping the edges straight.
- Use your fingers to square each mesh to 0.6 in (1.5 cm), and check that the hearts are centered.
- Let it dry completely, at least 24 hours for cotton.
- Block all 9 strips to the same size so they hang level.
Final Quality-Control Checklist
- Every strip has 106 rows and 10 hearts.
- All hearts point downward and sit in meshes 2-8.
- Mesh 1 and mesh 9 are open in every mesh row.
- Each border round has 462 sc and 4 corner ch-1 sps.
- Each strip measures 6.0 in x 64.2 in (15.2 cm x 163.1 cm).
- Tabs are centered on sts 7-13 and invisible from the RS.
- All 9 loops are the same size, and the bottom edges line up.
- The color order is B, C, B, C, B, C, B, C, B.
Troubleshooting
- Meshes are tall rectangles: Your dc are too tall. Pull up less yarn, or try a smaller hook.
- Strip gets narrower: You’re missing the last dc into the turning ch. Count 10 posts in every mesh row.
- Hearts are lopsided: In Heart Row 1, the filled mesh must be mesh 5.
- Long sides ruffle: You’ve worked more than 2 sc per row end. Rip back and work exactly 2.
- Strips are different lengths: Confirm each has 106 rows, then re-block.
- Tab shows on the front: Re-sew it through the back of the post only.
Care
Hand wash, or machine wash on a gentle cool cycle in a mesh bag. Reshape and dry flat; don’t hang the strips wet, because the weight of the water stretches the mesh.

Final Notes
Your measurement chain:
- Each mesh is 0.6 in (1.5 cm).
- 9 meshes make the 5.4 in (13.7 cm) body width, and 106 rows make 63.6 in (161.5 cm) of length.
- One sc border round brings each strip to 6.0 in x 64.2 in (15.2 cm x 163.1 cm).
- A 7.2 in (18.3 cm) tab folds into a 2.4 in (6.1 cm) loop.
- Nine strips spaced 0.5 in (1.3 cm) apart fill 58 in (147.3 cm) of rod.
For a taller doorway, add one Heart Repeat for every extra 6.0 in (15.2 cm). Each added repeat needs about 18 yd (16.5 m) more yarn per strip.
Happy crocheting!