When I first started making animated GIFs from wedding burst sequences, I picked 10 frames per second because it felt like a reasonable middle ground between “too slow” and “too fast.” Nobody told me there was a better approach. I just guessed, exported, looked at the result, and moved on.
A few hundred GIFs later, I’ve stopped guessing. Frame rate is the single biggest lever you have over how an animated photo feels — and it directly determines file size in a way that matters when you’re exporting 15 animations per wedding. Here’s what I’ve learned.
What frame rate actually controls
Frame rate — measured in frames per second (FPS) — tells the viewer how many still images play per second. At 6fps, each frame shows for about 167 milliseconds. At 12fps, 83ms. At 24fps, you’re getting close to the perception of smooth video.
The perceptual gap between 6fps and 10fps is enormous. The gap between 10fps and 15fps is smaller. The gap between 15fps and 24fps is smaller still, and for most burst photography — where you’re animating a moment, not recreating cinema — the difference is nearly invisible to clients.
For photographers working with burst sequences, the relevant range is roughly 4fps to 15fps. Below 4fps looks like a slideshow. Above 15fps you’re either burning file size with no visible benefit or you need a genuinely high-cadence shooting setup (most cameras max out at 10–12 shots per second in burst mode anyway).
The EXIF timing method: let the camera decide
Here’s the thing almost nobody does: your camera already recorded the correct frame rate. Every burst image has timing data embedded in the EXIF — specifically the SubSecTime field, which records the fractional second of capture. If you shot at 8 frames per second, the interval between consecutive SubSecTime values is 0.125 seconds. Convert that to FPS: 1 ÷ 0.125 = 8fps.
When you use that real capture timing as your animation speed, the playback matches how the moment actually unfolded. A first dance spin runs at the speed it happened. A confetti burst looks like confetti. A kiss in the rain moves the way you saw it through the viewfinder.
When you pick an arbitrary frame rate — say 10fps for a sequence shot at 7fps — you either speed up the moment or slow it down. Neither is wrong, exactly. But playing back at the true capture rate is closer to what you’re actually trying to show.
Burst2GIF reads SubSecTime automatically and sets the export frame rate to match — full disclosure, I built it — which is honestly why I care about this at all. Before I built that feature, I was manually estimating frame rates every time. Now it just reads the data. For a practical walkthrough of using that capture timing in your workflow, see the burst photos to GIF guide.
File size vs smoothness: the real tradeoff
More frames per second means more data per second of animation. An animated GIF at 12fps has twice as many frames as one at 6fps for the same clip duration, and file size tracks closely with frame count (not perfectly — GIF compression can share data between similar frames — but roughly).
Here’s what that looks like in practice for a 20-frame burst sequence:
6fps: ~20MB for a 1500px wide GIF, ~3 seconds of playback
10fps: ~28MB for the same size, ~2 seconds of playback
15fps: ~35MB, ~1.3 seconds of playback
The faster you go, the shorter the animation is for the same number of frames, and the more similar the frames look to each other (similar frames compress better, which is why the file size increase isn’t fully linear). But the visual “punch” of the moment shrinks as the clip gets shorter.
This is why the EXIF timing approach matters so much: you’re not arbitrarily choosing speed, you’re choosing to show the moment at the pace it actually happened. If that pace was 8fps, a 20-frame burst is about 2.5 seconds of animation. If you bump it to 12fps because it “looks smoother,” you’ve compressed those 2.5 seconds into 1.7 seconds and the moment feels rushed.
When to override the EXIF timing
There are cases where you’d deliberately deviate from capture timing.
Slow motion effect. If you shot at 10fps and want a dreamy slow-motion feel, export at 5–6fps. The animation takes longer to play through, each moment lingers, and it reads as intentional rather than sluggish. This works especially well for ceremony moments where the emotional weight benefits from breathing room.
Speed normalization. Some cameras write SubSecTime data inconsistently or round to the nearest tenth of a second. You might get 0.1 intervals that should be 0.083 (suggesting 12fps instead of 10fps). In cases like that, manually setting the rate you intended is more accurate than trusting the EXIF.
Looping aesthetics. Very short burst sequences — 6 to 8 frames — loop awkwardly at accurate speed because the loop point is jarring. Slowing those down slightly (reducing FPS by 20–30%) makes the loop softer and less obvious to clients.
Format matters: GIF vs MP4 FPS behavior
One thing that tripped me up early: GIF frame rates aren’t specified in FPS. The GIF format stores timing as centiseconds per frame. 10fps becomes 10cs delay. 6fps becomes 17cs. 15fps becomes 7cs.
The annoying quirk: most GIF renderers (browsers, most gallery software) don’t respect delays shorter than 2cs (50fps) and many have trouble with anything over 50cs (2fps). The practical sweet spot for reliable rendering across platforms is 7cs (about 14fps) to 20cs (5fps). Outside that range, you may get playback that doesn’t match your intended speed.
MP4 doesn’t have this problem. MP4 stores explicit FPS in the container header and modern players respect it. This is one of several reasons I default to MP4 for client gallery delivery and keep GIF for email and web embeds. The full comparison of GIF vs MP4 for photography has more detail on where each format makes sense.
Practical recommendations by use case
For client gallery delivery (Pic-Time, Pixieset, Shootproof): use MP4, match real capture FPS. Galleries handle MP4 well and file sizes are smaller than equivalent GIFs.
For email or web embed GIFs: 8–12fps at 800–1200px wide usually hits the right balance between smooth playback and email-friendly file size. Below 200KB for email is a reasonable target.
For Instagram Reels or social media exports: push toward 15fps for smoother motion — social platforms transcode your video anyway, and the original FPS is lost in that process. The Instagram Reels workflow from burst photos covers this in detail.
For one-off personal use: whatever looks good to you. These guidelines are for volume workflows.
The short answer
Use the real capture FPS from your burst sequence. Most cameras shoot bursts at 8–12fps, which lands in the visually comfortable middle ground automatically. Override it only when you want a deliberate slow-motion or speed effect. Export as MP4 for galleries, GIF for web and email. Stay in the 7cs–20cs delay range for GIF to avoid rendering quirks across platforms.
The longer you try to nail down “the right FPS” as an abstract number, the more time you spend on something your camera already answered. Read the EXIF. Trust the capture timing. Move on to the next gallery.
Ready to Turn Your Burst Photos Into GIFs?
Burst2GIF works directly inside Lightroom Classic. Select your burst photos, click export, and get a smooth GIF or MP4 in seconds.