Media workbench

GIF Maker

Turn an ordered set of JPG and PNG images into a looping GIF with timing and layout controls.

Free, no accountRuns in a private workerUpdated

Loading workbench…

Turn an ordered set of JPG and PNG images into a looping GIF with timing and layout controls. Use GIF Maker without creating an account. The workbench keeps the source and result together so you can check the output before downloading it.

GIF Maker covers building a frame animation from still images, turning sequential screenshots into a short demonstration, and creating a looping product or process preview. Its controls stay on one page, with status and validation messages beside the work area.

The selected images are sent to a private conversion worker, processed in a temporary job directory, and removed after the response is returned. If the input contains sensitive information, follow your organization’s rules for online utilities.

Before using the result, confirm that an ordered set of two to 50 JPG or PNG images up to 100 MB combined is complete and that one separately downloaded animated GIF matches the destination format. Keep the original until you have checked the output in the application or context where it will be used.

The related media tools cover the next common tasks without changing your original input.

  1. 01

    Provide an ordered set of two to 50 JPG or PNG images up to 100 MB combined. The tool checks the input before processing it.

  2. 02

    Adjust the available gif maker settings for the result you need.

  3. 03

    Run GIF Maker. If the input is incomplete, the workbench explains what to correct.

  4. 04

    Check one separately downloaded animated GIF, then copy or download the result. Your original input stays unchanged.

  • building a frame animation from still images
  • turning sequential screenshots into a short demonstration
  • creating a looping product or process preview
Is GIF Maker free to use?

Yes. GIF Maker is available without an account or subscription.

Does GIF Maker upload my input?

GIF Maker sends the selected images to a private worker. The worker uses a temporary job directory and removes it after processing.

Does GIF Maker change the original?

No. GIF Maker leaves the source untouched. Copy or download the generated result as a separate output.

What should I check after using GIF Maker?

Confirm that one separately downloaded animated GIF matches the intended format and context. Keep the original until the result has been verified.

A useful animated GIF starts with an intentional sequence. Gather the still images in the exact order in which they should appear, and remove drafts, duplicate captures, and accidental frames before opening the tool. Sequential filenames such as step-01, step-02, and step-03 make the source set easier to audit, but the displayed order in the workbench is authoritative. The original filename does not control playback after the images have been selected.

Use frames that describe one short action or idea. A product turntable, a simple before-and-after transition, a sequence of interface steps, or a compact process demonstration usually reads more clearly than a long collection of unrelated pictures. GIF has no audio track and offers limited color precision, so it is not a substitute for a narrated video. Keep the source images outside the workflow until the downloaded animation has been reviewed and accepted.

Choose between two and 50 JPG or PNG files. You can select several files at once, drop them onto the workbench, or paste compatible image files from the clipboard. Each image can be no larger than 25 MB, and the complete selection can be no larger than 100 MB. The list shows the detected format and size so a renamed or unexpected file can be spotted before processing. A file whose bytes do not match JPG or PNG is rejected.

Use the up and down controls beside a frame to change its position. Removing a frame closes the gap and leaves the remaining order intact. Review the complete list from top to bottom before creating the GIF, especially when a file picker supplied images in an unexpected sorting order. The first listed image becomes the opening frame. If the animation loops forever, the transition from the final frame back to the first is part of the visible sequence and needs the same attention as every internal transition.

Time per frame is measured in milliseconds and applies uniformly to the selected images. A value of 500 milliseconds displays each frame for half a second. Shorter values create faster motion, while longer values give viewers more time to read text or inspect detail. The accepted range is 100 to 5,000 milliseconds. Start with the meaning of the sequence instead of trying to maximize speed. Instructions, price comparisons, and interface labels usually need more time than a simple geometric motion.

Uniform timing is predictable, but it cannot hold one important frame longer than another. If one step needs extra reading time, duplicate that source frame in the selection and place the copies together. Each copy receives the same duration, effectively extending the pause. Use this deliberately because unnecessary duplicates increase the frame count and can increase the file size. After download, watch the full sequence several times at normal browser speed and confirm that no text disappears before it can be understood.

Every GIF frame must use the same pixel dimensions. Canvas width and height define that shared output area, with defaults of 640 by 480 pixels and limits of 1,920 by 1,080 pixels. Choose dimensions that match the destination rather than the largest source image. A chat message, help article, product card, and presentation slide have different useful display sizes. Exporting more pixels than the destination can show wastes bytes and may slow page loading without adding visible detail.

Mixed source dimensions are normalized onto this canvas. Small sources may need enlargement, which can soften edges and text. Large sources are reduced, which can hide fine details. If exact text readability matters, prepare all source frames at the intended final dimensions in an image editor before creating the animation. Verify the downloaded pixel dimensions with a file inspector. A preview scaled by the browser can look acceptable even when the stored output is too small or unnecessarily large for its destination.

Contain preserves the complete source image. It scales the frame until it fits inside the canvas and fills any remaining bands with the selected background color. This is the safer choice for screenshots, diagrams, logos, documents, and photographs where no edge may be removed. The resulting borders can vary when sources use different aspect ratios, so choose a background that works with the entire sequence and with the page where the GIF will appear.

