How to Sew a Simple (lined) Cafe Curtain


We are going to make a pair of lined cafe curtains with tiebacks, using "pillow case" construction. Hanging plant optional :)

You will need to know how to sew a straight stitch on your sewing machine, backstitch a seam and sew a button by hand (for tiebacks like mine). For this tutorial, I made a pair of cafe panels for my kitchen window. I also made a miniature version of one panel to photograph more easily. It's so cute! 

my new kitchen curtains

my new kitchen curtains


  • Fabric for your curtain (see "How much fabric will I need?" in STEP 2 below)
  • Lining fabric - enough to cut panels slightly larger than your fabric panels (I used white muslin)
  • Coordinating thread
  • Two buttons (for tiebacks)
  • String (to measure tieback length)
  • Rubber band (optional)
  • Tape measure
  • Sewing machine
  • Basic sewing supplies (scissors, needle, pins, marking pen, seam gauge, turning tool, pointer tool)
  • Tension rod (make sure it extends the width of your desired coverage area)
    I chose a tension rod because I am going to mount my curtains on the inside of my window frame. A cafe rod with brackets for mounting on your window trim or wall will work, too.


- Fullness is simply how "full" your fabric panel is in relation to the coverage width. If my window is 29" wide and I made a fabric panel only 29" wide, it would just be a flat sheet of fabric. Not what I want. I want it to gather on the pole across the top and have ruffles, to be "full." Typical fullness for window treatments ranges from 1.5 to 2.5 times the coverage width, depending on the style of treatment, fabric weight and personal preference. I chose 1.5 times fullness for my curtains because I didn't want them very full and I also wanted to be able to cut both panels from one width of fabric.

Coverage Area - Coverage area is the actual flat wall/window surface your curtains will cover when closed.  (not with your fabric panels stretched flat but with them closed with their "fullness") There is a width coverage and a length (or height) coverage.

Header - This is the fabric across the top of each panel that lies above your rod. It is typically 3/4" to 1.5" on a cafe curtain, depending on the overall length of your panel.


Using a tape measure, measure the width and length of the coverage area for your pair of curtain panels. My curtains will hang inside my window frame on a tension rod. I want them to cover the entire window opening when they are "closed" and I want the top of the fabric header to be at the top of the window opening and the bottom hem just above the window sill.

I measured inside the casing itself, left to right for width and top of the opening to sill for length. When I add tiebacks, they will draw the panel up a little in length.

my window

my window


Width - We will construct two panels to make a pair. Divide the width of your total coverage area by two. This will be the coverage width for each panel. Multiply this number by the desired fullness. (I used 1.5 times.) Add 1/2" to this for a 1/4" seam allowance on each side. The result is your cutting width for each panel.

Length - Take the measurement you determined for the coverage length of your finished panels (top of fabric to bottom of fabric). Add the following to this measurement:
1/4" for the top seam
1/2" for extra room for your fabric to slide easily across your rod
2.5" for the bottom hem
The total is your cutting length per panel.

Header - Decide how high you want your header. Mine is 3/4". Make a note of what you want yours to be. I'll ask you for this later.

