DIY Home Decor

DIY low-profile Headboard

We have not had a headboard for the past three years. It hasn’t bothered me as our bed was in front of an accent wall with a huge painting behind it, but then we adopted two amazing dogs and had to rearrange the room to accommodate two dog crates. The only other place for the bed was directly in front of the window.

Now, there are way too many blogs out there that tell you why you should “never put a bed in front of a window”.  Seriously, do all of these people live in endlessly cavernous places that never require compromise? Also, I actually like how it looks and I like to look out the window while lying in bed. However, I didn’t like that the bed squished the curtains. I wanted my curtains un-squished and my views unimpeded. I did lots of googling and could not find any DIY headboards or already made headboards that I liked. Clearly, I needed to come up with my own DIY low-profile headboard. 


  • 2×8 long enough to span the width of the bed
  • 2×4 long enough to create two posts to attach headboard
  • Batting
  • Fabric-base layer (I used an old sheet) and final layer (I used linen curtains)
  • Staple gun-I have a simple and cheap one like this.
  • Skillsaw (or have them cut it for you at Lowes)

Making the DIY low-profile headboard

Using the skillsaw, I first cut the 2×8 to the width of our queen bed (about 60 inches). Then I wrapped three layers of batting around the front and sides and stapled it in place. As I was using leftover batting from another project, I had to be creative about covering the board.  If you have any bumps from overlapping layers, I recommend that you stretch the batting in that area to make it lay more smoothly (I stretched it like you would stretch fake cobwebs).  

Next, cover it with a base fabric.  My base fabric was an old cream sheet. You may not need this layer if your final layer is thick enough and dark enough. However, as my final layer was made from white linen, I wanted to make sure it looked crisp.

Now for the final fabric. I used some old white linen curtains originally from IKEA. The fabric has a very subtle texture with some raised stripes. I decided that I wanted the stripes to go diagonal. This was not the most economical use of the fabric, but I didn’t like the horizontal striped look and I didn’t have enough length to create a vertical stripe.  

When adding on the fabric, I tried to find a balance of pulling it snug, yet not pulling it so tight that it created puckers (sort of like too-tight non-stretch pants). After I had the front and corners covered, I created a long fabric rectangle to hide the ugly unfinished edges on the back. This isn’t necessary as it won’t be seen, but I would always know it was ugly on the back if I didn’t hide it. 

Adding the posts

Now, it is almost done. You will need to measure the distances between the rails on your bed frame and then space your posts the correct distance to line up with the rails. I actually used posts from an old headboard rather than 2×4’s, but it is the same idea. I placed the posts on the back, using a carpenter’s square to make them even and then used deck screws to attach them to the back of my headboard. You can drill through the fabric, but it helps to have a second set of hands to keep everything tight. (Note: I did not have a second set of hands and had to use my knees while the headboard was laying flat on the ground, but I imagine that help would be . . . helpful). 

Attaching to the frame

Line the headboard up with your bed frame and then mark where it will attach on the posts. Pre-drill holes all the way through your posts and then attach the post to the frame using bolts. That’s it!  This was a really fast DIY and I love that I can open and close my curtains without them catching on my pillows. But I can also still look out the window and keep an eye on everything without sitting up in bed. The best of both worlds. 

Want to make the nightstands in the photo? Check out the tutorial here. Or maybe the pet silhouette caught your eye? Here are tips for making your own.