Blog

Frame timing pitfalls when converting GIF to APNG

February 18, 20256 min read
GIFAPNGConversion

GIF stores frame delays in hundredths of a second. APNG uses numerator/denominator in fcTL. Mismatched conversion causes visible jitter or speed changes.

The jitter problem

Many GIFs use a single delay (e.g. 10 cs = 100 ms) for every frame. If you round each frame independently to the nearest APNG tick, rounding errors accumulate and the loop drifts. One frame at 99 ms and the next at 101 ms can feel stuttery even though the average is correct.

  • Normalize to a common denominator (e.g. 100 ms) and use one fcTL delay for all identical logical frames.
  • Prefer frame duplication over sub-centisecond delays; APNG decoders may not honor very small numerators.
  • After conversion, run the APNG in a player and compare loop timing to the original GIF.

Our GIF → APNG tool normalizes delays to whole milliseconds and reuses the same delay value when consecutive frames share the same duration, which keeps loops smooth.

Convert GIF to APNG

Upload a GIF and get a timing-normalized APNG.

Use our free tools to convert or compress APNG.