This little heart is made from eight tiny round motifs in bright red cotton thread. Each motif has a solid center, a ring of treble clusters, and an outer ring of open chain loops. Joined together, the motifs form an open, lacy heart with holes throughout, finished with a scalloped edge and a sturdy hanging loop at the top.
It is a classic holiday ornament. Tie it onto a kraft-paper gift box with red-and-white baker’s twine, hang it on the tree, or tuck it into a card.
The pattern uses US crochet terms. The finished heart measures about 3.5 in (8.9 cm) wide and 4.1 in (10.4 cm) tall, not counting the hanging loop.
You will make 8 small circular motifs, each 1 in (2.5 cm) across, and join them as you go in a 2-3-2-1 layout. Then you will work a two-round border around the whole heart and add the hanging loop at the top center.
Finished Size and Construction
- Finished size: 3.5 in (8.9 cm) wide x 4.1 in (10.4 cm) tall, plus a 1.5 in (3.8 cm) hanging loop
- Skill level: Intermediate (thread work, clusters, join-as-you-go)
- Terminology: US
- Yarn weight: Lace (#0), size 10 crochet cotton thread
- Hook: 1.75 mm steel hook
- Number of pieces: 8 circular motifs, joined as you go into one heart
- Layout: 2-3-2-1 (top lobes, widest row, lower row, tip)
- Piece size: 1 in (2.5 cm) diameter per motif
- Size before border: 3 in (7.6 cm) wide x 3.6 in (9.1 cm) tall
- Border depth: 0.25 in (0.6 cm) on every edge
Materials
Use a mercerized size 10 cotton thread. It holds cluster stitches crisply, blocks well with starch, and gives clean stitch definition. Avoid fuzzy or acrylic thread, which hides the open holes.
- Red: 6 g / 50 m size 10 cotton thread
Tools:
– 1.75 mm steel crochet hook
– Fine tapestry needle
– Small scissors
– 1 locking stitch marker
– Ruler or tape measure
– Blocking mat, rustproof pins, and spray starch
The thread quantity includes a margin of roughly 25% for gauge swatching and weaving in ends.
Abbreviations (US Terms)
- ch – chain
- sl st – slip stitch
- sc – single crochet
- hdc – half double crochet
- dc – double crochet
- tr – treble crochet
- cl – cluster
- MR – magic ring
- sk – skip
- sp – space
- st(s) – stitch(es)
- yo – yarn over
- RS – right side
- JAYG – join as you go
Special stitches
3-tr cluster (3-tr cl): [Yo twice, insert hook in st, yo and pull up a loop, (yo, pull through 2 loops) twice] 3 times in the same st, then yo and pull through all 4 loops on hook.
Beginning cluster (beg cl): Ch 3, then work a 2-tr cluster in the same st: [yo twice, insert hook, yo and pull up a loop, (yo, pull through 2 loops) twice] 2 times, yo and pull through all 3 loops on hook.
Joining loop (JAYG loop): Instead of ch 3, work ch 1, sl st into the matching ch-3 loop of the neighboring motif, ch 1. This still counts as one ch-3 loop.
Gauge and Checkpoints
Make one complete motif before starting the heart. Gauge matters here because eight motifs multiply any error.
Checkpoints for one motif:
– After Round 1: center measures 0.3 in (0.8 cm) across
– After Round 2: 0.8 in (2.0 cm) across, measured cluster tip to cluster tip
– After Round 3: 1 in (2.5 cm) across, measured loop tip to loop tip
If your motif is too big, go down to a 1.5 mm hook. If it is too small, go up to a 2.0 mm hook. A difference of 0.1 in (0.3 cm) per motif adds up to 0.3 in (0.8 cm) across the heart’s widest row.
Your test motif can become Motif A, so keep it if it matches.

Circular Motif (Make 8)
Each motif is three rings: a solid sc center, a ring of 6 treble clusters, and an outer ring of 12 open loops.
Round 1: MR, ch 1, 12 sc in ring, sl st to first sc to join. Pull the ring tight. (12 sc)
Round 2: Beg cl in same st, ch 2, sk next sc, [3-tr cl in next sc, ch 2, sk next sc] 5 times, sl st to top of beg cl. (6 clusters, 6 ch-2 sps)
This is the cluster ring. The ch-2 spaces create the first set of holes.
Round 3: Sl st into first ch-2 sp, ch 1, [sc in ch-2 sp, ch 3, sc in top of next cluster, ch 3] 6 times, sl st to first sc. (12 sc, 12 ch-3 loops)
Fasten off for Motif A only. All other motifs are joined during Round 3 (see Joining).
Loop positions: Think of the 12 loops as the hours on a clock. Loops at 1, 3, 5, 7, 9, and 11 o’clock are join loops. Loops at 12, 2, 4, 6, 8, and 10 o’clock are free loops. Join loops always point straight at a neighbor in this layout, because neighbors sit 60 degrees apart.
Make All Pieces
Quantity per color: Red: 8 motifs (A through H).
Layout grid (front view, RS facing):
ROW 1: RED(D) RED(E)
ROW 2: RED(A) RED(B) RED(C)
ROW 3: RED(F) RED(G)
ROW 4: RED(H)
Rows 1 and 3 sit offset, nestled between the motifs of Row 2. Row 4 is the heart’s tip. Motif B in the center touches all six neighbors.
Joining
Method: Join as you go during Round 3 of each new motif. Work Round 3 normally, and when you reach a join loop that faces an existing motif, replace its ch 3 with a JAYG loop.
Join order and loop matching (new motif’s loop to existing motif’s loop):
- A: Complete, no joins.
- B: B 9 o’clock to A 3 o’clock. (1 join)
- C: C 9 o’clock to B 3 o’clock. (1 join)
- D: D 7 o’clock to A 1 o’clock; D 5 o’clock to B 11 o’clock. (2 joins)
- E: E 9 o’clock to D 3 o’clock; E 7 o’clock to B 1 o’clock; E 5 o’clock to C 11 o’clock. (3 joins)
- F: F 11 o’clock to A 5 o’clock; F 1 o’clock to B 7 o’clock. (2 joins)
- G: G 9 o’clock to F 3 o’clock; G 11 o’clock to B 5 o’clock; G 1 o’clock to C 7 o’clock. (3 joins)
- H: H 11 o’clock to F 5 o’clock; H 1 o’clock to G 7 o’clock. (2 joins)
Total: 14 joins.
Stitch-to-stitch logic: Every motif still has 12 sc and 12 loops. A joined loop is simply a loop made of ch 1, sl st, ch 1 instead of ch 3. Consecutive join loops are always separated by one free loop, so you never join two loops in a row.
Tension: Keep the ch 1 on each side of the sl st the same size as your normal chains. Tight joins pucker the heart. Loose joins leave gaps. Lay the piece flat after each motif to check.
Size checkpoint: After all 8 motifs, Row 2 measures 3 in (7.6 cm) wide. The heart measures 3.6 in (9.1 cm) from the top of D or E to the bottom of H. The piece should lie flat without cupping.
Border
Border gauge: Round 1 works 3 sc into each free outer loop. Each loop spans about 0.26 in (0.7 cm) of the motif’s edge, giving roughly 11.5 sc per inch (4.5 sc per cm). This keeps the edge flat without ruffling.
Counting the outer edge: Some free loops face inward into the small triangular gaps between three motifs. Do not work into those. Only work loops on the outside of the heart:
- D, A, E, C: 7 outer loops each (28)
- F, G: 5 outer loops each (10)
- H: 9 outer loops
- B: 0 (fully enclosed)
- Total: 47 outer loops
There are also 7 junctions along the outside edge, where two motifs meet: D-E (top center), D-A, A-F, F-H, H-G, G-C, and C-E.
Round 1 (RS): Join thread with sc under the joining sl st at the D-E junction (top center). Working counterclockwise, 3 sc in each outer loop of the next motif, hdc under the joining sl st at the next junction; repeat around, working 3 sc in each outer loop. Work only sc at the top-center junction (already done) so the heart keeps its dip. Sl st to first sc.
Stitch count for Round 1:
– Outer loops: 47 x 3 sc = 141 sts
– Side junctions: 6 hdc
– Top-center junction: 1 sc
– Total: 148 sts
Per side:
– Left half (D, A, F, and H’s left 4 loops): 23 loops x 3 = 69 sc + 3 hdc = 72 sts
– Right half (E, C, G, and H’s right 4 loops): 72 sts
– Tip loop (H at 6 o’clock): 3 sc
– Top-center sc: 1
– 72 + 72 + 3 + 1 = 148 ✓
Round 2 (scallops): Ch 1, sc in first st (top-center sc), sk 1 st, 5 dc in next st, sk 1 st, sc in next st; repeat around, ending with sk 1, 5 dc in next st, sk 1. Sl st to first sc. Do not fasten off.
Stitch count for Round 2:
– 148 ÷ 4 = 37 repeats
– 37 sc + 37 shells (185 dc)
– Per side: 18 shells and 18 sc
– Plus 1 shell centered at the tip and 1 sc at the top center
Why the math works: 148 is divisible by 4, so the shell repeat closes cleanly. Counting the top-center sc as st 0, shells land on every st numbered 4k + 2. The middle sc of the tip loop is st 74, and 74 = 4 x 18 + 2. That places a shell exactly at the tip, while a flat sc sits at the top dip. The two sides mirror each other at 18 shells each.
Hanging loop: From the join at the top-center sc, ch 36, sl st into the same top-center sc to form a loop. Work 1 sc in each ch around the loop (36 sc), sl st to the base. Fasten off.
The loop stands 1.5 in (3.8 cm) above the heart. The sc covering makes it firm and rope-like.
Weave in all ends through the sc rounds, not through the open loops, where they would show.
Final Blocking
- Soak the heart in cool water for 5 minutes and press out the water in a towel. Do not wring.
- Lay it RS up on a blocking mat.
- Pin the widest row to 3.5 in (8.9 cm) and the total height to 4.1 in (10.4 cm).
- Pin the top-center dip and the tip point first, then pin both lobes symmetrically.
- Pin each shell outward to open the scallops evenly.
- Use a pin tip to open the ch-2 holes and loop gaps inside each motif.
- Spray with starch and let dry completely, about 6-8 hours.
- Pull the hanging loop straight up and let it dry in that position.
Final Quality-Control Checklist
- 8 motifs, each 1 in (2.5 cm) across with 6 clusters and 12 loops
- 14 joins, with no loose or twisted ch-1s
- Size before border: 3 in (7.6 cm) x 3.6 in (9.1 cm)
- Round 1 of border: 148 sts
- Round 2 of border: 37 shells, 18 per side plus 1 at the tip
- Finished size: 3.5 in (8.9 cm) x 4.1 in (10.4 cm)
- Hanging loop is centered at the top dip and 1.5 in (3.8 cm) tall
- Heart lies flat, and the left and right lobes match
- All ends are woven in and hidden
Troubleshooting
Motif cups like a bowl: The clusters are too tight. Go up a hook size or make the ch-2 spaces looser.
Motif ruffles: The chains are too loose. Go down a hook size or tighten the ch-3 loops.
Heart puckers at joins: The ch-1s in the JAYG loop are too short. Match them to your normal chain size.
Gaps at joins: Make sure the sl st goes under the neighbor’s whole ch-3 loop, not into a single chain.
Border ruffles: You may have worked into interior loops. Recount to 47 outer loops and 148 sts.
Border pulls in: Loosen your sc tension, or work Round 1 with a 2.0 mm hook.
Shell is not centered at the tip: Round 1 is off count. Each half must be exactly 72 sts.
Clusters lean sideways: Keep each tr the same height before closing the cluster.
Care
Hand wash in cool water, press dry in a towel, and re-block with starch if needed. Store the ornament flat between tissue paper.

Final Notes
The measurement chain is simple:
- One motif measures 1 in (2.5 cm).
- Three motifs across make 3 in (7.6 cm) wide, and four offset rows make 3.6 in (9.1 cm) tall.
- The 0.25 in (0.6 cm) border brings the heart to 3.5 in (8.9 cm) x 4.1 in (10.4 cm).
- The 148-stitch border divides evenly into 37 shells, with one shell at the tip.
Check each stage against these numbers and the heart will come out symmetrical and flat.
Optional: For a larger version, the same motif and joining method can be used in a bigger heart layout. You would need to recount the outer loops and border stitches for that layout.
Happy crocheting!