Image guidesPractical guides

Why a converted GIF stops moving: check frames, static exports and the original

A GIF moves in the preview but the downloaded PNG stays still. That can be an expected consequence of a static export. The file container, preview playback and export pipeline are different objects. Decide whether the deliverable needs one illustration or a complete change over time before choosing the route.

Film running through a vintage teal projector, illustrating animation frames and static exports
Illustrative photo: Alexandr Popadin · Unsplash License

The practical answer

KitNelo’s image conversion route exports a static canvas image and does not preserve the source GIF’s frame timing and loop. Canvas uses an animated image’s default image, or its first frame when no default exists. This entry is not an arbitrary-time frame selector or an animation transcoder. Keep the original and reopen the actual download.

Choose between a state and a sequence

A still illustration can explain one state, such as a button before an action. A demonstration may need a beginning, change and result. Replacing the sequence with one image loses time information even when dimensions and file size are correct. Write down what the recipient must see first.

A suffix alone does not settle the question. Static PNG and APNG are different deliverable promises, and WebP can hold different forms of content. This article concerns KitNelo’s current image conversion route, rather than every application supporting those containers.

Select a route by purpose

One explanatory state

Use a static export and check that the retained image actually shows the state you need.

Action and timing must survive

Keep the original animation and use a route explicitly supporting frames, timing and loops.

A particular intermediate moment

Use a time-selectable frame extractor; this entry has no timeline selection.

A moving input does not make the export a frame encoder

A browser playing the source GIF does not mean the converter reads and re-encodes every frame. The current route draws an image onto a canvas and exports that canvas. One export does not automatically carry the source’s frame list, individual durations or loop setting.

The HTML Canvas specification defines the default-image or first-frame source for this drawing operation. The toBlob documentation describes creating an image Blob from a canvas. These establish the static route; they do not establish animation encoding in this tool.

Accept three separate objects
ObjectWhat it establishesWhat it does not establish
Source previewThe browser displays or plays the inputThe output preserves animation
Export settingA chosen target such as PNG, JPG or WebPThe suffix guarantees frames and looping
Downloaded resultActual dimensions, frames and visible contentA download notice proves the complete sequence survived

Use two marked frames to isolate the failure

This is original, non-private editorial test material, not a business screenshot: prepare a looping 160×100 GIF with a red R state followed by a blue B state, each lasting 500 milliseconds. First verify that a capable viewer alternates R and B, with those two states in a loop.

Keep the original, open the converter and select PNG. Leave crop, dimensions, filters and watermarks unchanged to isolate the export. Reopen the downloaded file from its actual location and inspect its 160×100 dimensions and marker. A still result must not be described as preserving the two-frame demonstration.

Export a separate WebP from the same original and use a viewer or file inspector capable of identifying animation frames. Do not inspect only its suffix. The current static-canvas route does not retain the two 500-millisecond stages. Whether R, or the format’s default image, serves your illustration is a separate task decision.

  1. Preserve the original and verify its two distinguishable alternating states.
  2. Upload the specimen to image conversion, choose PNG and retain the source dimensions.
  3. Reopen the download independently and inspect dimensions, marker and the presence or absence of a time sequence.
  4. If needed, export WebP separately, inspect it and name every derivative distinctly from the original.
Original specimen handoff record
MaterialResult to inspectBoundary of the conclusion
Original GIF160×100; alternating R and B; 500 ms per frameAnimation reference; preserve the only original
PNG derivativeA static image and 160×100 dimensionsA possible illustration, not the complete demonstration
WebP from this entryIndependently inspect frames and timingA container name cannot replace animation acceptance

If the important information is in B, change the operation

If B contains the final result, the first image cannot substitute for it. Use time-selectable frame extraction. Increasing image quality, renaming the file or turning the still PNG back into a GIF cannot recover frames that have already been discarded.

To create a new loop from a photograph, read the photo-to-GIF crop and frame checks. That creates a new animation rather than recovering the old motion. See PNG, JPG and WebP use cases for the separate format decision.

The file opens, but the handoff is wrong

Insufficient handoff

Deliver an R-only still labeled complete converted demonstration.

Executable correction

Label it a static reference; if the task needs the R-to-B change, retain the original and choose a complete-animation route.

Task states and timing require their own evidence beyond file readability.

Retain evidence for the actual deliverable

Record pixel dimensions separately from frames and timing. A still also needs inspection of text, edges, transparency or its background. An export success label does not establish compatibility with every publishing platform, whose limits may concern size, ratio, format or animation playback.

Processing is local to the browser. Large files, excessive pixels or decoding support can prevent completion. This specimen is not a compatibility test of every GIF, APNG, WebP or browser version. Preserve unsupported originals and exact errors, then isolate the problem with a smaller specimen.

Acceptance conditions for this task

  • Original and derivative are retained separately.
  • The requirement states still image or complete sequence.
  • The actual download has been reopened and checked for dimensions and markers.
  • Animation retention is claimed only with frame and timing evidence.
  • Untested platforms, browsers and exceptional files remain unresolved.

Common questions

Will renaming the static PNG to .gif restore the motion?

No. A new suffix does not reconstruct frames and timing. Creating a new GIF from the still cannot recover the source motion either; return to the preserved original.

Can batch-uploading the GIF extract every frame?

Batch static conversion is not frame extraction. Use an explicit frame-list workflow, then inspect file order and frame timing separately.

Does playing only once mean the file is damaged?

Not necessarily. Loop settings are distinct from frame content, and viewers can limit playback. Inspect the original in a capable viewer before diagnosing damage.

Further reading & sources

Put the guide into practice

Open the relevant tool, preview the result and check your exported file.

Related articles