You can make a dress from a shirt by using the existing seams and fabric, then adding length and a waistband

The fastest way to turn a shirt into a dress is to keep the collar, sleeves, and shoulder seams intact, then extend the body downward with additional fabric. You will need the original shirt, a length of matching or contrasting fabric for the skirt portion, a needle or sewing machine, thread, scissors, a measuring tape, and pins. The process takes between two and four hours depending on your sewing speed and whether you use a machine or hand-sew.

This method works best with button-up shirts, oversized t-shirts, or linen shirts where the fabric weight is substantial enough to support a skirt. Thin or stretchy fabrics like jersey knit are harder to work with because the added weight of the skirt pulls the neckline out of shape. If your shirt is already fitted at the waist, you will also need to add a waistband or elastic to hold the skirt in place.

Key Takeaways

  • Cut the shirt straight across at the natural waistline, keeping the top half intact with all seams and closures.
  • Measure the width of the shirt opening and add two inches for seam allowance, then cut your skirt fabric to that width and your desired length.
  • Sew the skirt fabric to the shirt body using a straight stitch, then finish the bottom hem with a folded edge or binding.
  • Add a waistband or elastic casing if the shirt is fitted, or wear it loose if the shirt is oversized.
  • Try the dress on before finishing the hem, because the final length depends on your height and shoe choice.

Cut the shirt at the waistline and prepare the opening

Lay the shirt flat on a cutting surface and measure down from the armpit seam to find your natural waistline — usually six to eight inches below the shoulder. Mark a straight line across the front and back with chalk or a fabric pen. Cut along this line with sharp fabric scissors, cutting through both layers if the shirt is folded, or one layer at a time if it is laid flat.

Once you have cut the shirt, try on the top half to check the fit. The armholes and neckline should feel comfortable, and the shoulders should sit at your natural shoulder point. If the shirt is too loose or too tight, you can take in or let out the side seams before attaching the skirt, but this adds time. Most people skip this step and accept the original fit.

Finish the raw edge of the shirt opening by folding it inward by half an inch and pressing with an iron, then sewing it down with a straight stitch. This prevents fraying and creates a clean line where the skirt will attach. If you do not have an iron, you can fold and pin the edge, then sew slowly without pressing first.

Measure and cut the skirt fabric to match the shirt width

Measure the width of the shirt opening from side seam to side seam. Add two inches to this measurement to account for seam allowance — one inch on each side. This is the width you need to cut your skirt fabric. If your fabric is not wide enough in a single piece, you can sew two pieces together along the side seams, but this creates visible seams that some people prefer to avoid.

Decide how long you want the dress to be. Measure from the waistline down to where you want the hem to fall — knee length is usually 16 to 18 inches, midi length is 24 to 28 inches, and maxi length is 36 inches or more. Add one inch to this measurement for the top seam allowance and two inches for the bottom hem. Cut your skirt fabric to this length and width using a rotary cutter and ruler for straight edges, or scissors if you are comfortable cutting freehand.

If you are using a knit or stretchy fabric, cut it slightly narrower than your measurement because it will stretch as you sew. If you are using a woven fabric like cotton or linen, cut it to the exact measurement. Lay the cut skirt fabric on a flat surface and check that all corners are square and all edges are straight before you move to the next step.

Sew the skirt fabric to the shirt body

Pin the top edge of the skirt fabric to the finished edge of the shirt opening, right sides together. Start at one side seam and work your way around, placing pins every two inches. The pins should go through both the shirt and the skirt fabric perpendicular to the edge. If the skirt fabric is slightly wider than the shirt opening, gather it as you pin by bunching small amounts of fabric between pins — this creates a gathered skirt instead of a straight one.

Sew the skirt to the shirt using a straight stitch with a quarter-inch seam allowance. If you are using a sewing machine, set the stitch length to 2.5 millimeters and sew slowly around the entire opening. If you are hand-sewing, use a running stitch or backstitch, making stitches about one-eighth inch long. Remove pins as you sew, never sewing over them.

Once the seam is complete, press it open with an iron or fold it toward the skirt and press it down. This flattens the seam and makes the dress hang better. If the seam is visible from the outside, you can cover it with bias tape or a decorative ribbon sewn along the seam line.

