Bicycle Frame Bag for Bike Packing Hooligans




Introduction: Bicycle Frame Bag for Bike Packing Hooligans

Hi People,

As requested here is my tutorial of how I made my frame bag. This was my first major sewing project so it is far from perfect, but also serves to show that a nice bag can be made with limited sewing experience.

My design philosophy for this bag:

I wanted to make a light weight, durable and water proof bag for bike packing. I wanted to achieve this as simply as possible.

I chose Xpac VX21 because it is all of the things described above. I used the dyneema reinforced nylon because I liked the way it looks as an accent and no other reason than that.

I chose to lace the entire bag because I like the security it creates from both shifting and theft. The rigidity it gives the bag is exceptional.

I made one side of the shelf attach via Velcro because it allows for multiple configurations, refinement of side to side slack, and ease of construction.

I wish you the best of luck with your build!



  • Sewing machine that can handle multiple layers of technical material (I used a singer 4452 heavy duty machine)
    • A zipper foot is advised (my thread kept breaking on the perimeter strip because the foot kept lifting due to the thickness of the foam which destabilized the fabric and resulted in a thread jam)
  • Sewing needle (I had to hand sew some of the corners because I didn't have the skill to do it with the machine)
  • Sewing pins and clips (I really like the clips I used, I found out about them from watching Adam Savage Tested videos)
  • Cutting mat (anything will work but I like my olfa mat because it keeps your blades from dulling to fast)
  • A good pair of scissors, rotary cutter, or sharp craft knife (preferably olfa, they just do it the best)
  • A fabric chalk pencil (or any marker)
  • A marker for making the template
  • A ruler
  • A lighter for fusing the fabric and cord
  • A bicycle spoke that has been sharpened to a point (this is the trick to easy lacing)


I just want to state that this could be made with whatever materials you want but I chose the materials for specific reasons and they will be listed below. I will also provide where I sourced everything, these are by no means the cheapest or best, I just found sites that had what I needed and bought from them.

  • 1 yard of Fabric: I chose x-pac vx21 because its light, tough, waterproof, and I like the way it looks, you could use what ever you want.
  • 0.5 yards of Accent Fabric: I chose Dyneema 120D ripstop because I liked how it looked, it is completely unnecessary.
  • 4-5 Yards 3/4in (20mm) cordura nylon webbing (not all webbing is created equal, this stuff is good)
  • 2 yards of YKK water resistant #8 coil Zipper. This is more than you need but I didn't plan it out before I ordered, could have probably gotten away with 1 yard, but measure first.
  • 2 YKK water resistant #8 zipper pulls
  • Structural foam: This could be any thing but I was at Joann fabrics and they had this stuff so I bought it.
  • 550 Paracord
    • I had this and I'm going to assume if you camp, you might too.
  • Heavy duty non wicking thread.
  • 1 yard of 1.5in double sided velcro. Any should work but I think mine is heavy duty
    • I'm not sure what I paid for it.
    • I got it at Joann fabrics from the bulk rolls
  • Cardboard for making a template (so at least large enough to cover the whole triangle of you bike
    • you got this one.
  • Super 77 spray adhesive (Every maker should have a can of this stuff, end of discussion)

Step 1: Making the Template

Pretty straight forward. Just trace your internal triangle onto the cardboard, cut it out and make sure it fits snug like this. I labeled the tubes so my dumb brain remembered what way was up.

Step 2: Making the Perimeter Strip

Ok this is where it starts to get a little complicated. My frame is small so it basically doesn't have a head tube to worry about, but if you are tall you might need to modify this with a fourth side.

  1. Measure each side of the template and label the template accordingly. (Image #1)
  2. Determine the width you want your bag to be. I chose about 2in.
  3. Determine the width of the structural foam. Due to the foam being relatively thick I subtracted 0.5in from the bag width so that it would not disrupt the seam allowance. So I determined my foam width to be 1.5in. (Image #2)
  4. Measure 1.5in wide strips of the foam, cut them out and then cut them to the exact length of each side of your template. (Image #3)
  5. Measure and mark the width of the fabric needed to make the strip. I chose to do a seam allowance on either side of 0.5in. So for my bag it came out to 2+0.5+0.5= 3in. Mark all the lines as seen in (Image #4).
  6. Cut out all strips then cut them to length again adding the extra 0.5in on either side, resulting in a strip that is 1in longer than your tubes. (Image #5) I did something a bit strange, my fabric was long enough to allow me to do two tubes at once and then make a separate strip for the remaining tube. I would recommend doing this, other wise it will take more work to adapt this tutorial to a bike with a longer head tube. To do this cut the strip the length of two tubes + the length of your head tube + 1in for seam allowance. follow that up by marking all the dimensions on the fabric so you know where to put what. (Image #5)
  7. Cut a second set of strips (in the accent material if you want)
  8. I added spray adhesive to both sides of the foam to make assembly easier (this is not needed, but helped a lot) Place them on the fabric strips. (Image #6) (you can see the gap in that photo which is for the head tube)
  9. place the other strip on top, making sure that everything is lined up perfectly. (Image #7)
  10. Set up your sewing machine (I had to rig my thread to unspool correctly, because I didn't have a smaller spool for it. (Image #8)
  11. Test out your machine on some extra fabric to get the speed and stitch correct, I believe I did a zero length straight stitch on this machine. (Image #9)
  12. Clip your fabric together and sew 0.5in in from the edge of the fabric all the way around, make sure the external fabric is up because the top stitch looks better than the bottom one (though you probably wont see this stitch in the end). (Image #10 and #11) I forgot to take a photo of it but for the head tube try to sew as close to the foam as possible across the width of the strip. (you are just sealing the foam into place, seam allowance doesn't matter here) START AND END ALL STITCHES BY BACK STITCHING AND FORWARD STITCHING A COUPLE TIMES TO LOCK THE ENDS OF THE THREAD
  13. I also forgot to take a photo of this but you should complete the triangle by attaching the seat tube strip to the top and down tube strip. Do this by making the external faces touch, clip the edges together and sew across the width (you want the external faces in side because you will flip it inside out and you want to hide the seam and seam allowance.
  14. flip it inside out and test it in the frame. (Image #12)

Well done! Time to make the side panels!

Step 3: Making the Side Panels

Ok I apologize but I did not document this as much as I should have. I will try to explain everything as detailed as possible.

The side panels were the most complex part of this build so I am going to split this into five parts; cutting the panels, making the zipper assemblies, making the drive side zipper panel, making the shelf, making the non-drive side velcro panel.

Cutting the panels:

  1. On the side of the fabric that will be facing inside of the bag trace the template and add a 0.5in seam allowance on all sides. (Image #1)
  2. Flip the template and do the same as before.
  3. Cut out the triangles.

(be aware that since you cut them from the reverse side of the fabric the panels will be opposite of what side of the template you used, I.e. if you used the drive side facing up of the template, that will be the non drive side once you invert the fabric.

Making the zipper assemblies:

  1. First you will want to determine where you want your zippers, I did this by putting the template back in the frame and just decided how big I wanted both pockets. Draw a line for each. (Image #2)
  2. Using the lines on the template measure and cut zipper to length (slightly shorter than the length of the line). (image #3)
  3. Put the zipper pull on and at the very ends of the zipper use a need and thread to stitch both sides of the zipper together. I just went around the actual zipper part a few times and tied off. (Image #4)
  4. Make the end covers by cutting a piece of the accent material in a strip 1 inch wider than your zipper for a 0.5in seam allowance.
  5. Fold along that 0.5in line on both sides and sew close to the edge (Images #5, #6).

  6. Fold over 0.5in of the edge of the zipper cover and sew (Image #7)
  7. Repeat 4-6 for a total of 4 times.
  8. Overlap the covers onto the zipper and pin in place (Image #8)
  9. Sew on the covers by stitching about 0.25in from the edge (Image #9)

Making the drive side zipper panel

  1. Mark a line 0.5in from the center line of the inside of the bottom zipper, and from the edge of the bottom panel of drive side on the outside. (Image #10)
  2. Align the drawn lines outside of the panel up and the inside of the zipper up. Pin them together. (Image #11)
  3. Sew along drawn line.

  4. Flip the zipper and fold along the sewn line. (Image #12)
  5. Sew a top stitch to secure the fold. (Image #13)
  6. Repeat 1-5 on the middle panel of the drive side zipper panel (Image #14)
  7. Repeat1-6 with the top zipper of the drive side zipper panel (Image #15 and #16)
  8. Flip it over and check alignment with the non drive side. (This method isn't perfect as you can see I didn't line up all the panels perfectly but because we left a 0.5in seam allowance it doesn't matter, just trace the drive panel onto the non drive side and adjust seam allowance lines to compensate.) (Image #17)

Making the shelf

  1. Measure the width of the lower zipper from the top to the internal seam line. (Image #18)
  2. Draw a panel the length of the line from step 1 plus 0.5in on both sides, and the width of the bag (2in) plus the width of the velcro and 0.5in on both sides. (Image #19)
  3. Fold and sew all of the edges.

  4. Cut and sew on a piece of velcro the size and on the space on the panel as shown in Image #19
  5. Sew the panel on the inside of the drive side panel aligning the top of the panel just above the top of the bottom zipper. only sew the top of the shelf panel. White side of both panels touching. (Image #20 and #21)

Making the non drive side panel

  1. Measure the top of the shelf panel on the drive side panel from the top seem line. (Image #22)
  2. Transfer that measurement onto the non drive side panel as a line across the panel (on the inside face of teh panel).(Image #23)
  3. Cut a piece of velcro the same size as the other one. place the velcro onto the panel aligning it above the line drawn in step 2 with the complementary side of the velcro facing up. (Image #23)
  4. Sew along all sides of the velcro.

Now we are ready to assemble!

Step 4: Assembly!

Ok so you have made it this far, congratulations! I wish I could say the hard part is over but assembly sucks.

  • Cutting the length of the webbing for the loops does not have to be exact but I left a lot of extra material and I'm glad I did.
  • I wanted my loops to be about 0.5-0.75in long, so I cut straps that were 0.75in+0.75in+1in+1in for a total of 3.5in and when folded in half the loop is 1.75in long.
  • The number of loops per side is up to you. There was no reason for what I settled on, I just thought it looked right.
  1. Cut all loops like above for each edge and for both sides for me it was 21 x 2 = 42 (Image #1)
  2. Flip the rim strip so that the exterior is facing the inside.
    • It must be assembled inside out
  3. Line up one of the side panels with the rim strip again with the inside out.
  4. Start pinning the panel to the rim strip by folding the loops and inserting them between the panel and the rim strip so that they protrude underneath 0.75in from the seam line drawn on the panel. (Image #2). I just pinned straight through.
  5. Clip in between the loops for added security while sewing. (Image #2)
  6. Sew down the line starting and ending with a few back stitch passes. (Image #2)

  7. Repeat steps 4-6 for all sides. (Image #3)
  8. Flip the the whole thing over and repeat steps 4-7 for the other panel (Image #3)
  • Navigating all of this fabric can be quite difficult, it becomes quite thick and the thread is prone to brake (Image #4). I just sew start a new seam overlapping the broken one and performing a couple back stitches.
  • I was not able to sew all the way to the corners sew I just hand sewed the corners. (Image #5)
  • Not pictured but for fit and finished I trimmed all of the tails of the loops and the extra fabric and fused it with a lighter.

Alright that's it, you finished the construction!

FLIP THAT BAG INSIDE OUT!!!!! (really its out side out but whatever) (Image #6)

Its done! (Image #7) Test the fit in the frame and get ready for lacing! (Image #8)


  1. Take your sharpened spoke (Image #9)
  2. Take your cord with a fused end (Image #10)
  3. Insert the spoke into the cord so that the point is behind the fused end (Image #11)
  4. Poke it through the loop, pull the cord through and remove the spoke.
  5. lace both sides and cross over the tube.
  6. repeat steps 1-5 all the way around or in individual cut sections (its up to you) (Image #12)

And you are finished!

Mine is by no means perfect as you can see how I missed a loop while lacing, I actually forgot to sew in one of the loops, and when I made the zipper panel I didn't line it up perfectly so the zipper is askew in the top right corner. But it functions perfectly!

Step 5: Conclusion

First I want to say thank you! specifically to the reddit communities r/Bikepacking and r/xbiking for the warm reception to my initial inquiry about interest in my project and the photo of the bag I posted!

I am really excited to share my work! I hope it stands a a jumping off point for anyone wanting to make their own gear. I look forward to others posting the bags they make following this tutorial!

Congratulations for completing this build! Now go ride your bike!



Be the First to Share


    • Fruits and Veggies Speed Challenge

      Fruits and Veggies Speed Challenge
    • Build a Tool Contest

      Build a Tool Contest
    • Make It Modular: Student Design Challenge

      Make It Modular: Student Design Challenge



    1 year ago

    Nice project. I have often thought of making something like this, but have always wondered if all that surface area will be a headache in stronger crosswinds.
    Also - thank you for including your fabric source. I'm always trying to accumulate new sources for utility fabrics for bags, packs, tool rolls, etc.


    Reply 7 months ago

    Thanks! Honestly after riding it all season, headwinds were never a problem. It’s a bike made for the woods. I spent very little time exposed on it.


    Question 1 year ago

    my only question! Are those 26 Panaracers or did you go with 650b conversion :D Great bag btw!


    Answer 7 months ago

    26 baby! I stretched the frame to fit 12 speed and built the wheels for microspline!


    1 year ago

    This bag is beautiful. I like your approach to the design and the execution is solid. I share your frustration with sewing multiple layers of thick/heavy materials. That fourth photo of Step-4 speaks to me. I have a lot of "words" for my machine when sewing multiple layers of heavy material. Someday, I hope to find a used walking foot machine for projects I want to make from my hoard of canvas. Good build!


    Reply 7 months ago

    Hey thanks a bunch! I feel like we are the same haha. Nice shinigami :)


    11 months ago

    Super nice idea!
    PS: Does the middle finger photo mean anything? ;)


    Reply 7 months ago

    It means my sewing machine jammed at least 20times in a 6in seem.


    11 months ago

    Do you thick velcro straps could work as a simpler (but less colourful) form of attachment?


    1 year ago

    I like this a lot. I bought a triangular bike bag and a few yeard ago and it's starting to fall apart.


    1 year ago

    I was making a gadget for my bike tracking and speed meters based on the Arduino, but I had a problem with how to close them perfectly and neatly. I found your Instructables while looking for a way online. Thanks for sharing such Instructables.


    1 year ago

    Hey, perhaps not perfect, but this is very nicely done and will help a lot of people produce something similar. Excellent instructions, thank you for sharing this!