Make GIF from images

Order still images and set frame delays to create a local GIF with a limited palette and an explicit background.

Up to 8 still PNG/JPEG/WebP images, 5 MiB each and 20 MiB total. Sources: up to 8 million pixels and 8192 per side. Output: up to 512×512 and 2,097,152 summed frame pixels; GIF up to 8 MiB. Operation deadline 15 seconds. These work limits do not guarantee browser memory use.

Images shrink to fit while keeping their aspect ratio, without enlargement or cropping; they are centered with the chosen background at the edges. Scaling uses nearest pixels; dimensions are rounded to integers with a one-pixel minimum. Transparency is flattened and all colors use a fixed 256-color RGB332 palette without dithering; this can also change the chosen background color. Native browser decoding controls source colors and orientation; original color bytes are not preserved.

ASCII digits 0–9 only; no fractions, separators, exponents or newlines. Each frame: 0–10000 ms in steps of 10; one cycle totals at most 80000 ms. Zero is stored but viewers may impose a minimum delay. Positive repeats are additional plays after the first; frame data is not duplicated.

Cancel terminates the worker and prevents late results. Native image decoding cannot be forcibly stopped; the shared slot stays busy until late resources are released. No upload or automatic persistence. Displayed filenames shorten after 120 units when needed; originals stay unchanged.

    How to use

    Select images; a new selection replaces the old one. Review source dimensions, reorder frames with the move buttons or remove a frame. Choose GIF dimensions, background, each delay and repeat mode, then create and download animation.gif. The optional preview is not evidence of a downloaded file.

    Try an example

    A red then blue 2×2 image, with 4×4 output and a white background: each stays 2×2 in the center without enlargement, with a white border. Delays of 100 and 200 ms give a 300 ms data cycle; play-once omits the loop extension.

    Support & limits

    Images shrink with nearest-neighbor scaling when needed, without cropping or enlargement; dimensions are rounded to integers with a one-pixel minimum. Transparency is flattened onto the chosen background, then all colors use a fixed 256-color RGB332 palette without dithering; background colors and smooth detail can change. Photographic colors and metadata are not preserved. Initial colors and orientation depend on native decoding; mismatching dimensions are rejected. Viewers may impose a minimum delay, especially for zero. Positive repeats mean extra plays after the first, up to 65535; infinite looping does not duplicate frame data.

    Common questions

    Are my originals unchanged, and does cancel stop native decoding immediately?

    Originals are unchanged; the engine neither uploads nor automatically persists them. Output is a new copy with color and transparency loss under the displayed policy. Cancel terminates the GIF worker and blocks late results, but native decoding can continue until its resource is returned; the slot stays owned until it is closed. Clear images to discard the selection; long names may be shortened in the list without changing files.

    Related tools