Hi there! I’m so glad you stopped by to see what I’m up to today! The first week of every month I like to share DIY projects I’ve been working on lately (indoor plants, vintage frames). Today I’ve got a flat roman shade tutorial for you! Roman shades are a great way to add custom window treatments without breaking the bank! Check out how to make an inside mount flat roman shade!

Disclosure: Some of the links below are affiliate links which just means if you purchase from the links provided, I may get a small commission at no additional cost to you! At Flawed yet Functional, I only reference products that have real value that I actually use.
Let’s begin with a sweet little before and after, which is always my favorite part of a DIY project. This inside mount flat roman shade was made for the window behind my kitchen sink. I had purchased the fabric when I made these Roman shades for the adjacent dining and living room, and wouldn’t you know, it took me a year to get around to making it!
Kitchen window before with a too short, faux shade on a tension rod…

Kitchen window after with a fully functional, custom flat Roman shade!

Now let’s jump into how to make it. It really isn’t the most difficult sewing project, but there are a lot of steps. Don’t rush it! Just keep plugging away one step at a time, and you’ll have a beautiful shade in no time!
This tutorial assumes you know how to use your sewing machine (thread it, assemble the bobbin, etc.), use a straight stitch, and blind hem stitch. Also, you’ll need to be able to do a slip stitch by hand. If you don’t know any of these things, a quick YouTube search will bring you up to speed!
Supplies
- Decorator fabric – height of the window + 7″ + 7% for shrinkage, 54″ width fabric
- Blackout fabric – height of the window + 3″, 54″ width lining
- Sewing machine
- Fabric scissors
- Straight pins
- Seam ripper
- Cord lock
- Cording (in bulk
or by the yard at your local fabric store)
- Window cleat (in bulk
or buy individual at your local store)
- Screw eyes (in bulk
or buy individually at your local hardware store)
- Wood board – width of window minus 1/2″, depth determined by window frame, height does not matter
- Dowel rod (1/4″ oak rod) -finished width of shade minus 1/2″
- Cordless drill
- Heavy duty stapler (manual
, pneumatic
)
The following tutorial is for an inside mount flat Roman shade. For instructions on an outside mount Roman shade, click here.
Calculate Finished Dimensions and Cut Lengths
Begin by measuring the interior dimensions of the window. Measure both the height and width at three different spots, using the smallest measurement for your final width and height.
Finished Height = height of the window – 1/2″
Example: My kitchen window is 37″ high, so the finished height of the shade will be 36.5″.
Finished Width = width of the window – 1/4″
Example: My kitchen window is 30 7/8″ wide, so the finished width of the shade will be 30 5/8″.
From these dimensions, calculate the cut lengths for both the face fabric and lining.
Cut Measurements for Face Fabric
Cut Length = Finished Length + 4″ for hem + 3″ for mounting room
Example: From the finished length measurement above, the cut length for my face fabric is 36.5″ + 4″ + 3″ = 43.5″.
Cut Width = Finished width + 6″ for side hems
Example: From the finished width measurement above, the cut width for my face fabric is 30 5/8″ + 6″ = 36 5/8″.
Cut Measurements for Lining
Cut Length = Finished Length + 3″ for mounting room
Example: From the finished length measurement above, the cut length for my lining is 36.5″ + 3″ = 39.5″.
Cut Width = Finished width
Example: From the finished width measurement above, the cut width for my lining is 30 5/8″.
Measuring and calculating the widths and lengths for a flat Roman shade can be confusing. I recommend drawing a diagram with all the measurements like the photo below. (and yes…this is literally how I figure out anything I’m going to sew! Just a simple sketch!)

Wash and Iron Face Fabric
If your fabric is machine washable, then give it a quick wash and dry to get rid of any possible shrinkage. Iron both the face fabric and the lining so cutting out the pieces is as smooth and error-free as possible.
Cut Face Fabric and Lining
Using the dimensions above, lay out the fabric on a flat surface (for me, that’s the floor!) and carefully mark the rectangle. Double and triple check your measurements, then cut out the pieces. Use the selvage as your guide for a straight line.
Be very careful when switching from one fabric to the other. Remember the lining and the face fabric have different dimensions!
If you’d like detailed instructions on how to make a straight line without fancy equipment, check out this post.

