LOCAL FILE WORKSPACE

Images to GIF

On your device
01 / SOURCESTATIC IMAGES

Drop static images here or paste an image. New images append to the list.

All file processing stays in your browser. Your file is not uploaded.

No files selected.

    Checking browser support…

    Make a GIF from images or photos

    Add static PNG, JPEG or WebP images. Arrange their order with the Up and Down buttons, set a canvas and time per image, then create an animation. Every image becomes one full-canvas GIF frame. Files remain in your browser; no login, watermark or saved history.

    Different image sizes, one canvas

    Images fit proportionally inside a shared canvas, with white margins

    Each image is proportionally scaled to fit inside your chosen canvas and centered. Empty space is white. This uses contain fitting: no cropping and no stretching. Upscaling can blur detail. EXIF orientation is handled by the browser decoder; metadata and color profiles are not copied.

    Timing, colors and transparency

    Each selected image becomes a frame in the chosen order

    The selected delay belongs to every frame, including the last one. Total stored duration is image count multiplied by delay. The animation plan calculates the start time and end time of each image before encoding. These are stored timings, not a guarantee that every viewer plays at that speed. GIF delay is stored in 10 ms units; other values are rejected.

    This uses the same local GIF writer as our other converters: a fixed 216-color RGB palette, without dithering. Photos can visibly change color. All transparency is flattened onto the white canvas on this page, including fully transparent pixels. A GIF may be larger than the source files combined. It does not add motion between photos or generate intermediate frames.

    Supported files and limits

    Static PNG, JPEG and WebP only. Animated inputs, including APNG and animated WebP, are rejected rather than flattened. No video, GIF input, cloud import or URL import. Up to 200 images, 4,096 pixels per canvas side and 100 million total canvas pixels. Usable file size depends on browser memory; encoding stops after two minutes. ImageDecoder, workers and OffscreenCanvas are required. Unsupported browsers show an error.

    Before download, the generated GIF is parsed and decoded again. Frame count, dimensions, all stored delays and the selected loop instruction must match. This does not mean that source photo colors survive palette quantization.

    Single-run measurement · October 13, 2026

    Inputs: one real product photo supplied by the site operator and fade-rgba-fs8.png publicly uploaded by olt in Pillow issue 1838. Source images and the animation are not published here. The photo is a real-scene sample, not vector art or a built-in tool sample.

    Input bytes combinedGIF bytesCanvasFrames / delayLocal time
    175,42226,034512 × 5122 / 500 ms each0.365 s

    These are readings from one local Chrome run, not averages. The downloaded file was independently parsed with Pillow: two frames, 512 × 512, palette mode P, 500 ms each and infinite loop field 0. Reordering the images and choosing one play produced 26,015 bytes in a separate 0.438 s run; independently decoded frames matched the original run in reversed order, with no loop extension. Results depend on files, settings and device; smaller output and preserved photo colors are not promised.

    Two images held for 500 milliseconds each, totaling 1000 milliseconds
    Calculated from this run's settings: two images × 500 ms = 1,000 ms stored duration.

    Frequently asked questions

    Can I turn photos into a GIF?

    Yes. Choose multiple static photos. Each photo is one frame; the tool does not animate objects inside a photo.

    What if my photos have different aspect ratios?

    They fit proportionally inside one canvas with white margins. No image is cropped or stretched.

    Can I convert one PNG without white margins?

    Use Convert PNG to GIF to keep its original dimensions and fully transparent pixels.

    Can I compress the result?

    Use Reduce GIF size or Resize GIF. Smaller output is not guaranteed.

    Cloudflare Web Analytics measures website use. Source images are not sent to analytics. See our privacy policy.