These curtain panels are built from heart blocks. Each heart has a six-petal flower at its center, set in a ring of chain arches, with fanned lobes at the top and a crisp point at the bottom. Joined in a grid, the open frames around the hearts read as mesh. Sunlight comes through the gaps and turns the window soft and warm.
The whole set is one color, a pale butter yellow, so the texture does the work: dense petals, airy loops and a clean single-crochet outline. The style is cottage lace, light enough for a kitchen or breakfast nook. All instructions use US crochet terms.
One panel measures 19 x 61 in (48.3 x 154.9 cm) after the border, plus pointed edging at the bottom and fold-over tabs at the top. A pair of panels dresses a standard window.
You’ll make 60 identical heart blocks. Each heart is worked in the round and squared off with a frame of chain loops. The blocks are slip-stitched into two panels of 3 x 10. Then each panel gets a three-round border, three pointed tips along the bottom and five hanging tabs along the top.
Finished Size and Construction
- Panel size: 19 x 61 in (48.3 x 154.9 cm), plus 3 1/4 in (8.3 cm) points; total length 64 1/4 in (163.2 cm) below the tabs
- Skill level: Intermediate
- Terminology: US
- Yarn weight: Sport (2), cotton
- Hook: 3.25 mm (US D/3)
- Number of pieces: 60 heart blocks, 30 per panel, joined into 2 panels
- Layout per panel: 3 blocks wide x 10 blocks tall
- Block size: 6 x 6 in (15.2 x 15.2 cm)
- Panel size before border: 18 x 60 in (45.7 x 152.4 cm)
- Border depth: 1/2 in (1.3 cm) on each side
Materials
Choose a smooth, mercerized or combed cotton in sport weight, about 155 m per 50 g. Cotton holds the lace open, blocks crisply and stands up to window sun. Avoid fuzzy yarns, which blur the petal texture and fill in the mesh.
- Butter yellow: 900 g (about 2,790 m)
Each block uses about 13 g. The 60 blocks take about 780 g, and the borders, points and tabs take about 60 g more. The 900 g total includes a margin of roughly 60 g for gauge swings and test blocks.
Tools:
- 3.25 mm (US D/3) crochet hook
- Tapestry needle
- Stitch markers (at least 4)
- Scissors
- Measuring tape
- Blocking mats, rustproof pins and a spray bottle
Abbreviations (US Terms)
- ch – chain
- sl st – slip stitch
- sc – single crochet
- hdc – half double crochet
- dc – double crochet
- tr – treble crochet
- dtr – double treble crochet (yo 3 times, then work off loops in pairs)
- sc2tog – single crochet 2 together
- sk – skip
- st(s) – stitch(es)
- sp – space
- RS / WS – right side / wrong side
Special stitch – Petal: Ch 11. Working back toward the center, skip the first ch (this is the tip ch), then sc in next ch, hdc in next ch, dc in next 2 ch, tr in next 3 ch, dc in next 2 ch, hdc in next ch (10 sts on the chain).
Gauge and Checkpoints
Make one complete block and block it before starting the rest. Everything else in the pattern is sized from that block.
- After Round 1: ring is about 3/4 in (1.9 cm) across, with a small open hole at the center.
- After Round 5: circle is 3 1/2 in (8.9 cm) across.
- After Round 7: heart is 5 in (12.7 cm) wide and 5 in (12.7 cm) tall.
- After Round 9: square is 6 in (15.2 cm) per side, meaning 37 sc = 6 in (15.2 cm).
Block too big? Go down to a 3.0 mm hook, or shorten each ch-9 corner loop to ch 8.
Block too small? Go up to a 3.5 mm hook.
Only the Round 9 measurement must be exact. Measuring 1/4 in (0.6 cm) too large on every block adds 2 1/2 in (6.4 cm) to the panel length.