This flat Roman shade will be visible from the dining room and living room, so I made sure to have the top of the shade start at the same point in the pattern. If you are making multiple shades for the same room, be sure to match pattern repeats. For more details on this, check out this post.
Sew the Side Seams
Thread your sewing machine with thread that matches the face fabric and let’s begin sewing!
First Side Seam
With right sides together, line up one side edge of the shade. Leave 4 inches of face fabric below the lining for hemming.
Sew with a 1.5″ seam allowance. Yes, 1.5″! It will make sense soon!

Second Side Seam
Lay the shade back out on the floor and line up the opposite side of face fabric and lining. It will bunch up because the lining is narrower than the face fabric, but don’t worry! It will work out in the next step.
Make sure to still leave 4″ of face fabric below the lining for hemming.
Sew with a 1.5″ seam allowance.

Turn Fabric Right Side Out
Flip the shade right side out so the seams are hidden on the inside of the shade. Lay the shade on the floor and smooth the fabric so the seams are pointing out towards the outside edge of the shade. The face fabric should overlap the lining by 1.5″ on each side.
Iron both seams and the rest of the shade as needed.

Hem the Shade
Fold the fabric up 1/2″ and press in place.

Then fold and press a 3.5″ hem along the bottom of the face fabric.

Sew hem in place using a blind hem stitch. Leave 1.5″ un-sewn on both side of the hem. This will get sewn by hand once the dowel rod is in place.
Check your user manual for the correct pressure foot and stitch selection for a blind hem stitch. If you need a tutorial on how to do a blind hem stitch, search for one on YouTube. Practice on scrap fabric a few times before attempting on your shade.
Press the hem.
Measure and Sew on Rings
Standards for ring placement can vary, so don’t think you have to do exactly as I do. I like fairly narrow folds in my shade, so I choose to make my rows of rings 6″ apart, which will make each fold 3″ long when the shade is raised. For horizontal spacing, I like the first and last ring to be 2″ from the edge of the shade and the interior rings to be approximately 9″ apart.
Check out the example below of my ring spacing. I recommend sketching it out on paper before beginning your sewing. A little planning saves a ton of frustration!

Lay the shade on a flat surface with wrong side up.
1 | Mark the Placement of the First Row of Rings
Make a dot on the fabric for the first row of rings, right at the top of the hem. The first and last rings should be 2″ from the edge then space the remaining rings evenly with approximately 9″ in between.

2 | Mark the Lines for all Subsequent Rows
Use a tape measure and straightedge (I just use a long level or yardstick) to make straight rows 6″ part.
How To Draw a Straight Line | Use the top of the hem as your guide because this should be straight if you were careful in cutting the fabric and hemming the shade. Mark two dots 6″ above the hem. Lay a straightedge next to the two dots and carefully line the straightedge to be right on the dots. Draw a straight line horizontally across the shade.
Repeat the process for as many rows as you need for your shade. For my shade, with a finished height of 36.5″, I put 5 rows of rings.
3 | Make Dots on the Lines for the Rings
For all the lines you drew in step 2, mark with a dot the placement of each ring. The first and last rings should be 2″ from each edge. Place the rest of the rings evenly spaced across each line.
I like my rings about 9″ apart, so my shade only needed two rings evenly spaced between the first and last rings.
4 | Sew on the Rings
I use my sewing machine to tack the rings on, but this can be done by hand too. Use a zigzag stitch with the stitch length set to 0, and the stitch width wide enough to pass over the ring without nicking it.

Work on one horizontal row at a time until all rings are sewed on.

Insert Dowel Rod
Now let’s turn our attention to the hem of the shade. When looking at the back of the shade, there should be a blind hem stick across the top edge with 1.5″ unsewn on the top edge and the side seams open. It should look kind of like a pocket.
Cut your 1/4″ dowel rod to the finished length of the shade minus 1/2″.
Fold the top corner in to make a 45° angle. Pin in place then hand sew the end shut using a ladder stitch or slip stitch. Sew one end completely shut without the dowel rod in it for ease.

Now, insert the dowel rod. Fold the corner of the hem in like you did on the other side and stitch closed using a ladder or slip stitch.

For my shade, I left a little hole in the middle of the hem big enough to get the dowel rod out. I did this so I could easily pull the rod out and wash the shade. Since this is going in my kitchen, I know it will get showered with grease and food which will call for laundering.

Mark the Finished Length and Finish the Top Edge
Lay the shade out on a flat surface with the wrong side up. Using a measuring tape, measure the finished length from the bottom of the hem. Again to do this quickly, mark two dots roughly 15″ apart at the finished length then use a straightedge to connect the dots.