How much fabric do I need?  Depending on the width of the fabric you purchase (36", 44", 54") and what you have determined the cutting width of each panel to be, you will get just one panel, or two panels cut side by side, out of a width of your fabric. You will need enough yardage to cut two lengths of your panels and your tiebacks.


Cut two fabric panels, lengthwise, along the selvage (or straight of your fabric). Do not include the selvage in your panel piece. Mark the top edge either with a little mark or a pin.
Cut two lining panels slightly larger* than your fabric panels, approximately 1" on all four sides.  *I am using muslin for my lining, which tends to go "cattywompous" when trying to cut a panel identical in size to my main fabric. It's just a precaution.

You will cut two tie backs once your panels are complete. The size of your tiebacks will be determined by the size of your panels and how tightly you want to pull them together. 


Lay your cut lining panel on a flat surface, RIGHT SIDE UP. (table top or floor as size dictates) 
Position your cut curtain fabric panel on top of your lining, RIGHT SIDE DOWN, leaving the lining extended on all sides. Your fabric and lining will be RIGHT SIDES FACING.

Using a seam gauge (or ruler), measure down from the top of your fabric panel the height of your header PLUS 1/4". (Earlier, you made a note of how high you wanted your header.) Make a mark on both sides. Then measure down from this mark the opening height for your rod. ***Take the diameter of your rod and add 1/2". This will be the height of your rod opening. Make another mark on both sides.

IMPORTANT NOTE: Marking for the rod opening is very important. You will not stitch through this space when joining your curtain fabric to the lining.


Using a straight stitch with a 1/4" seam allowance, and starting at the bottom of your panel, sew up one side, stopping at the rod opening with a backstitch and beginning again after the opening, securing with a backstitch. Turn the 90-degree corner and stitch across the top. Continue down the other side, leaving the rod opening on this side unstitched as well. 

***Do not stitch across the bottom.

Trim your lining away on all four sides and clip your corners at the top. Snip away the threads across the rod opening.


Turn your fabric panel right side out. It should resemble a pillowcase with two little side openings toward the top and an unfinished hem.

Push out your corners, being careful not to poke a hole in your fabric. If you don't have a pointer tool, use any long, skinny pointed thing like a chopstick or the end of an ice tea spoon!

Now comes the tricky part. Pressing. You do not have a "face" of curtain fabric that wraps around to the back. Your lining and curtain fabric are the same width and your stitched seam is the edge of your curtain panel. You want to press this edge, right along the seam itself, with the seam fully extended and the seam allowance (inside) toward the middle, 


Your fabric panel(s) should be pressed flat with nice sharp top corners and an opening at the bottom waiting to be hemmed. Nice work!

Now you want to create the actual horizontal "pocket" for your rod. Using the top edge of your panel as a seam guide, stitch across your panel from the top of the opening on one side to the same point on the other side. Backstitch for strength at the beginning and the end. Clip your threads.

Repeat this process across your panels at the rod opening bottom points.

You now have a pocket for your rod! Almost done. We need to hem the bottom and make tiebacks.


Using your seam gauge and iron, turn under a 2 1/2" hem along the entire circumference of your panel opening at the bottom. At the edges where you have a seam, keep the seam allowance facing the same direction on the panel and within the hem face. (Note, I have turned under only 2" on my small sample in the photo.)

Then, open this pressed seam and turn under 1/2" along the edge. Press. Fold over both hems, press and pin in place.

Turn your panel wrong side out and stitch along the hem, close to the edge. 





step 8-C

step 8-C

step 8-D

step 8-D


You're done!

(Optional tieback instructions continue.)

Turn your panels right side out, give them a good press and insert your rod.


my mini panel :)

my mini panel :)


Hang your curtains. This is where the rubber bands come in. You will notice that the bottom tends to flare out more than you might want it to. I take my fingers and form the ripple I want my fullness to have as it falls from the top to the bottom. Then I wrap a rubber band around the bottom edge to hold it in place for a little while. While the rubber band is doing its job, I make my tiebacks.

Determine the Size
Take a piece of string (or skinny piece of fabric) and loop it around one of your panels until you get the "hourglass" shape you like. Cut the string as if it were going to be your tieback. Use this to help determine the finished length. Decide the finished width (height) of your tieback. This is a matter of personal preference. Mine are 1 3/8" wide and 19 1/2" long overall, finished. After the buttons are sewn, they become narrower.

Cut and Sew
Add 1/2" to your desired finished length and use this measurement for cutting. Double your desired width (height) and add 1/2" to that measurement. So, if I want a tieback 1" wide and 15" long, my strips would be cut 2 1/2" wide and 15 1/2" long.

Fold each strip in half, lengthwise, RIGHT SIDES TOGETHER and pin. Mark an opening toward the center, approximately 2-3 inches, for turning right side out. Stitch a 1/4" seam along the three edges that are not the fold, leaving your marked opening unstitched. Trim seam to 1/8" and clip your corners. ****DO NOT TRIM THE OPENING; leave that full width.

Turn right side out from the edges toward the opening. Push out your corners and seams and press. Stitch the opening closed as close as you can to the edge. Backstitch where you start and end.

Add Buttons
I needed two turquoise buttons and didn't have any. My new-found love for turquoise is too fresh. I DID, however, have two buttons that were turquoise on the back. Yay!
Like I often do with fabric itself, when it's just not right, I turn it over.

Perfect color!

Loop your pressed tiebacks around like a collar and sew on the buttons, securing both layers like shown.

Scoop them up around your curtain panels to the desired height. Release your rubber bands and the fullness flair will simply hold them in place. Fuss with your ruffles until you can't stand to fuss with them any more. They look perfect!