BasicApps Logo
Image to GIF Converter

Create animated GIF from multiple images with custom frame rate

Ready to upload

CHOOSE FILES

(or drag them here)

Formats:JPGJPEGPNGWEBPBMP

How frame timing and color palettes work in animated GIF

Every animated GIF is a sequence of GIF89a frames stored end to end in one file. Each frame carries its own local color palette of up to 256 entries, a delay value in hundredths of a second, and a disposal method that tells the renderer what to do with the canvas before drawing the next frame. When you upload a series of JPG or PNG images and click Create GIF, this is the internal process:

  1. Load each source image into an RGBA pixel buffer. PNG images are decoded losslessly; JPG images carry existing JPEG artifacts that will appear in the final GIF. For maximum GIF quality, use PNG source images rather than JPG.
  2. Build a 256-color palette per frame using Wu quantization. The algorithm divides the RGB color cube into 256 rectangular cells, each representing one output color. Colors in crowded cube regions get more cells; sparse regions share one entry.
  3. Apply Floyd–Steinberg dithering to the indexed frame. Quantization error from each pixel is distributed to neighboring pixels, which simulates smooth gradients with only 256 colors. Dithering adds a visible grain pattern but prevents harsh color banding on photographs.
  4. Write the Graphic Control Extension block with the frame delay in hundredths of a second. 100ms = 10 fps; 50ms = 20 fps; 33ms ≈ 30 fps.
  5. LZW-compress the indexed pixel data and write the Image Descriptor block. Each frame can include an optional local color table that overrides the global palette for that frame alone.
  6. Append the Netscape 2.0 Application Extension to set loop count. Value 0 = infinite loop; values 1–65,535 set an exact play count.

Frame delay reference by use case

33ms (30 fps)
Smooth motion; largest file size. Use for product demos and UI walkthroughs where fluid animation matters more than download time.
100ms (10 fps)
Readable motion for simple animations. Standard rate for reaction GIFs and meme content.
200ms (5 fps)
Slide-show pace. Works for photo carousels and step-by-step illustrated instructions where each frame needs reading time.
1000ms (1 fps)
One second per frame. Suited for time-lapse sequences where each image represents minutes or hours of real elapsed time.