Make the most of your limited space with this DIY loft bed project.

Multiple Days

Advanced

$1500 - $2000
Introduction
Dive into this step-by-step guide on how to build a loft bed that combines style, functionality, and simplicity.
This loft bed design maximizes the area between the mattress and floor, offering customizable bedroom storage solutions like drawers, shelves, and, in our case, a retractable desk.
Built in collaboration with cabinet maker Ethan O’Donnell, the headboard, footboard, mattress frame, dresser, and cubbies were all constructed separately and then assembled at the end to form the final product. Here is a step-by-step explanation of the process.
Before we begin
There are a few common themes throughout this build. Instead of reviewing them every time, I laid them out beforehand.
- Everything was finished beforehand. You may have noticed that I always pre-finish my materials to make touch-ups and finishing touches easier. The components were all primed, painted, and polyurethaned prior to assembly.
- The plywood edges were edge banded with iron-on edgebanding. We cleaned up the edges of the edge-banded plywood with a file, chisel, and sandpaper and painted them throughout the process.
- Filling nail and screw holes and touching up paint are also procedures that were completed throughout the building process rather than waiting until the end.
- The joining method was the same. Except where otherwise noted, all parts were set using wood glue and 1-1/2-in. brad nails and secured with pre-drilled and countersunk 1-1/2-in. screws.
Tools Required
- 1/4" round-over bit
- 18ga brad nailer
- Biscuit joiner
- Clamping square
- Clamps
- Countersink drill bit
- Dado blade
- Drill/driver
- File
- Iron
- Miter saw
- Painting supplies
- Pocket hole jig
- Router
- Square
- Table saw
- Tape measure
- Wood chisel
Materials Required
- 1-1/2" brad nails
- 1-1/2” screws
- 1-1/4" Screws
- 1” screws
- 2 - 1/2"x4'x8' birch plywood
- 2 - 1x3x8' select pine
- 3" screws
- 4 - 1x2x8' select pine
- 4 - drawer slide pairs
- 5 - 2x2x8' select pine
- 5 - 3/4"x4'x8' birch plywood
- 8 - 1x8x8' select pine
- 8 - 2-1/2" ridgid casters
- 9 - 1x6x8' select pine
- Assorted sandpaper
- Biscuits
- CA glue
- Double-sided tape
- Drawer pulls
- Friction hinge
- Friction tape
- Iron on Edge Banding
- Paino hinge
- Paint
- Painter's tape
- Polyurethane
- Primer
- Wood filler
- Wood glue
Watch Elevate Your Space: Building the Perfect DIY Loft Bed
Project step-by-step (23)
Mattress Frame
Cutting List
KEY | QTY. | PART | DIMENSIONS |
A | 2 | Long Side | 3/4” x 5-1/2” x 77” |
B | 3 | Short side & slat | 3/4” x 5-1/2” x 56-1/2” |
C | 4 | Gussets | 3/4” x 7-1/4” x 18”* |
D | 2 | Mattress bottom | 3/4” x 37-3/4” x 56-1/2” |
* – 45° angled cuts at each end. Cut to fit.
Build the mattress frame
The exact size of your mattress will determine the width of your mattress frame, which will, in turn, determine the width of the footboard and headboard. Make this measurement with a tape measure. Don’t go by what is stated on the box mattress website or packaging, as you’ll quickly learn that those aren’t exact.
Make the inside dimensions of the mattress frame 1-1/2-in. wider and longer than the actual mattress dimensions. Join the long sides(A) with the short sides (B) using wood glue, nails and screws.
When the glue has dried, install angled gussets (C) in the four corners and a center slat (B) that runs down the middle of the frame, flush to the bottom edge of the sides (A and B). These pieces will keep the mattress frame square and sturdy.
Cut the plywood bottom pieces to fit into the mattress frame. Because of their size, you will need to cut them out of two separate sheets of plywood. Nail and screw the bottom (D) into place, securing them to the gussets (C) and the center slat (B).
Dresser
Cutting List
KEY | QTY. | PART | DIMENSIONS |
A | 2 | Side | 3/4” x 19-1/2” x 30-1/2” |
B | 1 | Shelf | 3/4” x 19-1/2” x 56-3/4” |
C | 6 | Stretchers | 3/4” x 5” x 56-3/4” |
D | 1 | Top divider | 3/4” x 1-3/4” x 18-3/4” |
E | 2 | Mid divider | 3/4” x 8-9/16” x 18-3/4” |
F | 1 | Bottom divider | 3/4” x 8-5/8” x 18-3/4″ |
G | 1 | Back | 1/2” x 27-5/8” x 57-1/4” |
H | 2 | Desk runners | 3/4” x 1-1/2” x 18-3/4” |
J | 12 | Drawer box sides | 1/2” x 7-1/4” x 18” |
K | 6 | Drawer box fronts | 1/2” x 7-1/4” x 25-7/8” |
L | 4 | Drawer box back (tall) | 1/2” x 6-1/4” x 25-7/8” |
M | 2 | Drawer box back (short) | 1/2” x 4-3/4” x 25-7/8” |
N | 6 | Drawer bottoms | 1/2” x 17-3/4” x 26-3/8” |
P | 1 | Desktop | 3/4” x 27-3/4” x 55” |
Q | 2 | Desk leg upright | 3/4” x 5-1/2” x 28-3/4” |
R | 3 | Desk leg stretcher | 3/4” x 3-1/2” x 13-3/4” |
S | 4 | Desk stop | 3/4” x 3-1/2” x 27” |
T | 4 | Upper drawer fronts | 3/4” x 9-1/16” x 28-5/8” |
U | 2 | Bottom drawer front | 3/4” x 8-3/4” x 28-5/8” |
V | 2 | Upper opening face | 3/4” x 2-1/2” x 28-5/8” |
Build the cabinet
This loft bed project features a straightforward dresser build with a unique design. In addition to the pull-out desk, the dresser has two bottom drawers on casters that can be completely rolled out from the cabinet.
Cut all of your parts for your dresser. Take the dresser sides (A) over to the table saw to cut dados.
With your dado blades set to the plywood thickness, cut the dados and rabbets at the dimensions in the image above on the dresser sides (A). I prefer 1/8-in. deep dados to ensure perfect alignment yet not compromise the integrity of the side pieces. After all your dados have been cut, cut a 3/4-in. wide x 3/8-in. deep rabbet along the back edge of the shelf (B) and two sides (A).
Install the dresser stretchers (C) and shelf (B) flush to the front edge of the sides. Secure the back stretchers (C) flush to the shoulder of the 3/8-in. rabbit along the back edge.
Slide in the dividers (D, E, F), and secure them so they are square and centered along the shelf (B) and stretchers (C).
Install the back (G) into the rabbet along the back edge of the shelf (B) and two sides (A), making sure it is a tight fit and that the back is cut square. Glue, screw, and nail it into the rabbet on the sides (A) and shelf (B), and into the back edges of the stretchers (C) and dividers (D, E, F).
Make the drawers
Cut a 1/2-in. wide x 1/4-in. deep dado, a 1/2-in. up from the bottom edge of the drawer sides (J) and drawer box fronts (K) for top four drawers. For the bottom two drawers that are going to be on casters, cut the same 1/2-in. wide by 1/4-in. deep dado, except make it 2-in. from the bottom edge of the drawer sides (J) and fronts (K).
Using thick CA glue and brad nails, nail together the drawer box fronts (K), sides (J), and backs (L, M). Be sure the edges of the drawer backs are flush to both the top edge of the sides and top shoulder of the dado cut into the sides.
Once the glue has cured, slide the drawer bottoms (N) into the dados (with a little wood glue in them) and put a couple of nails through the bottom side of the drawer bottom into the bottom edge of the drawer backs (L, M).
Install the drawer slides and casters
When choosing drawer slides, I look for three things: durability, affordability, and foolproof installation. Hence, I chose to use bottom-mount drawer slides.
Install the drawer box side of the slide so that the end is flush with the front edge of the drawer box. On the cabinet side of the slide, install it so it it sitting on the stretchers and there’s a 1/16-in. gap between the front edge of the slide and the cabinet’s front. Since the dadoes run along the entire length of the dresser sides (A), we can ensure that the stretchers (C) are aligned, which will, in turn, align the slides. For these slides, it is crucial that the drawer box is one inch smaller than the opening in the casework and that the divider (D, E, F) and dresser sides (A) are parallel.
Rigid rubber casters support the bottom two drawers so they can be completely rolled out of the cabinet. Considering the drawer bottoms (N) on the bottom drawers are recessed two inches, and the casters are 2-1/2-in. tall, the casters will hold the drawer box a half inch off the ground. It is important that these casters are rigid non swiveling casters. Nail small guide strips along the lower cabinet divider and bottom openings of the cabinet sides to ensure the drawers stay aligned.
Once you are sure that the drawers slide smoothly, take them out and round over the top edges of the sides (J), front (K), and back (L, M) with a 1/4-in. round-over bit in the router, fill nail holes, and touch up polyurethane on all six drawer boxes.
Build the desk
The desk is constructed from a large piece of plywood (P) and a single leg comprised of two uprights (Q) and three stretchers(R), all glued and pocket screwed together. The leg is attached to the underside of the plywood desktop (P) with a piano hinge, which allows the desk to be folded up and inserted into the opening at the top of the dresser.
In the dresser opening, two 1×2 runners (H) have been screwed into the shelf (B) along the sides, and drawer slide friction tape has been applied to all surfaces that come into contact with the underside or legs of the desk.
The desk simply folds up and slides in and out of the opening. There is a 1×4 stop block (S) that was screwed to the plywood desktop’s (P) back edge at installation, so it can’t slide all the way out. The most important aspect of this desk is the friction hinge attached to the bottom and the inside of the leg of the desk in order to prevent the leg from slamming down during setup and pinching the user’s fingers.
Install the drawer fronts
The drawer fronts are laid out with a 3/8-in. gap along the floor to ensure the bottom drawers won’t get caught up on the rug and 1/4-in. gaps between all the other surrounding drawer fronts and the cabinet sides. This means that the drawer fronts (U, T) and upper opening faces (V) will overhang the center dividers (D, E, F) and stretchers (C) by 1/4-in. and the dresser sides (A) and top stretcher by 1/2-in.
Prepare the drawer box fronts (K) by predrilling holes inside all of them. Using strong two-sided tape, adhere the drawer fronts (U, T) to the drawer box fronts (K) and screw them in place through the drawer interiors using one-inch screws.
Start with the grey bottom drawer fronts (U) and work your way up to the upper yellow fronts (T) and upper opening faces (V). Cut 1/4-in. spacers to create the gaps on the sides of the cabinet and between the drawer fronts and upper openings.
Attach the upper opening face (V) on the right side of the dresser with glue and Brad nails. The face (V) on the left, to the front edge of the desktop (P) with glue, nails and screws. A plush carpet or rug may require a larger gap between the bottom drawer fronts (U) and the floor for the bottom drawers with casters to operate.
Cubbies
Cutting List
KEY | QTY. | PART | DIMENSIONS |
A | 2 | Side | 3/4” x 12-1/2” x 30-1/2” |
B | 2 | Divider (tall) | 3/4” x 8-11/16” x 12-1/2” |
C | 1 | Divider (short) | 3/4” x 8” x 12-1/2” |
D | 4 | Shelf | 3/4” x 12-1/2” x 17-3/4” |
E | 1 | Stretcher | 3/4” x 5” x 17-3/4” |
F | 1 | Face | 3/4” x 2-1/2” x 18-1/2” |
G | 1 | Back | 3/4” x 19” x 30-1/2” |
Assemble the cubbies
The dado joints cut into the cubby sides (A) are identical to those cut into the dresser sides, except that an additional rabbet along the bottom edge (of the same depth and width as the rest) is present. To align the dividers (B, C), I also cut a 3/4-in. wide by 1/8-in. deep dado down the center of both sides of the middle two cubby shelves and down one side of the top and bottom shelves (D).
Assemble the cubbies by attaching the four shelves (D) to the bottom rabbet and three dados in the cubby sides (A). In the top dado, attach the stretcher (E) so that you’ll have something to nail the false cubby opening face (F) to after everything is edgebanded.
Next, add the dividers (B) between the shelves (D) with the short divider (C) on the bottom. Attach the top (B) and bottom (C) dividers first so you can nail through the shelves (D) into the divider above or below it, and toenail the center divider in place. The cubby back (G) is just butted against the back of the case and secured to the sides (A), dividers (B, C), and shelves (D).
Footboard
Cutting List
KEY | QTY. | PART | DIMENSIONS |
A | 1 | Footboard panel | 3/4” x 37-1/2” x 48” |
B | 1 | Ladder panel | 3/4” x 16” x 38-1/2” |
C | 2 | Panel stile | 1-1/2” x 1-1/2” x 48” |
D | 3 | Ladder rail | 1-1/2” x 1-1/2” x 38-1/2” |
E | 3 | Ladder tread | 3/4” x 5-1/2” x 16” |
F | 3 | Rung front support | 1-1/2” x 1-1/2” x 16” |
G | 3 | Rung rear support | 3/4” x 1-1/2” x 16” |
H | 2 | Ladder base | 1-1/2” x 1-1/2” x 3” |
J | 1 | Right ladder cap | 1-1/2” x 1-1/2” x 4-1/2” |
K | 1 | Left ladder cap | 1-1/2” x 1-1/2” x 6” |
L | 1 | Ladder cap spacer | 1-1/2” x 1-1/2” x 16” |
M | 2 | Ladder panel trim | 3/4″ x 1-1/2″ x 16″ |
N | 2 | Footboard panel trim | 3/4″ x 1-1/2″ x 37-1/2″ |
P | 1 | Ladder top cap | 3/4″ x 2-1/2″ x 18″ |
Q | 1 | Footboard top cap | 3/4″ x 2-1/2″ x 41″ |
Assemble the footboard panel
On a large work surface layout the footboard (A) and ladder (B) plywood panels and the panel stiles (C) and outer ladder rail (D). Lay them face down and mark the locations for biscuits. Separate the pieces and cut your biscuit slots using a biscuit joiner so that the back edge of the stiles (C) and rail (D) are flush with the back edge of the plywood panels (A, B).
Once the biscuits have been cut, glue the footboard panel (A) and two stiles (C), as well as the ladder panel (B) and outer ladder rail (D) using wood glue and clamps.
Build the ladder rungs
Make the three ladder rungs out of the treads (E) and front (F) and rear supports (G). Attach the rear support (G) flush with the tread’s (E) back edge and the front support (F) so that the tread (E) overhangs it by 1/4-in.
Build the ladder
Glue the assembled rung through its rear support (G) into the plywood ladder panel (B). Space them apart so the tops of each rung are 12-in. apart. Attach the ladder rails (D) so that they align with the front ladder supports (F) on the rungs of the ladder with glue and three-inch screws. When securing these, ensure the top of the tread (E) is perpendicular to the back ladder panel (B). Then, glue the ladder panel (B) with attached ladder and rails to the headboard panel using wood glue, biscuits, and clamps.
Trim out the footboard and ladder
Attach the ladder bases(H) and ladder caps (J, K) so that they align with the ladder rails (D). For proper spacing, attach the ladder cap spacer (L) to the top of the ladder panel(B) between the center panel stile (C) and the left ladder cap (K). Connect these components with glue and three-inch screws, ensuring the top of the tread is perpendicular to the back ladder panel.
Complete the footboard by installing the top and bottom trim on the ladder (M) and footboard panel (N) . Next, attach the top caps to the ladder (P) and footboard panels (Q). Place them so that they overhang the backside of each panel by 3/4-in. and the ladder side by 1/2-in.
Headboard
Cutting List
KEY | QTY. | PART | DIMENSIONS |
A | 1 | Top cap | 3/4” x 7-1/4” x 59” |
B | 2 | Side | 3/4” x 7-1/4” x 48” |
C | 1 | Base | 3/4” x 7-1/4” x 58” |
D | 1 | Back | 3/4” x 48” x 56-1/2” |
E | 1 | Shelf | 3/4” x 6-1/2” x 56-1/2” |
F | 2 | Door | 3/4” x 8-1/2” x 10-1/4”** |
G | 1 | Vertical support | 3/4” x 5-1/2” x 38-11/16” |
H | 2 | Gusset | 3/4” x 7-1/4” x 18”* |
J | 2 | Upper guide | 3/4” x 1-1/2” x 56-1/2” |
K | 2 | Divider | 3/4” x 5” x 8-9/16” |
* – 45° angled cuts at each end. Cut to fit.
** – Mitered top edge.
Build the headboard case
Build the headboard box out of the top cap (A), sides (B), and base (C). The top cap overhangs each side by 1/2-in.
Next, inset the headboard back (D) flush with the back edge of the top cap (A), sides (B), and base (C) and secure it to these components.
In the headboard shelf (E), cut a dado slightly wider than 3/4-in. x 3/8-in. deep. Position it 3/4-in. from the front edge to accommodate the sliding doors (F). After the dado is cut, install the headboard shelf (E) with the dado facing up 8-9/16-in. below the bottom of the top cap (A).
To prevent the headboard shelf (E) from bowing over time, attach the vertical support (G) centered on the bottom of the shelf (E). Connect this piece to the shelf (E), back (D), and the base (C).
Next, install the gussets (H) with mitered ends at the bottom corners of the headboard between the sides (B) and the base (C). These will provide strength and serve as a place to secure the bed pieces together during assembly.
Install the sliding door and partitions
Rather than run a stop-dado on the bottom side of the headboard top cap (A), I chose to build the upper guide for my sliding door out of two 1×2 guides (J). The front guide will be secured on its edge to the headboard cap (A) and the back guide on its face. There should be a gap between the two guides (J) that is the same width (a little over 3/4-in.) and aligned directly above the dado you cut in the headboard shelf (E). This alignment is crucial for your doors (F) and dividers (K) to fit in and operate correctly.
Following the installation of the upper door guides, notch the two dividers (K) around the back guide rail (J) and install them in the headboard shelf (E) to create three evenly spaced openings (roughly 18-in. wide). Secure these to the top cap (A), headboard shelf (E), and back (D) for strength.
To install the doors (F), rip a 45-degree miter along its top edge. Next, slide the doors into position by sliding the mitered point into the gap between the upper guides (J) and pivoting the bottom into the headboard shelf (E) dado from inside the headboard cabinet.
Assemble the loft bed
Cutting List
KEY | QTY. | PART | DIMENSIONS |
A | 10 | Angle bracket side | 3/4” x 7-1/4” x 7-1/4″ |
B | 5 | Angle bracket gusset | 1-1/2″ x 1-1/2″ x 8-1/2″* |
C | 2 | Support leg | 1-1/2” x 1-1/2” x 30-1/2” |
D | 1 | Cross brace | 3/4” x 7-1/4” x 77” |
E | 1 | Vertical support | 3/4” x 7-1/4” x 30-1/2″ |
* – 45° angled cuts at each end. Cut to fit.
Make angle brackets
Make five angle brackets for the loft bed assembly. Connect two angle bracket sides (A) together to create an “L.” Then, attach the angle bracket gusset (B) to stiffen the “L” and hold the two legs exactly 90-degrees from one another.
Piece the bed together
Remove the drawers from the dresser and join it to the cubby unit by lining up the front edges and screwing the cubby (cubbies part A) and dresser sides (dresser part A) together using clamps to hold them in place. Pre-drill the holes using a counter sink bit and secure it with 1-1/4-in. screws, being careful not to poke the screw through the other side. Screws should be placed on every shelf level, one towards the front and one further back.
Align the front edge of the dresser side (dresser part A) with the left side of the headboard (headboard part B). Pre-drill 1-1/4-in. screws from inside the dresser side (dresser part A) into the side of the headboard (headboard part B) and the gusset (headboard part H) that is mounted there.
Using 1-1/4-in. screws, attach the cubby unit to the footboard by screwing through the inside of the cubby side (cubbies part A) into the back of the ladder panel (footboard part B). Drive these in at an angle or use a right-angle drill or attachment to seat these screws. We also attached the back of the cubbies (cubbies part G) to the back of the footboard panel (footboard part A) using the angle brackets we built in the last step at the top and bottom of the cubby unit.
For level installation of the mattress box, secure support legs (C) at the far ends of the headboard and footboard. Attach these with glue and three-inch screws flush to the back outside edge of the headboard side (headboard part B) and footboard stile (footboard part C). Between the support legs (A), attach the cross brace (B) along the floor and secure it to the back of the footboard panel (footboard part A), as well as the gusset (headboard part H) and base of the headboard (headboard part C), using a couple more of those homemade angle brackets. Last but not least, install a vertical support (C) in the center of the cross brace (B). Screw it directly into the cross brace (B) at the bottom and use a final homemade angle bracket at the top to tie it into the mattress frame’s bottom center slat (mattress frame part B).
Once the bed is completely assembled, jump up into the mattress frame and sink a few screws through the short sides of the mattress frame (mattress frame part B) into the headboard and footboard in locations that will be hidden once the mattress is installed. Before installing the mattress, the last thing to do is to lock the entire bed into place by attaching the back, long side of the mattress frame (mattress frame part A) into a wall stud or two at its final location.
Finishing touches
For a striking contrast, paint the lower section of the loft bed in a different color (in this case grey) at the line of the lowest drawers. Tape off the line using a level and delicate surface painter’s tape.
For the best seal at the tape line and to prevent paint bleed, secure the tape and paint the tape edge with the base color. Allow it to dry, and then paint the lower section in the desired color. This will prevent the other paint color from finding its way under the tape and causing the need for detailed touch-ups.
Finally, install the pulls to the drawer fronts (dresser parts T and U), faces (dresser part V), and headboard doors (headboard part F).
FAQ
What is the difference between a captain’s bed and a loft bed?
A key difference between the two is the height and the type of space utilization. Traditionally, a captain’s bed (or storage bed) is a standard bed frame that is designed to maximize space in smaller rooms by incorporating storage directly into the frame. Loft beds, on the other hand, are usually raised much higher and create an entirely new usable area beneath the sleeping surface, which makes this bed the a mix of both worlds.
How tall are loft beds?
The height of a loft bed ranges from 36 to 75-in. The key dimension with loft bed height isn’t how high the sleeping surface is off the floor but rather how high the sleeping surface is from the ceiling. For an adult, this should be at least 33-in.