back to top

How To Build a Simple DIY Softbox (Cheap & Easy!)

A- A+

Subscribe Below to Download the Article Immediately

You can also select your interests for free access to our premium training:

Your privacy is safe. I will never share your information.
Related course: Wow Factor Photography

A naked flash or strobe light creates harsh shadows and hotspots. But dress it up with a softbox, and that same flash creates a soft, flattering light.

A softbox is essentially a large box that attaches to the light. It has a white diffusion panel on the front to soften the light, hence the name.

While the design is simple, softbox lighting kits can be pricey. Building your own softbox is an easy, inexpensive way to soften the light from a flash or strobe. Constructing a basic softbox only takes about 20 minutes.

If you do a bit of digging in the kitchen cupboards, you may find the materials that you need on hand. This means you can make a softbox for $0.

If you don’t already own some of the materials, like aluminium foil and tape, it will still only cost you a few dollars.A DSLR below a homemade softbox
[Note: ExpertPhotography is supported by readers. Product links on ExpertPhotography are referral links. If you use one of these and buy something, we make a little bit of money. Need more info? See how it all works here.]

For this tutorial, we focused on creating the most straightforward, low-cost softbox that still produces great light.

Is it as nice as an actual softbox? No, it’s a bit bulky and doesn’t fold for storage. But, if you have a tight budget, or want to try a softbox before you invest in one, try out this DIY photography lighting project.

What You’ll Need to Build a DIY Softbox

  • A box. The larger your box is, the softer the light will be, but the more awkward it will be to use. For this tutorial, I used a shipping box that was roughly the size of a shoebox. This size works well for an on-camera flash. If you plan to use an off-camera flash, you can use a larger box for even softer light.
  • A white garbage bag (or alternative diffusion material). A white garbage bag acts as the diffusion panel at the front of the box, softening the light. You can use any white material that allows light to pass through, like an old white t-shirt or sheet. The diffusion material should be at least a few inches larger, on each side, than the top of your box.
  • Box cutters and scissors. You’ll be doing a bit of cutting for this project. Box cutters or a scalpel are the easiest way to cut up the cardboard box. You’ll also need a pair of scissors to cut the diffusion material.
  • Tape. You can use any large tape for this project. Plain invisible tape is too thin, but shipping tape, duct tape or painters tape is all wide enough and sticky enough to get the job done.
  • A marker. You’ll need a marker to create the right size opening for your flash.
  • A hot-shoe flash. This tutorial is for a DIY softbox for a hot shoe flash. You can adjust the instructions for a larger light. To follow this step-by-step exactly, you’ll need a hot shoe flash with a tilting head that can point straight up.
    a cardboard box, aluminium foil, cutting knife, tape, stationary

Important: Do not use this softbox on any light that runs hot to the touch. Placing cardboard on a hot object could create a fire hazard. Most hot shoe flashes run cool to the touch.

How to Make a DIY Softbox for a Hot-Shoe Flash

1. Remove the Top Flaps

First, get rid of those pesky top flaps on the box. Using the box cutters, slice off the top flaps so that you have a box with one end open. This end of the box will house the diffusion panel and face towards the subject. Recycle or discard the cut-offs.Removing the top of a cardboard box to make a softbox

2. Trace the Opening for the Flash

The open end is now the front of the softbox. Place the flash at the bottom edge of the softbox, instead of the back. This allows you to bounce the light inside the box for an even softer light. It also makes the process easier.
Cutting a cardboard box to make a softbox

Choose which side to use based on the orientation that you’d like your softbox to be. I chose to place the flash opening in one of the two longer sides of the box so that my softbox would have a horizontal rectangle shape. If you want a vertical shape, choose one of the shorter sides of the box instead.

With the side selected, tilt your flash head straight up. Then, place the flash head roughly in the centre of that side. Use a marker to trace the flash head. (The flash head is the part of the flash where the light comes out.)

Cutting a cardboard box to make a softbox Cutting a cardboard box to make a softbox

3. Create Flaps to Hold the Flash in Place

