back to top

How to Photograph Fireworks in 8 Easy Steps

A- A+
Related course: Wow Factor Photography

Fireworks are essentially streaks of light that are moving in the dark. But how to photograph fireworks for best results? Firework photography isn’t an easy task. And it often results in blurry shots and inaccurate exposures.
So how do photographers snap those amazing fireworks photographs you see online? With the right gear, the proper settings, a few shooting tricks, and some patience.
This straightforward guide on how to photograph fireworks will help you take your fireworks images from blah to awesome.
Amazing fireworks photography of yellow burst over water in the distance

What You Need: Gear For Photographing Fireworks

A fireworks display is spectacular to watch. But photographing them without the right gear or proper techniques is anything but. Your fireworks photographs won’t be anywhere near dazzling.
You don’t need a specialised camera for photographing fireworks. The smaller accessories can make all the difference.
For fireworks photography, you’ll need the following:

  • Camera – A model equipped with manual modes is ideal.
  • Lenses – A wide-angle lens will capture the entire scene with some context. And a telephoto can capture isolated images of fireworks against a night sky (both work well).
  • Tripod – Stabilising the camera is an absolute must. Without a tripod, you’re going to end up with blur. You don’t need the most expensive tripod out there. Look for something steady enough that your camera won’t shake in the wind.
  • Memory card – Don’t forget to put a card in your camera. A faster card will help you capture fireworks that happen one right after another.

Those are the essentials, but there are a few more things that make the experience a bit more comfortable:

  • Remote release – Anytime you are using a tripod, a remote release can help get an even steadier shot. Remote releases aren’t necessary, but it’s a helpful tool to bring along if you’ve already invested in one.
  • Chair or blanket – Some fireworks shows can last for quite some time. Setting up your tripod in front of a folding chair might make for a more enjoyable experience.
  • Flashlight – If you can’t adjust your camera settings with your eyes closed, bring along a flashlight. That way you’ll see your camera’s controls in the dark.

How to Photograph Fireworks, Step By Step

8. Arrive Early and Scope Out Potential Locations

The first thing is to plan ahead on when the fireworks are taking place. The Fourth of July or New Years are the two best examples I can think of. It will depend heavily on where you are located.
Plan to arrive at least half an hour before the fireworks are scheduled to start. Spend that extra time scoping out locations while there’s a little bit of light left.
Also, use this time to set up your fireworks photography settings. Also, think about your prime or zoom lens’ focal length, as that will decide on where to place yourself.
Identify where the fireworks will be launching from. Then imagine what the composition would look like ahead of time at different potential locations.
Look for neat features that would add interest to the scene. These include a reflection off water or fireworks photographs over a cityscape.
These are things that will strengthen the composition. You should also look out for potential pitfalls. These would be power lines in the way or tall trees obstructing the view.
A fireworks explosion with bystanders on shore - how to photograph fireworks

7. Do You Need a Tripod

Fireworks photography is an extension of the long exposure technique. This means that a tripod is a must. Especially if you are capturing an environment under the fireworks shots.
Once you’ve spotted your composition, set up the tripod for that view. Whether it is a Nikon or Canon DSLR or one of the mirrorless cameras, having a tripod is one of the best photography tips.
Tripod or not, consider using a cable release for your shutter to minimise camera shake. Failing that, use a self-timer. The important part is gaining the best vantage point to capture the firework photos.
A multicolor mine firework erupting, fireworks photography tips

6. How to Set the Right Exposure for Fireworks Photography

Some fireworks are quick bursts. Others maintain an impressive streak across the sky for several seconds.
The trick to getting the firework’s entire movement across the sky is to use Bulb Mode. Don’t use a preset shutter speed.
In ‘Bulb’ Mode, you control the shutter speed by holding down the shutter release. The camera continues recording until you let go of that button.
The in-camera ‘Bulb’ setting makes it possible to shoot fireworks without knowing how long that next burst is going to last.
To use ‘Bulb’ Mode, turn your camera to manual mode. Turn the shutter speed all the way down until you see B or Bulb near the shutter speed display.
You are using a long shutter speed and fireworks are actually pretty bright. So you should start with the lowest ISO available on your camera. A low ISO is typically ISO 100 or 200.
The exact exposure values are going to vary. This is based on whether there are any other lights in the scene and how many fireworks bursts are going off at once.
Start with an aperture of f/11. As you shoot, check your exposure and adjust as needed. Choose a larger f-number (a smaller opening) if the shots are too light.
You can include several fireworks or choose a smaller f-number (a wider aperture) if the shots are too dark.
For the most control in post, change the file type to RAW, but stick with JPEG if you don’t plan on editing the images.
Note: While shooting in manual mode is best, some compact cameras have a fireworks mode. If you don’t have manual modes, try shooting in the fireworks scene mode. You’ll still need a tripod, but you won’t need to manually set the exposure and focus (in steps three and four).