Using the finished length line as a guide, mark another line 1-3″ above the finished length guide. This 1-3″ is your mounting room and will vary depending on the room in your window.
Cut the fabric along the mounting room line. Finish the edge with an overcast stitch or zigzag stitch on your sewing machine.
Example: I left 1.5″ above the finished length line for mounting room.

Sew Loop Tape Above the Finished Length Line
Since I am anticipating removing this shade from time to time for laundering, I chose not to staple the shade to the mounting board, but you could totally do that for a quick, easy finish.
If you’d like to remove them easily for cleaning, then sew loop tape 1/4″ above the finished length line.

Forgive my wobbly lines! It was late, and I was rushing. Loop tape shifts easily so be liberal in your use of pins…or go slower…that works too!
Cut and Cover the Mounting Board
Cut a 1×3 board to the finished width or the finished width minus 1/2″. Look at your window to determine the width of the board. It’s ok for the board to be narrower than the shade.
For example, I have double hung windows, so there are weather stripping/tracks going all the way up the sides. The shade will fall in front of these tracks, but the board will be mounted in between them, so I had to cut my board narrower than the finished shade width.
Wrap the board in fabric matching the shade. Staple in place using a manual staple or pneumatic one.

Staple Hook Tape Along Top Side of Mounting Board
Now staple hook tape along the top side of the board. This is where the shade will attach to the board. It should be stapled on the “ugly” side of the board that will be touching the window frame.

Attach Cord Lock and Screw Eyes
Install screw eyes along the “pretty” side of the board (opposite side as the hook tape) at the same spacing as the rings. Placement on the depth of the board doesn’t matter too much, just keep all the screw eyes and cord lock in a straight line.
Now, mount the cord lock on the right side of the board between the screw eye and the edge of the board with the brass roller to the outside edge.
My board looks backward according to the directions above, but the board is bottom up, so that makes the cord lock on the left side of the board. When in doubt, hold the board up in the window as if you were mounting it and mark the side the cord lock should go on.

Attach the Shade and Cords
Lay the shade wrong side up on a flat surface. Secure the mounting board to the shade with the hook and loop tape or stapling.
String each cord through the cord lock, through the screw eyes, and down through the vertical row of rings. Start by stringing the furthest ring from the cord lock and work your way toward the vertical rows next to the cord lock.
Tip | String each vertical line backwards to eliminate measuring and cutting the cord. Insert the cord through the cord lock backwards, so up through the metal wires and out the top. Then pull the cord through the screw eyes, down the vertical row of rings, and tie securely to the bottom ring right at the hem line.

Repeat for all vertical rows of rings.
Leave the cords hanging out of the cord lock. Don’t trim them or secure them until the shade is hung, trained, and you’re sure of the length they need to be for opening and closing easily.

Hang the Shade
Insert two wood screws, about 1/3 of the length of the mounting board, from either side. Screw them in so they are just poking through on the other side, not fully inserted.
Example: My board is 30″ long, so I inserted 2 screws about 10″ in from either end.
Using a helper if needed, hold the board in the frame of the window. Make the front edge of the shade flush with the trim. Give the board a push to set the screws in the wood a bit then finish screwing in with a drill.
Train the Shade
You’re almost there! Just a couple more steps to make your shade totally awesome!
Drawing the shade up will not happen smoothly until the folds are trained.

Raise the shade so all folds are folded then straighten out any wonky folds. Leave the shade up, without putting it down (even at night!), for a few days to a week so the fabric “knows” how to fold.

Test the shade after 3 or so days, and if it doesn’t fold easily when raised, then leave it up for a couple more days.
Safety for Roman Shades
Dangling cords are always a concern when young kids are in the home. So use a cleat on the side of your window to wind up extra cord when the shade is up.

Whew! Did you make it all the way to the end? Tutorials for a flat Roman shade can get really long. However, this is a fairly easy project. It just has many steps. If you’re getting your feet wet in making window treatments, start with a small window for a room that only has one window (versus multiple windows that will need pattern matching!). Take one step at a time. You can do it!
Want to remember this? Pin to your favorite Pinterest board!