Draw an X inside the rectangle that you traced earlier. Using the box cutters, cut along the lines of the X. DO NOT cut along the lines of the rectangle that you created when you traced the flash head.

You want to create a snug slot for the flash to fit through, with four triangles slots cut into the box, not a large hole. Err on the side of too small as you cut. You can always cut them a bit bigger if the flash doesn’t fit.

Once the flaps are cut, tuck your flash head in the opening to check the fit. You want the flash head to be snug so that you don’t need to tape the softbox onto the actual flash. If you can’t fit the flash in the hole, make the X a little bigger, a bit at a time, until you have a good fit. Once you know that the flash fits, go ahead and remove it before the next step.A camera flash inserted into a flap of a cardboard box

4. Line the Inside of the Softbox with Aluminium Foil

Next, line the entire interior of the softbox with tin foil. Cut a hole that matches the flash opening in the foil, so that the foil isn’t blocking the opening. Secure with tape as needed.

The aluminium foil will bounce the light inside the box. Even when your flash head is pointing up, the light will still be directed out the front of the softbox, towards the subject.A camera flash inserted into a flap of a foil covered cardboard box

5. Create the Diffusion Panel

Finally, cover the front of the softbox with the white diffusion material. I used a garbage bag, but you can also use white fabric from an old t-shirt, sheet, or curtain. Whatever you have lying around. If you use a garbage bag, you can use one side of the bag and tear open the seam so that you are only using one layer. Leave the seams of the bag intact and use two layers of the garbage bag for an even softer light. I chose to use two layers.

Cut the material the size of the front of the softbox, plus an inch or two so that the material wraps around the front sides of the box. Place the material over the box, and secure with tape. Use one long piece of tape on each side to completely attach the material, without any gaps.A camera flash inserted into a flap of a cardboard box

6. Insert Your Flash and Start Shooting.

Your softbox is constructed, now you just need to add your flash. Point the flash head straight up, then slide the flash through the opening. Leave the flash pointing straight up, towards the ceiling. All the tinfoil inside will help bounce that light to the opening for beautiful soft light.

Leave some room between the flash head and the top of the softbox, don’t push the light so far up that it’s touching the tin foil.A DiY softbox over a Nikon DSLR

Here’s what my photos looked like with my DIY softbox, and with a naked flash:

a vintage camera
Bare flash
a vintage camera
With DIY softbox

The photo using the softbox creates a much softer light that’s less harsh on the subject. If you look closely to the right of the subject, the vintage camera, you can see a shadow cast by some window light. The bare flash is so powerful it eliminates that shadow, which gives the image less depth.

You can use a DIY softbox much like using any softbox. Remember, using manual flash will give you further control over the light. With a transmitter and receiver, this DIY hot shoe softbox can also be used off-camera.

Common Softbox Lighting Questions

What Is a Softbox in Photography?

A softbox is, quite literally, a box placed over the light to create a softer, more flattering light. They come in several different sizes. Larger sizes offer softer light but are harder to wield. There are also several different shapes, including square, rectangle, and octagon.

What Material Is a Softbox Made of?

A softbox that you would buy from a photography store is made of different fabrics. They are black on the sides to prevent light from spilling out and have a white diffusion panel to soften the light on the front. Most are made from materials such as nylon and polyester, or blends of these materials.

Which Is Better: Softbox or Umbrella?

Softboxes and umbrellas will both create a pleasant, soft light that’s great for portraits and other types of photographs. The main difference is in the shape and the spill. Umbrellas come in one circular shape, while softboxes come in squares, rectangles, and octagons.

The shape of the modifier determines the shape of the catchlight in the subject’s eyes. Umbrellas have more spill, which means softboxes are easier to control and lose less light.

Conclusion

A softbox creates great, flattering light. You don’t need to invest a lot of cash or a lot of time to add one to your arsenal of photo gear. With 20 minutes and a few items that you have in your kitchen and garage, you can build a softbox.

A DIY softbox won’t look as nice or be as portable, but it will still offer quality photographs without breaking the bank. It’s the end result that really matters.

Save this article to your Pinterest profile to access it later!
Show Comments (0)
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]