Skip to content

GIF to PNG converter

GIF → PNG turned our two-frame test animation into a single 209 byte PNG containing only the red first frame.

  • Converted with Image engine · nothing stored
  • Free: 5 conversions a day · 5 MB each
  • Higher limits →

From real runs

What you get — and what changes

  • First frame Kept

    The red first frame from the test GIF appeared in the PNG output with the same 64×48 dimensions.

  • Later frames Lost

    The green second frame and its timing were absent because the reader seeked to frame zero before writing PNG.

  • Palette Changed

    The output opened as a 4-bit palette PNG, which is compact but no longer a GIF animation container.

  • Timing Lost

    Frame duration and loop information have no role in the single still PNG returned by this conversion.

  • File size Changed

    The simple two-frame 542 byte GIF became a 209 byte PNG after discarding animation frames.

  • Metadata Lost

    The PNG output did not expose GIF duration, loop, or comment-style metadata keys.

Sample conversions

Two-frame label animation

Input
A 64×48 GIF with a red frame labeled ONE, a green frame labeled TWO, and frame durations of 120 and 180 ms.
Output
A 209 byte PNG showing the red first frame only. It opened as a single-frame palette image.

Reaction GIF thumbnail

Input
A short animated GIF where the first frame is a neutral pose and later frames contain the expression.
Output
A still PNG of the neutral starting pose. Choosing a different representative frame would require animation tooling first.

A real GIF → PNG run

We converted our GIF sample (16 KB) with Image engine on 2026-10-20. It took 74 ms and produced a 8 KB PNG file, 50% smaller than the input. The engine raised 1 warning, listed below.

Input · sample.gif · 16 KB

1200 × 800 px, GIF87a

Width
1,200
Height
800
Encoding
GIF87a

Output · sample.png · 8 KB

1200 × 800 px, 8-bit, colour type 3

Width
1,200
Height
800
Encoding
8-bit, colour type 3
  • Image metadata stripped from output.

Is your file a scan?

If a GIF is a screen recording of text, this conversion captures only the first visible frame. Extract the right frame and then use OCR if the text matters.

Options and when to change them

width
Resize the still frame when the PNG thumbnail must fit a known pixel width.
height
Set with width for a fixed thumbnail canvas; leave unset to keep the GIF frame ratio.
fit
Use cover for cropped thumbnails and contain when every edge of the first frame must remain visible.

Do it yourself

ImageMagick 7

bash
magick 'in.gif[0]' out.png

The [0] selector is important if you want the same first-frame behavior instead of many PNG files.

GIF to PNG by API or MCP

The HTTP API and the MCP server run the exact engine this page uses (Image engine); the response carries the same warnings the web converter shows. Check support first with GET /api/v1/pairs?from=gif&to=png.

curl
curl -X POST https://filetypeconverters.com/api/v1/convert \
  -H "Authorization: Bearer $FTC_API_KEY" \
  -F "file=@input.gif" -F "from=gif" -F "to=png" \
  -F 'options={"dpi":96}' \
  --output output.png

Options this engine accepts for GIF → PNG

KeyApplies toTypeDefault
dpiReading GIFnumber96
widthWriting PNGnumber0
heightWriting PNGnumber0
fitWriting PNGcontain · cover · fillcontain
qualityWriting PNGnumber90
backgroundWriting PNGstring#ffffff
stripMetadataWriting PNGbooleantrue
API reference

When this is the wrong conversion

  • Use GIF → WebP or video conversion when motion must be preserved.
  • Extract a specific frame manually if the first frame is blank, faded in, or not representative.
  • Use PNG → PDF only after selecting the still frame you actually want in a document.

GIF to PNG questions

Does GIF → PNG keep animation?

No. The tested route wrote one still PNG from the first frame and discarded later frames.

Why is the PNG smaller than my GIF?

In our sample, the output was smaller because only one of two frames survived. More complex still frames may not shrink the same way.

Can I choose a later GIF frame?

Not through this pair's tested API call. Use a frame extraction tool first, then convert that still image if needed.