when sewing on rings do you sew thru front and back or just lining
Good question! I sewed through the lining and the front fabric. That way when the cords raise and lower the shade everything stays together. If you are sewing by hand, you could probably attach it only to the lining. However, it might not raise and lower as smoothly if the two layers of fabric are not attached.
I am a newbie at the DIY projects. When you say decorator fabric, what type of material are you using? Thank you for your help.
Decorator fabric is more sturdy and has a wider width then apparel fabric. When you go to a fabric store, the fabric will be grouped by decorator or apparel. There are still different types of fabric within decorator. You will find linen, canvas duck, cotton, etc, but the decorator version of these will have a width of 54 inch or larger and be a sturdier weave.
How are you attaching the board to the mounting screws? Are you drilling through the board into the wall?
Yes, straight through the board.
This is easiest if you pre-drill holes in the mounting board then drive the screws through until just the screw points are poking through the opposite side. Position it in your window frame and give some gentle whacks on the screw heads with a hammer. The points will make marks that you can use to pre-drill holes in the window frame. This doesn’t take more than a few minutes to do and will make attaching the mounting board MUCH easier.
Yes, exactly!
Thank you for this wonderful pattern! Easy to follow and complete!
You’re welcome! So glad you found it helpful!
This is a well done DIY article and very helpful. I’m wondering how you would detach the Roman shade from the board for cleaning, if the side it’s Velcro’s to is screwed against the window trim.
Hi, Meagan! Just loosen the screws a bit then remove the shade. In reality, it will require a bunch of steps: unthread the cords, remove the dowel rod, etc. After living with the shade for a while now, it only gets vacuumed!
I”m making an inside mount fixed roman shade for my kitchen. How long should it be? My window is 50 inches long/tall. Thank you!
Hi Cathy! Check out the section where it talks about finished length and cut length. I like my finish length too be slightly shorter than the height of the window (for you 50″ minus 1/2″) so that the shade doesn’t get dirty resting on the window sill. This is arbitrary though. You can make it longer. The cut length needs an additional 7″ to account for hemming and mounting length. Be sure to sketch it out before cutting!
Why did you start placing your rings 9 1/8 inches below the mounting board allowance? Is there a formula based upon finished length of the shade for determining the stationary length of the shade? I have nine 72″ windows in an eating area of my kitchen and just enough fabric based upon your formula for a 50″ finished length, which suits me fine since I don’t want to ever cover the window fully. I’m trying to block the sun during meal time and dress the windows but not block my view. How long would you make the stationary section of the shade?
The stationary section is not set in stone. Start at the bottom and measure the rows going up. When you don’t have enough for another row, stop! The first row should start at the top of the bottom hem, 3.5″ or 1/2″ longer than half the distance between the rows of rings. This allows the bottom hem to be seen by 1/2″ when the shade is raised which lays nicely and looks pretty. Then measure the rows with 6″ in between. When I got to the last 9-1/8″, I knew I didn’t want a row to be about 3″ from the mounting board. It would look funny and not fold nicely. So I stopped at the row before which then left a 9-1/8″ gap between the top row of rings and the mounting board. Does that make sense? Start at the bottom of the shade and let the top spacing be the flex area. But make sure to do all 9 of your windows the same!
This makes perfect sense, Emily. Thank you for saving me hours trying to figure this out by myself. Sometimes you just can’t see the forest from the trees. Your instructions are excellent!
Good! Happy sewing!
Hi I’m in love with the fabric you used for this project. It’s been a bit elusive tho. Can you enlighten me?
It’s by Kelly Rippa Home. The color is no longer available, but the link below is the same pattern but different colors.
https://www.joann.com/kelly-ripa-home-multi-purpose-decor-fabric-54-confetti-flying-colors/15602055.html
My window is wider than the decorator fabric. Any suggestions on how to seam the panels together to achieve the wider distance?
Thanks!
Yes, you want to sew pieces together (matching patterns) but without a middle seam. You could divide your window width into thirds or use a full width panel (54″) in the middle and narrower panels on the sides to make up your desired width.
I am making an outside mount shade that will be 50” wide finished. My fabric is 56” so that works out perfectly. My questions is since my shade is wider will I need additional dowel rods in the folds going up for support or do you think the bottom dowel is enough? I like the flat look of the folds on your shade and was worried the fabric might be to heavy. My finished length will be 57”. Thanks
It should be fine. Just use a study dowel at the bottom.
Great! Thanks for the help. Sorry, I just realized I messaged you on the inside mount tutorial about an outside mount shade. I have read both of your tutorials and will be following your instructions. Thanks so much for making the instructions so clear. I think I can do this!