Cross-origin videos can't be read in-browser. Download the clip first, then drop it in.
Drag the purple handles to set in/out points. Click anywhere on the timeline to jump.
The box shows the output crop region. Drag its corners to zoom in (aspect-locked) and drag inside to pan. Add keyframes on different frames to animate the crop.
These settings apply to all frames when exporting.
Dithering simulates extra colours by mixing adjacent pixels. Floyd-Steinberg spreads quantisation error to neighbours, giving smoother gradients at the cost of a slightly larger file. Use None for flat/pixel-art content to get crisper edges and smaller files.
Use the preview canvas to drag and zoom. Each frame can have its own keyframe — values between keyframes are interpolated automatically.
Click an effect to preview it on the current frame. Hit Apply to bake it into the selected frames, or Cancel to drop the preview.
Flip and 90deg rotate apply immediately. Free rotate is non-destructive until applied.
Add text, images or GIFs on top of your output. Configure and position in the staging area below, then commit. Each layer stays non-destructive and can be repositioned with the canvas gizmo at any time.
Expand a layer to edit its values. Drag the gizmo in the canvas to reposition. Tap ◇ or use + KF if you want values to change across frames.
Expand a layer to edit. Drag the gizmo in the canvas to reposition.
Export individual frames as PNG or JPG. One frame downloads directly. Multiple frames come as a .zip with sequential names.
Encode frames to video using the browser. Applies crop, zoom, and animation keyframes. WebM is best supported; MP4 requires Chrome.
Select a format above.
Save your current settings to a .ggiff file. Load it later to reapply the same crop, animation, and export settings to a different GIF.