Add a waistband or elastic if the shirt is fitted

If the shirt is fitted at the waist, the skirt will pull the neckline down and the dress will not hang properly. To fix this, add a waistband or elastic casing at the seam where the skirt meets the shirt. Cut a strip of fabric two inches wide and as long as the shirt opening measurement plus one inch. Fold this strip in half lengthwise, wrong sides together, and press it with an iron.

Pin the waistband to the seam between the shirt and skirt, sandwiching the raw edges of both pieces inside the fold. Sew the waistband down using a straight stitch, then fold it to the inside and sew it down again from the inside. This creates a finished waistband that looks neat from both sides.

Alternatively, you can insert elastic into a casing instead of a waistband. Fold the seam allowance inward by one inch and sew it down, leaving a two-inch opening. Thread elastic through the opening using a safety pin, then sew the opening closed. This method is faster but less formal-looking than a waistband.

Hem the bottom edge of the skirt

Try on the dress and have someone mark where the hem should fall, or stand in front of a mirror and fold the fabric up to your desired length. Mark the hem line with pins or chalk, then take off the dress. Fold the bottom edge inward by one inch and press it with an iron, then fold it inward again by one inch and press it again. This creates a double-folded hem that will not fray.

Sew the hem down using a straight stitch on a sewing machine, or a whip stitch by hand if you want the stitches to be invisible. A whip stitch involves sliding the needle through the fold of the hem, then catching just one or two threads of the skirt fabric, then sliding the needle back into the fold. This creates stitches that are hidden inside the fold and invisible from the outside.

If the hem is uneven after you sew it, you can trim the excess fabric and finish the raw edge with bias tape or a zigzag stitch. Press the finished hem with an iron to flatten it and remove any wrinkles.

Adjust the fit and add closures if needed

Put on the finished dress and check the fit at the shoulders, waist, and length. If the shoulders are too loose, you can take in the shoulder seams by sewing a new seam line closer to the neckline. If the waist is too loose, you can add darts at the front and back, or take in the side seams. If the waist is too tight, you can let out the side seams or add an elastic waistband instead of a fitted one.

If the original shirt had buttons, you can leave them open for a casual look or sew them closed if you want a more finished appearance. If the shirt had a collar, you can keep it as part of the dress design or remove it by cutting it off and finishing the neckline with bias tape. Some people add a drawstring through the waistband for adjustability, or add pockets to the skirt by sewing fabric rectangles to the inside of the side seams.

Frequently Asked Questions

What if my shirt is too small to make a full dress?

You can make a short dress or tunic by using less skirt fabric, or you can extend the shirt upward by adding fabric to the shoulders and sides. Another option is to use the shirt as a bodice and add a full skirt that gathers at the waist with elastic, which requires less total fabric.

Can I use a t-shirt instead of a button-up shirt?

Yes, t-shirts work well for casual dresses. Cut the shirt at the waistline and add skirt fabric the same way. T-shirt fabric is usually thinner than button-up shirts, so add a waistband or elastic to prevent the neckline from stretching. You can also add sleeves by sewing fabric tubes to the armholes if you want longer sleeves.

How do I match the skirt fabric to the shirt?

Bring the shirt to the fabric store and hold it next to potential skirt fabrics in natural light. Look for colors and patterns that complement each other — you can match the color exactly, choose a contrasting color, or use a patterned fabric that picks up one of the shirt's colors. Solid skirts are easiest to work with because they hide seams and gathering.

What if the skirt fabric is thicker than the shirt fabric?

Thicker fabrics like denim or canvas work fine, but they will make the dress heavier and stiffer. You may need to add a waistband to support the weight, and you should use a needle designed for heavy fabrics on your sewing machine. Hand-sewing thick fabric takes much longer because the needle is harder to push through.

Can I add pockets to the dress?

Yes, you can sew patch pockets to the outside of the skirt, or insert in-seam pockets by sewing fabric rectangles into the side seams before you attach the skirt to the shirt. In-seam pockets are less visible but require more planning. Patch pockets are easier and can be decorative if you use contrasting fabric.