This dress is the kind of project that makes people stop and ask, "Wait, you made that yourself?" A fitted bodice, fluttery ruffle sleeves, and a flowing lace skirt combine into one stunning garment that looks far more complicated than it actually is. Whether you are making this for a summer wedding, a vacation wardrobe staple, or simply because you deserve something beautiful, this pattern delivers.

The construction moves from top to bottom, which means you can try it on as you go and adjust the length to suit your frame perfectly. The bodice uses simple single crochet with shaping decreases, while the skirt introduces an open circle lace pattern that creates those lovely eyelet rows. The ruffle sleeves get added at the end by picking up stitches around the armholes. If you have worked garments before, you will find this manageable. If this is your first wearable, take your time and trust the process.
This dress works up in a warm cream cotton that drapes beautifully and blocks like a dream. It makes a gorgeous gift for someone special, or frankly, for yourself. The lace openings do mean you will want a slip underneath, but that classic layered look is part of the charm.
About This Crochet Dress Pattern
This knee length babydoll dress features a fitted bodice worked flat in two panels, a stretchy ribbed waistband, and a skirt worked in the round with alternating lace and solid sections. The deep scalloped hem border gives the finished piece that romantic, vintage feel you see in the photos.
The back neckline has a shallow V shape created through short rows, and you can add a simple hook and eye closure if you prefer a more secure fit. The front neckline sits square across the chest with delicate shell edging all around.
Skill level: Intermediate. You should be comfortable with working in rows and rounds, basic increases and decreases, reading a lace repeat, and seaming pieces together.
Time estimate: Approximately 60 to 80 hours for a size Medium. This is not a weekend project, but the repetitive nature of the skirt rounds makes it perfect for working while watching your favorite shows.
Finished Measurements
The pattern includes five sizes. Here are the finished dimensions after blocking:
Size X-Small: Bust 32 inches, Waist 26 inches, Hip 36 inches, Length 34 inches
Size Small: Bust 34 inches, Waist 28 inches, Hip 38 inches, Length 34.5 inches
Size Medium: Bust 36 inches, Waist 30 inches, Hip 40 inches, Length 35 inches
Size Large: Bust 38 inches, Waist 32 inches, Hip 42 inches, Length 35.5 inches
Size X-Large: Bust 40 inches, Waist 34 inches, Hip 44 inches, Length 36 inches
The pattern is written for Size Medium with adjustments for other sizes noted in brackets as [XS, S, M, L, XL]. The dress is designed with 1 to 2 inches of positive ease at the bust.
Materials Needed
Yarn: Approximately 1,400 [1,200, 1,300, 1,400, 1,500, 1,650] yards of DK weight (CYCA 3) cotton or cotton blend yarn in cream or ecru.
Recommended yarns:
Choose a yarn with good stitch definition and minimal fuzz. The lace eyelets need to stay open and visible, so avoid anything with a halo. Smooth, plied cotton works best.
Hooks:
Additional supplies:
Gauge
Getting gauge right is essential for this fitted garment. Small differences will throw off your bust and hip measurements significantly.
With E-4 hook in single crochet: 20 stitches and 22 rows = 4 inches, blocked
With F-5 hook in lace skirt pattern: 1 full lace repeat (10 stitches) = 2 inches, and 6 rounds = 3 inches, blocked
Work a swatch at least 5 inches square, wash it, block it flat, let it dry completely, then measure. Adjust hook size as needed.
Abbreviations and Stitch Definitions
Here are all the abbreviations used in this crochet tutorial, with plain English definitions:
ch = chain: yarn over, pull through loop on hook
sc = single crochet: insert hook, yarn over, pull up loop, yarn over, pull through both loops
dc = double crochet: yarn over, insert hook, yarn over, pull up loop, yarn over, pull through 2 loops, yarn over, pull through remaining 2 loops
hdc = half double crochet: yarn over, insert hook, yarn over, pull up loop, yarn over, pull through all 3 loops
sl st = slip stitch: insert hook, yarn over, pull through stitch and loop on hook in one motion
sc2tog = single crochet 2 together (a decrease): insert hook in first stitch, pull up loop, insert hook in next stitch, pull up loop, yarn over, pull through all 3 loops
BLO = back loop only: insert hook under just the back loop of the stitch instead of both loops
ch-sp = chain space: the gap created by chains in the previous row or round
sk = skip: pass over the indicated stitch without working into it
RS = right side: the front of the fabric that will show when worn
WS = wrong side: the back of the fabric that faces your body
pm = place marker
rnd = round
st(s) = stitch(es)
rep = repeat
Special Stitches
Shell Stitch: Work 5 double crochet stitches all in the same stitch or space. This creates a fan shape. One shell equals 5 dc in a single anchor point.
V-stitch: Work (dc, ch 2, dc) all in the same stitch or space.
Picot: Chain 3, then slip stitch into the first of those 3 chains. This closes into a small decorative loop.
Ruffle Stitch: Work 3 dc in the same stitch. Repeat in every stitch to create a dense ruffle that naturally curls and flares.
Back Loop Single Crochet Ribbing: Insert hook in back loop only of each stitch and work single crochet. Chain 1 and turn at the end of each row. This creates a stretchy ribbed texture.
Lace Circle Eyelet: Chain 3, skip 2 stitches, sc in next stitch. In the following round, work (sc, ch 3, sc) into each ch-3 space to create elongated oval eyelets.
Pattern Notes Before You Begin
1. The bodice is worked flat in two pieces (front and back), then seamed at the shoulders and sides.
2. The waistband is worked separately in ribbing, joined into a ring, then sewn to the bodice and skirt.
3. The skirt is worked in joined rounds from the waistband downward. Right side always faces you.
4. The ruffle sleeves are added last by picking up stitches around each armhole.
5. When the pattern says "join," use a slip stitch into the first stitch of the round.
6. All ch-3 at the beginning of a dc round counts as the first dc.
7. Block the finished dress flat or on a dress form. Cotton relaxes with blocking and the lace opens up beautifully.
Step By Step Instructions
Bodice Back Panel
Use E-4 hook.
Foundation: Ch 92 [82, 87, 92, 97, 102].
Row 1 (RS): Sc in 2nd ch from hook and in each ch across. Turn. (91 [81, 86, 91, 96, 101] sc)
Rows 2 through 8: Ch 1, sc in each st across. Turn. (91 sc)
Row 9 (decrease row): Ch 1, sc in first st, sc2tog, sc to last 3 sts, sc2tog, sc in last st. Turn. (89 sc)
Row 10: Ch 1, sc in each st across. Turn. (89 sc)
Row 11: Ch 1, sc in first st, sc2tog, sc to last 3 sts, sc2tog, sc in last st. Turn. (87 sc)
Row 12: Ch 1, sc in each st across. Turn. (87 sc)
Row 13: Ch 1, sc in first st, sc2tog, sc to last 3 sts, sc2tog, sc in last st. Turn. (85 sc)
Rows 14 through 16: Ch 1, sc in each st across. Turn. (85 sc after each row)
At this point, your back panel should measure approximately 3 inches tall. This is Checkpoint A.
Row 17 (back neckline shaping, RS): Ch 1, sc in first 29 [26, 28, 29, 31, 33] sts. Turn, leaving remaining sts unworked. You are now working the right back shoulder only.
Row 18: Ch 1, sc in each st across. Turn. (29 sc for size M)
Row 19: Ch 1, sc in first st, sc2tog at neck edge, sc to end. Turn. (28 sc)
Row 20: Ch 1, sc in each st across. Turn. (28 sc)
Row 21: Ch 1, sc in first st, sc2tog at neck edge, sc to end. Turn. (27 sc)
Row 22: Ch 1, sc in each st across. Turn. (27 sc)
Rows 23 and 24: Ch 1, sc in each st across. Turn. (27 sc after each row)
Fasten off right shoulder.
With RS facing, skip center 27 [27, 29, 27, 28, 29] sts of Row 16 edge. These form the back V opening. Rejoin yarn at left shoulder edge.
Row 17 (left shoulder, RS): Ch 1, sc in 29 [26, 28, 29, 31, 33] sts. Turn.
Row 18: Ch 1, sc in each st across. Turn. (29 sc)
Row 19: Ch 1, sc to last 3 sts, sc2tog at neck edge, sc in last st. Turn. (28 sc)
Row 20: Ch 1, sc in each st across. Turn. (28 sc)
Row 21: Ch 1, sc to last 3 sts, sc2tog at neck edge, sc in last st. Turn. (27 sc)
Row 22: Ch 1, sc in each st across. Turn. (27 sc)
Rows 23 and 24: Ch 1, sc in each st across. Turn. (27 sc after each row)
Fasten off left shoulder. Set back panel aside.
Bodice Front Panel
Use E-4 hook.
Foundation: Ch 92 [82, 87, 92, 97, 102].
Row 1 (RS): Sc in 2nd ch from hook and in each ch across. Turn. (91 [81, 86, 91, 96, 101] sc)
Rows 2 through 8: Ch 1, sc in each st across. Turn. (91 sc)
Row 9: Ch 1, sc in first st, sc2tog, sc to last 3 sts, sc2tog, sc in last st. Turn. (89 sc)
Row 10: Ch 1, sc in each st across. Turn. (89 sc)
Row 11: Ch 1, sc in first st, sc2tog, sc to last 3 sts, sc2tog, sc in last st. Turn. (87 sc)
Row 12: Ch 1, sc in each st across. Turn. (87 sc)
Row 13: Ch 1, sc in first st, sc2tog, sc to last 3 sts, sc2tog, sc in last st. Turn. (85 sc)
Rows 14 through 16: Ch 1, sc in each st across. Turn. (85 sc after each row)
Row 17 (RS): Ch 1, sc in first 29 [26, 28, 29, 31, 33] sts. Turn.
Row 18: Ch 1, sc in each st across. Turn. (29 sc)
Row 19: Ch 1, sc in first st, sc2tog, sc to end. Turn. (28 sc)
Row 20: Ch 1, sc in each st across. Turn. (28 sc)
Row 21: Ch 1, sc in first st, sc2tog, sc to end. Turn. (27 sc)
Rows 22 through 26: Ch 1, sc in each st across. Turn. (27 sc after each row)
Fasten off right front shoulder.
Skip center 27 [27, 29, 27, 28, 29] sts of Row 16. Rejoin at left shoulder edge with RS facing.
Row 17 (left shoulder): Ch 1, sc in 29 [26, 28, 29, 31, 33] sts. Turn.
Row 18: Ch 1, sc in each st across. Turn. (29 sc)
Row 19: Ch 1, sc to last 3 sts, sc2tog, sc in last st. Turn. (28 sc)
Row 20: Ch 1, sc in each st across. Turn. (28 sc)
Row 21: Ch 1, sc to last 3 sts, sc2tog, sc in last st. Turn. (27 sc)
Rows 22 through 26: Ch 1, sc in each st across. Turn. (27 sc after each row)
Fasten off left front shoulder.
Joining Shoulders and Side Seams
Hold front and back pieces with right sides together. Using yarn and tapestry needle with whipstitch or mattress stitch, join:
Then join side seams from the underarm edge downward on both sides. The front panel is 2 rows taller than the back, so ease those extra rows into the join.
The bodice is now a closed tube.
Neckline Edging
With E-4 hook and RS facing, join yarn at right back shoulder seam.
Rnd 1: Ch 1, sc evenly around entire neckline: approximately 80 [76, 78, 80, 84, 88] sc total. Work roughly 1 sc per stitch across horizontal edges and 1 sc per row along angled shaping. Join with sl st to first sc. (80 sc for size M)
Rnd 2: Ch 1, sc in each st around. Join. (80 sc)
Rnd 3 (scallop edging): Sl st in first st, sk 1 st, 5 dc in next st (shell), sk 1 st, sl st in next st; rep from around. Adjust final sts as needed to close round evenly. Join. Fasten off.
Waistband
Use E-4 hook.
Foundation: Ch 11.
Row 1: Sc in 2nd ch from hook and in each ch across. Turn. (10 sc)
Row 2 onward: Ch 1, BLO sc in each st across. Turn. (10 sc per row)
Continue until the strip measures:
Fasten off, leaving a long tail. Seam the short ends together to form a ring.
Hand sew the top edge of the waistband to the lower edge of the bodice, easing evenly around.
Skirt
Switch to F-5 hook.
With RS facing, join yarn at a side seam location on the lower edge of the waistband.
Rnd 1 (pickup round): Ch 1, sc evenly around lower edge of waistband: 150 [130, 140, 150, 160, 170] sc. Join with sl st to first sc. (150 sc for size M)
Rnd 2 (increase round): Ch 1, sc in 4 sts, 2 sc in next st; rep from around. Join. (180 sc)
Rnd 3: Ch 3 (counts as dc), dc in each st around. Join with sl st to top of ch-3. (180 dc)
Rnd 4: Ch 1, sc in each st around. Join. (180 sc)
Rnd 5 (begin lace): Ch 4 (counts as dc + ch 1), sk 1 st, dc in next st, ch 1; rep from around. Join with sl st to 3rd ch of starting ch-4. (90 dc, 90 ch-1 sp)
Rnd 6: Ch 1, sc in each dc and in each ch-1 sp around. Join. (180 sc)
Rnd 7 (circle lace): Ch 1, sc in 2 sts, ch 3, sk 2 sts; rep from around. Join. (90 sc, 45 ch-3 sp)
Rnd 8: Ch 1, (sc, ch 3, sc) in ch-3 sp, sc in next 2 sc; rep from around. Join. (135 sc, 45 ch-3 sp)
Rnd 9: Ch 1, sc in 2 sc, (sc, ch 3, sc) in ch-3 sp; rep from around. Join. (135 sc, 45 ch-3 sp)
Rnd 10: Ch 1, sc in 2 sc, 2 sc in ch-3 sp; rep from around. Join. (180 sc)
Rnd 11 (increase): Ch 3, dc in same st as join, dc in 8 sts, 2 dc in next st; rep from around. Join. (200 dc)
Rnd 12: Ch 1, sc in each st around. Join. (200 sc)
Rnds 13 through 16: Repeat the circle lace pattern (Rnds 7 through 10) with 200 sts.
Rnd 17: Ch 3, dc in each st around. Join. (200 dc)
Rnd 18 (increase): Ch 3, dc in 9 sts, 2 dc in next st; rep from around. Join. (220 dc)
Rnd 19: Ch 1, sc in each st around. Join. (220 sc)
Rnds 20 through 23: Repeat the circle lace pattern with 220 sts.
Rnd 24: Ch 3, dc in each st around. Join. (220 dc)
Rnd 25 (increase): Ch 3, dc in 10 sts, 2 dc in next st; rep from around. Join. (240 dc)
Rnd 26: Ch 1, sc in each st around. Join. (240 sc)
Rnds 27 through 30: Repeat the circle lace pattern with 240 sts.
Rnd 31: Ch 3, dc in each st around. Join. (240 dc)
Rnd 32 (increase): Ch 3, dc in 11 sts, 2 dc in next st; rep from around. Join. (260 dc)
Rnd 33: Ch 1, sc in each st around. Join. (260 sc)
Rnds 34 through 37: Repeat the circle lace pattern with 260 sts.
Rnd 38: Ch 3, dc in each st around. Join. (260 dc)
This is Checkpoint B. The skirt should measure approximately 18 to 20 inches from the waistband. For a longer dress, add another lace repeat cycle before the hem border.
Hem Scallop Border
Rnd 39 (setup): Ch 1, sc in 4 sts, ch 3, sk 1 st; rep from around. Join. (208 sc, 52 ch-3 sp)
Rnd 40: Sl st to first ch-3 sp, ch 3 (counts as dc), 4 dc in same ch-3 sp (first shell made), sc in 2nd and 3rd sc of the 4-sc group, 5 dc in next ch-3 sp; rep from around, ending sc in last 2 sc. Join with sl st to top of ch-3. (52 shells, 104 sc)
Continue with additional border rounds as desired to deepen the scallop effect, working shells into shells and valleys between them.
Fasten off and weave in all ends.
Ruffle Cap Sleeves
With F-5 hook and RS facing, join yarn at the underarm seam of one armhole.
Rnd 1: Ch 1, sc evenly around the armhole opening: approximately 75 sc. Join. (75 sc)
Rnd 2: Ch 1, sc in each st around. Join. (75 sc)
Rnd 3 (ruffle): Ch 3, 2 dc in same st, 3 dc in each st around. Join. (225 dc)
This creates a dense, curling ruffle that stands away from the arm.
Rnd 4 (scallop edge): Sl st in first st, sk 2 sts, 5 dc in next st (shell), sk 2 sts, sl st in next st; rep from around. Adjust as needed. Join. Fasten off.
Repeat for second armhole.
Finishing Your Crochet Dress
Weave in all remaining ends with your tapestry needle. Work the tails along the same color sections so they disappear completely.
Blocking: Soak the dress in cool water with a drop of wool wash for 15 minutes. Gently squeeze out water without wringing. Lay flat on towels or pin to a blocking board, shaping the lace eyelets open and smoothing the skirt. Let dry completely.
Optional closure: Sew a small hook and eye or button loop at the top of the back V opening if desired.
Lining: For modesty with the lace skirt, cut a simple A-line slip from cotton muslin and hand tack it to the inside of the waistband.

Tips for Success
Take your gauge swatch seriously. This is a fitted garment, and even half a stitch off per inch adds up to several inches across the bust.
Use stitch markers generously. Mark the beginning of each round in the skirt, and mark your decrease points in the bodice.
Count your stitches after every few rounds, especially in the lace sections. Catching a mistake early saves hours of frogging later.
If the lace repeat feels confusing at first, work through one complete cycle slowly. By the third or fourth repeat, the rhythm will click.
Do not skip blocking. Cotton relaxes dramatically and the lace transforms from bunchy to beautiful.
I hope this dress brings you as much joy to make as it will to wear. The combination of that fitted bodice, those fluttery sleeves, and the flowing lace skirt really does turn heads. If you want to find this pattern again easily, save it to your Pinterest boards now. And please, if you make one, drop a comment below or tag me in your photos. I absolutely love seeing your finished projects come to life!