5. Use Manual Focus

Cameras can’t focus on the dark. And they can’t focus on a firework that hasn’t even exploded yet.
Photographing fireworks requires manual focus, but it’s not as tough as it sounds.
Turn your camera to manual focus. Then adjust the focus dial on the lens until the distance meter shows the infinity symbol.
Since the fireworks are far away and you aren’t using a very narrow depth of field, this works most of the time.
But, once the fireworks start, be sure to preview your first shot and zoom in. If the fireworks are a bit soft, you may need to pull the focus back in a bit closer.
A coconut firework bursting against deep blue sky - fireworks photography tips

4. Should You Use a Remote Release

If you have a remote release, make sure to use it for shooting. Many newer cameras have WiFi, which also allows you to use your smartphone as a release.
You’ll get sharper results with a remote release, but I’ve shot many fireworks shows without one. Move your hand as little as possible while holding the shutter release.
Shooting fireworks photography is about the timing. I release the shot as soon as I hear the screech that indicates the firework is on its way up into the sky.
I hold the shutter release until the sparks fizzle out, then I release and start over again with the next burst. Remember, in Bulb Mode, the shutter speed is how long you hold the shutter release for.

3. How Often Should You Review Your Shots

Even after shooting fireworks every summer for the past few years, I usually don’t get it perfect on the first shot. I make sure to do the following to ensure I’m starting out with good settings:

  • Pull up a preview on the LCD screen;
  • Zoom in and check that manual focus;
  • Check the exposure and adjust the aperture as needed. Smaller f-numbers if it’s too bright, lower f-numbers if it’s too dark.

Checking the shot is important when you first start the shoot. Don’t check every shot. You’ll take your eyes off the sky and miss another opportunity. But check back ever so often.
If the fireworks show starts at dusk, you may lose some light. You’ll need to brighten up your aperture to account for the low-light.
Fireworks shows tend to be long. This gives you plenty of chances to capture great shots—and get some variety. This length will help you set the aperture and exposure time correctly.
Cool fireworks photography shot of a small red, yellow, and blue willow fireworks cluster

2. Adjust—Then Add Variety

After you’ve got a few shots that you are happy with, try for some variety. Switch between a wide-angle view and a close-up of the sky by zooming or swapping lenses.
For longer firework photography shows, try moving to another viewing spot. Make sure you’re still respecting other spectators as you move.
Instead of holding the shutter down for one whole burst, try capturing more than one at a time. You do this by holding the shutter until multiple bursts are completed.
If your exposure was good for a single firework burst, use a narrower aperture. You should still get an accurate exposure with the extra light coming in from multiple bursts.
Most fireworks shows are long enough to allow you to get several different shots. By the show’s finale, I’m usually ready to put the camera down. And I can watch the rest of the show without looking through a viewfinder.
At that point I’ve already gotten quite a few shots. Plus the number of fireworks exploding at once in the finale makes it tougher to get a good exposure. It also leaves the sky filled with more smoke.
If you want to photograph the finale, stop that aperture down even further.
Fireworks photos: blue plume from mine firework

1. Editing Fireworks Photography

Shooting in RAW gives you complete control over the way the final image looks. Take advantage of that, open up those fireworks photos in your favourite photo editor, and start post-processing.
Fireworks photos can benefit from a contrast adjustment. I do that by controlling the individual exposure channels first.
Start by pulling up the highlights and whites. Then pull down the shadows and blacks to darken the sky and surrounding scenery.
I might also pull the highlights down. This minimises the smoke created by the fireworks.
If the shot still needs a boost, use the contrast adjustment. It’s best to create contrast by adjusting highlights, whites, shadows and blacks first.
Bring out the colours by tweaking the saturation and vibrance. Watch any surrounding landscape for odd hues—saturation is very easy to overdo.
Finally, make sure to sharpen the image before finishing up. A RAW file doesn’t get the same sharpening treatment that a JPEG automatically receives.
Fireworks photos: multiple large bursts over Budapest parliament building

Conclusion

Photographing fireworks is either a difficult disappointment, or a fun challenge.
With this guide, you’ll be able to capture fireworks photos that are as dazzling as the actual show.
Before you go, check this great video on how to photograph fireworks!

We have a great article on how to photograph fire to check out next!

Save this article to your Pinterest profile to access it later!
1 comment
  1. Overall good info, however she contradicts herself when discussing aperture and over/ under exposure. And what is meant by smaller F-number vs lower F-number?
    Section 6. “Start with an aperture of f/11. As you shoot, check your exposure and adjust as needed. Choose a larger f-number (a smaller opening) if the shots are too light”.
    Section 3. Check the exposure and adjust the aperture as needed. Smaller f-numbers if it’s too bright, lower f-numbers if it’s too dark.

Leave a Reply

Your email address will not be published. Required fields are marked *

[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]