Heart Block (make 60)
Work every round with the RS facing you. Do not turn.
Round 1: Make a magic ring, ch 1, work 18 sc in the ring, then sl st to the first sc. Pull the ring snug but leave a hole about 1/4 in (0.6 cm) wide. (18 sts)
Round 2: Ch 3 (counts as dc), dc in the same st, then 2 dc in each remaining st around. Sl st to the top of the ch-3. (36 sts)
Round 3 (petals): *Sl st in next st, work Petal, sk next 4 sts, sl st in next st; repeat from * 5 more times. Fasten off. (6 petals; each repeat uses 6 sts of Round 2)
The petal chain folds into a teardrop that is anchored at both ends, with tall trebles making the widest part.
Round 4 (arches): Join with a sc in the tip ch of any petal. *Ch 9, sc in the tip ch of the next petal; repeat from * 4 more times. Ch 9, then sl st to the first sc. (6 sc, 6 ch-9 sps)
Round 5: Ch 1, sc in the same sc, 11 sc in the next ch-9 sp. *Sc in the next sc, 11 sc in the next ch-9 sp; repeat from * 4 more times. Sl st to the first sc. (72 sts)
Round 6 (heart shaping): Hold the circle with one petal pointing straight up. The sc sitting over that petal tip is st 1, the top dip. Join with a sc in st 1. Then work around:
- hdc in next 2 sts, dc in next 2 sts
- 2 tr in each of next 10 sts (first lobe)
- dc in next 13 sts, tr in next 8 sts
- (dtr, ch 3, dtr) in next st (bottom point; this st sits over the bottom petal tip)
- tr in next 8 sts, dc in next 13 sts
- 2 tr in each of next 10 sts (second lobe)
- dc in next 2 sts, hdc in next 2 sts
Sl st to the first sc. (93 sts and 1 ch-3 sp)
Check the count: 72 sts are worked into, and the 20 lobe stitches each gain 1 st, so 72 + 20 + 1 (the second dtr) = 93.
Round 7 (outline): Ch 1, sc in each st to the ch-3 sp, 3 sc in the ch-3 sp, then sc in each st to the end. Sl st to the first sc. (93 + 3 = 96 sts)
Number the sts: st 1 is the dip sc and st 49 is the middle sc of the 3 at the point.
Round 8 (square frame): Join with a sc in st 3. Each “loop” below means: ch the stated number, sk 3 sts, sc in the next st.
- Top side: 2 loops of ch 5
- Corner: 1 loop of ch 9
- Side: 5 loops of ch 5
- Corner: 1 loop of ch 9
- Bottom: 2 loops of ch 5, 1 loop of ch 3 (over the point), 2 loops of ch 5
- Corner: 1 loop of ch 9
- Side: 5 loops of ch 5
- Corner: 1 loop of ch 9
- Top: 2 loops of ch 5, then ch 7 and sl st to the first sc (this loop crosses the dip)
(24 sc anchors, 24 loops: 4 corner loops, 5 side loops per side)
The anchors fall on sts 3, 7, 11 and so on through 95, every 4th st. The top-center loop spans the dip and the bottom-center loop spans the point, so the frame is symmetrical.
Round 9 (square): Ch 1, sc in the same sc. Then work around:
- 5 sc in each ch-3, ch-5 or ch-7 loop
- (3 sc, ch 2, 3 sc) in each ch-9 corner loop
- sc in each anchor sc
Sl st to the first sc. Fasten off and weave in ends. (148 sts and 4 ch-2 corner sps)
Per side: 3 sc + 1 anchor + 5 x (5 sc + 1 anchor) + 3 sc = 37 sts, counted from corner sp to corner sp. That total includes the corner sc on each end, and 4 x 37 = 148. Block to 6 x 6 in (15.2 x 15.2 cm).
Make All Pieces
- Butter yellow: 60 blocks (30 per panel)
Each panel is laid out like this, with every block placed point down:
H H H
H H H
H H H
H H H
H H H
H H H
H H H
H H H
H H H
H H H
That’s 3 columns x 10 rows = 30 blocks per panel.
Joining
Block all 60 squares to 6 x 6 in (15.2 x 15.2 cm) before joining.
Method: Slip stitch join through back loops. Hold two blocks with the WS together, edges and corners matched. Working through the back loop of each block at the same time, sl st in each of the 37 sts along the side, one stitch to one stitch. The corner ch-2 sps are not worked.
- Join each column first: 10 blocks top to bottom, with 9 seams of 37 sl sts.
- Join the 3 columns side by side with 2 long seams. At each block boundary, go straight from the last st of one pair to the first st of the next. Do not add a chain over the meeting corner sps.
Tension: Your slip stitches should be as loose as your sc. If a seam puckers, take it out and redo it with a hook 0.5 mm larger.
Checkpoint: The joined panel measures 18 x 60 in (45.7 x 152.4 cm). The top edge has 3 x 37 = 111 sts and each long edge has 10 x 37 = 370 sts.
Border
Border gauge: 37 sc = 6 in (15.2 cm), and 6 rounds of sc = 1 in (2.5 cm). This matches Round 9 of the blocks.
Round 1: With the RS facing, join with a sc in the first st after a panel corner sp. Sc in each st along each side, skipping the paired corner sps at the internal seams. At each of the 4 panel corners, ch 2. Sl st to the first sc.
(Short sides: 111 sc. Long sides: 370 sc. Total 962 sc.)
Round 2: Sl st into the corner sp, ch 1, then work (sc, ch 2, sc) in the corner sp. Sc in each st along the side. Repeat this corner and side sequence around and sl st to the first sc.
(Short sides: 111 + 2 = 113. Long sides: 370 + 2 = 372. Total 970.)
Round 3: Repeat Round 2. Do not fasten off; sl st into the corner sp.
(Short sides: 113 + 2 = 115. Long sides: 372 + 2 = 374. Total 978.)
Why the math works: At 37 sc per 6 in (15.2 cm), 111 sc covers exactly 18 in (45.7 cm) and 370 sc covers exactly 60 in (152.4 cm). The border rounds sit flat because no extra stitches go in at the seams. The only increases are the 2 per corner per round, and those turn the corners. Three rounds add 1/2 in (1.3 cm) per side, which gives 19 x 61 in (48.3 x 154.9 cm).
Bottom Points
The bottom edge has 115 sts: 2 + (3 x 37) + 2. Each point sits under its block column.
Row 1: With the RS facing, join with a sc in the 3rd st of the bottom edge, then sc in the next 36 sts. (37 sts)
Row 2: Ch 1, turn, sc2tog, sc to the last 2 sts, sc2tog. (35 sts)
Rows 3–19: Repeat Row 2. Each row has 2 fewer sts than the row before, so Row 19 has 1 st. Fasten off.
Work the next point into the next 37 sts, then the third point into the next 37 sts, which leaves 2 sts at the far end. Each point is 6 in (15.2 cm) wide and 3 1/4 in (8.3 cm) deep.
Top Tabs
The top edge has 115 sts. Mark 5 tabs of 7 sts each at sts 1–7, 28–34, 55–61, 82–88 and 109–115. That leaves 4 gaps of 20 sts: (5 x 7) + (4 x 20) = 115.
Row 1: Join with a sc in the first st of a tab, then sc in the next 6 sts. (7 sts)
Rows 2–24: Ch 1, turn, sc in each st. (7 sts)
Each tab is about 1 1/8 in (2.9 cm) wide and 4 in (10.2 cm) long. Fold it to the WS and whipstitch the last row to the base of border Round 1. This makes a 2 in (5.1 cm) rod loop.
Final Blocking
- Weave in all remaining ends along the sc outlines, where they hide best.
- Soak each panel in cool water for 15 minutes, then press out the water in a towel. Do not wring.
- Lay the panel flat on mats and pin the corners to 19 x 61 in (48.3 x 154.9 cm).
- Pin along every seam line so each block sits at 6 in (15.2 cm).
- Pin out each point to a sharp tip and open each petal and chain arch with your fingers.
- Let it dry completely, which takes 24 hours, then unpin.
Final Quality-Control Checklist
- [ ] Every block has 6 petals and 6 arches.
- [ ] Every block has 37 sts per side.
- [ ] All hearts point down.
- [ ] Seams lie flat with no puckering.
- [ ] Border counts are 115 and 374 sts per side.
- [ ] Each panel measures 19 x 61 in (48.3 x 154.9 cm).
- [ ] The 3 points match in size and the 5 tabs are evenly spaced.
- [ ] Both panels hang at the same length.
Troubleshooting
- Petals twist: Keep the ch 11 loose and work into the back bumps.
- Circle cups after Round 5: Your sc are too tight. Ease your tension on the 11-sc groups.
- Heart is lopsided: Make sure st 1 sits over a petal tip, then recount 13 dc and 8 tr on each side.
- Square won’t block square: Lengthen the ch-7 top loop to ch 8, or shorten the ch-9 corner loops to ch 8.
- Panel is too long: Recheck Round 9 on several blocks. Even small differences add up across 10 rows.
- Border ruffles: You added stitches at the seams. Take out the round and work exactly 111 and 370.
- Points curl: Steam-block them flat and pinned.
Care
Hand wash in cool water with mild detergent, roll in a towel, and dry flat. Take the panels down before washing and reblock them so the lace stays open.

Final Notes
Everything in this pattern follows one chain of measurements. A 3/4 in (1.9 cm) ring grows to a 3 1/2 in (8.9 cm) flower circle and then a 5 in (12.7 cm) heart. The heart is framed into a 6 in (15.2 cm) square with 37 sts per side. Thirty squares join into an 18 x 60 in (45.7 x 152.4 cm) panel. Three border rounds bring it to 19 x 61 in (48.3 x 154.9 cm), and the points and tabs finish it. Get the first block right and the rest of the pattern follows from it.
Happy crocheting!