Six solid hearts, each floating inside its own pointed lace frame, stacked in rainbow order with wooden beads between them and a rainbow tassel at the bottom. It hangs from a brass ring and it looks far more complicated than it is.
Each panel is two pieces of work. A small solid heart, then a mesh frame worked outwards from the heart in chain loops. The mesh takes about twenty minutes per panel once you’ve done one, and the shape comes almost entirely from blocking. Do not skip the blocking on this one. Unblocked, the panels look like limp blobs. Blocked, they look like the photo.
What you’ll need
Size 3 crochet cotton or a light 4 ply cotton in six colours. I used raspberry, orange, yellow, grass green, blue and purple, but any six that sit in a gradient will work.
A 2.5 mm hook.
You’ll also want seven wooden beads around 12 mm, a brass or gold ring around 30 mm, rustproof pins and a blocking mat or a folded towel, spray starch or fabric stiffener, and a tapestry needle.
Finished length is about 75 cm from the top of the ring to the bottom of the tassel, and each panel is roughly 11 cm across.
Abbreviations are US terms. ch is chain, sl st is slip stitch, sc is single crochet, hdc is half double crochet, dc is double crochet, tr is treble crochet, inc is two stitches in one, dec is an invisible decrease, MR is magic ring, sp is space.
The heart, make six, one in each colour
Each heart starts as two small lobes that get joined and worked down to a point.
First lobe. 6 sc in MR (6), inc six times (12), then sc and inc repeated six times (18). Fasten off.
Second lobe. Work the same but do not fasten off. Keep the yarn attached.
Join them by working sc across the last six stitches of the second lobe and straight into the first six stitches of the first lobe, pulling the two circles together side by side. You now have one piece with a dip at the top, which is the cleft of the heart.
Continue working around the whole outline, decreasing steadily on both sides so the shape narrows to a point at the bottom. Work about six rounds, taking out four stitches per round, evenly spaced at the two lower sides. Finish by working three stitches together at the very bottom to make the point, then fasten off.
If your heart looks lumpy, press it under a damp cloth. Cotton behaves once it’s been persuaded.
The lace frame, worked around each heart
Join the same colour at the cleft at the top of the heart.
Round 1. Work sc evenly all the way around the outline of the heart, aiming for around 44 stitches in total. Place a marker at the cleft and another at the bottom point. Join with a sl st.
Round 2. Ch 5, skip one stitch, sc in the next, and repeat all the way around, ending with a sl st into the third chain of your first ch 5.
Round 3. Sl st into the first loop, then ch 5 into every loop around. When you reach the two side positions, which are the widest points of the heart, work two ch 5 loops into the same space instead of one. Those doubled loops are what start pushing the frame outwards into a pointed oval.
Round 4. Ch 6 into every loop, again working two loops into the same space at the two widest side points.
Round 5. Ch 6 into every loop, but this time work only one loop at the top cleft and one at the bottom point, pulling those two positions in tight. This is the round that turns a circle into the marquise shape.
Round 6. Work 3 sc into every ch loop around, then sl st and fasten off, leaving a long tail.
The frame will still look shapeless. That’s normal.
Blocking, which is the actual pattern
Pin each panel out on a mat. Pull the top and bottom points until the panel is clearly longer than it is wide, and pin the two side points out sideways so the mesh opens up evenly.
Spray with starch or paint on fabric stiffener, then leave it pinned until it is completely dry, ideally overnight.
Take the pins out and the panel will hold that lens shape on its own. This is the difference between the piece in the photo and a bag of coloured tangles.
The hanging cord and the top
Take the brass ring and work sc closely around it in purple until it is fully covered, then sl st to join.
Below the ring, work a wrapped cord. Ch 6, join into a ring, then work sc round and round in a tube for about 5 cm without increasing. It will spiral naturally into a firm cord. Fasten off and sew it to the covered ring.
Putting it together
Thread a wooden bead onto a doubled length of purple cotton and stitch it to the bottom of the wrapped cord.
Sew the top point of the raspberry panel to the bottom of that bead. Then bead, orange panel, bead, yellow panel, bead, green panel, bead, blue panel, bead, purple panel.
Attach each join by passing the needle through the bead twice and stitching firmly into the point of the panel. These joins carry weight and they are the first thing to fail if you rush them.
Keep checking that the panels sit flat and facing the same way as you go. It is very easy to attach one with a quarter turn in it and only notice once the whole thing is hanging on the wall.
The tassel
Cut card 12 cm long. Wrap all six colours around it together, about six passes of each, so the colours mix rather than sit in blocks.
Slide the bundle off, tie it tightly at the top with purple, cut the loops at the bottom and trim level.
Make a collar by chaining 16 in purple, working sc back along it, then wrapping it around the tassel about 2 cm below the tie and stitching it at the back.
Attach the tassel below the final purple panel with one last wooden bead in between.
Notes and variations
If you want the seven panel version, add a second purple or a violet at the bottom. Seven hangs slightly better on a tall wall and gives a smoother gradient.
Pastels make a completely different and much softer piece with the same instructions. So does a single colour version in cream, which reads as boho rather than rainbow.
If you want it stiffer for a window, use a commercial fabric stiffener rather than starch. Starch softens again in humidity and a bathroom window will undo your work by February.
Questions I get asked
Why is my frame ruffling instead of lying flat? Too many chain loops, or loops that are too long for the round. Try dropping to ch 5 throughout on the next one.
Do I have to block it? Yes. There is no version of this where you skip that step and get the same result.
Can I use acrylic yarn? It blocks badly and will not hold the shape, so cotton is the right choice here.
How long does it take? About ten hours in total. Each panel is roughly an hour and a half including the heart.
Can I make it as a garland instead of a vertical hanging? Yes. Make the panels, then join them side by side with short chain bars and skip the beads.
Crochet Rainbow Heart Wall Hanging Pattern