Cover fills the complete canvas. It scales each source until no empty area remains, then crops overflow from the center. This can produce a more consistent full-bleed animation, but it may remove faces, labels, controls, or other important content near an edge. Center cropping is automatic and does not provide per-frame focal-point controls. Preview source compositions mentally against the target shape, or crop copies manually before upload when each frame needs a different subject position.

The background color appears only where contained images do not fill the output canvas. White is the default because it works with many documents and product images, but it can create bright bands on a dark page. Match the known destination when possible. For a branded card, use an approved solid color and verify the exact hexadecimal value. The color picker changes the fill used by the worker and does not alter source pixels that already occupy the canvas.

PNG sources can contain transparency, while JPG cannot. GIF supports only limited transparency behavior, and this maker normalizes frames against the selected layout rather than promising full alpha preservation. Semi-transparent shadows and smooth edges can change when encoded into the limited GIF palette. If transparency is central to the design, test the output over the actual destination background. Consider an animated WebP or video when the receiving system supports it and smooth alpha or photographic color is more important than GIF compatibility.

Loop forever tells compatible viewers to restart after the final frame. It works for loading indicators, repeating demonstrations, product rotations, and decorative motion that has no single ending. Design the last-to-first transition carefully. A large visual jump can feel like an error even when every individual frame is correct. Sometimes repeating the opening pose at the end creates a smoother return, while in other sequences that duplicate causes an unwanted pause.

Play once omits the repeating loop instruction. This suits a short reveal or a linear set of steps that should stop at the final state. Viewer behavior can still vary, so do not rely on the stopped frame as the only place where essential information appears. Accessibility settings and content platforms may pause, replace, or reprocess animation. The surrounding page should communicate the same essential message without requiring continuous motion or precise playback behavior.

The browser validates basic size, extension, and signature requirements before sending the selected images to the private conversion endpoint. The application validates them again, assigns fixed internal frame names, and packages the ordered bytes without preserving user filenames. The authenticated worker checks the package structure and every image signature, writes the frames into a unique temporary job directory, and calls FFmpeg with a fixed argument array. Form values and filenames are not joined into a shell command.

FFmpeg scales and places each frame on the requested canvas, concatenates the ordered sequence, builds a GIF palette, and writes the selected loop instruction. The temporary job directory is removed after success, rejection, timeout, or cancellation. PWRKIT does not store frame bytes or the generated GIF in its database. The files still travel to a processing service, so follow workplace rules for confidential screenshots, personal photographs, customer data, and unreleased designs.

GIF uses a limited indexed color palette. Photographs, gradients, shadows, and subtle interface colors can show banding or dithering. More pixels, more frames, and rapidly changing full-frame imagery usually produce larger output. This maker does not promise a target byte size because different source sequences compress very differently. Choose the smallest canvas that remains useful, remove unnecessary frames, and keep the sequence short. Those structural decisions often matter more than a minor palette change.

If the first output is too large, shorten the sequence, increase the time per frame only if it lets you remove redundant frames, or reduce the canvas dimensions. Compress GIF can rebuild the result with a lower frame rate, crop, trim, and resizing controls, although another encoding pass can reduce quality. When photographic motion creates an unreasonably large GIF, compare an MP4 or WebM version. Video compression is usually more efficient for complex continuous motion, provided the destination accepts video.

Download the result and open it outside the workbench. Confirm the frame order, canvas dimensions, total duration, loop behavior, background bands, crop boundaries, and color quality. Watch at least three cycles when looping is enabled. Pay special attention to the final-to-first transition and to brief frames that are easy to miss. Compare the output with the ordered source list rather than relying on memory. The source images remain unchanged, and the download is a separate file.

Test the GIF through the actual upload, publishing, email, or presentation path. A destination can reject large dimensions, impose a byte limit, strip animation, create a static thumbnail, or optimize the file again. Check mobile display and reduced-motion behavior when the GIF appears on a web page. Keep the source sequence and selected settings until the destination accepts the result. A valid GIF signature and successful local playback prove file creation, but only the receiving system can prove final compatibility.

If a frame is rejected, confirm that it is a real JPG or PNG and not another format with a renamed extension. Re-export damaged images from a trusted editor. If selection exceeds the combined limit, resize large sources or split the idea into shorter animations. If processing times out, reduce the frame count or canvas dimensions. A worker limit prevents one job from consuming resources indefinitely. Retrying the same oversized or damaged source without changing it is unlikely to help.

If frames look stretched, confirm that contain or cover is selected as intended. If important edges disappear, use contain or prepare a target-shaped crop before upload. If motion is too fast, increase milliseconds per frame. If it is too slow, reduce that value without making text unreadable. If the output looks noisy, simplify photographic sources, reduce dimensions, or choose video. If the sequence is wrong, use the visible order controls and recreate the GIF rather than renaming downloaded files, because playback order is encoded inside the animation.