Convert WebM video to GIF for free — pick the range and create it in your browser, no upload.
A WebM holds VP8, VP9 or AV1 video with Opus or Vorbis audio. Nerulio decodes the video with your browser's WebCodecs decoder and writes a GIF from the section you choose. VP8 and VP9 are widely decoded in Chrome, Edge and Firefox; AV1 depends more on the browser and device. Nerulio measures the duration from the packets rather than trusting the header, which matters for WebM written by live recorders. A WebM's transparency does not carry over: every GIF frame is opaque.
Drop video files hereProcess many files at onceNo upload · processed on this device
Making a game?
Nerulio is a 2D game asset studio first: draw pixel art, cut sprite sheets into animations, pack texture atlases, check autotile tilesets and export them for Godot, Unity, Phaser and other engines. It runs in your browser; files stay on your device.
WebM is a Matroska-based container restricted to open codecs: VP8, VP9 or AV1 for video and Opus or Vorbis for audio. MDN describes VP9 and VP8 as the two video codecs WebM mandates; AV1 was added later, and its decoding depends more on the browser and device. Nerulio uses the video track only.
Nerulio computes the length from the last packets in the file instead of trusting the header, which matters for WebM written by live recorders such as browser screen capture, where the header value can be missing. The timeline and the default 6-second section then use the real length.
VP8 and VP9 can carry an alpha channel for transparent video. GIF can only mark one palette colour as fully transparent, and Nerulio's GIF writer does not use that, so transparent areas become opaque. For animation with transparency, keep the WebM or export a PNG sequence from the tool that made it.
Matroska
The container WebM is based on; WebM limits it to web codecs.
VP9
An open, royalty-free video codec, one of the two WebM mandates.
Alpha channel
Per-pixel transparency; VP8 and VP9 in WebM can carry it, GIF only on/off transparency.
Example: a 60 fps screen recording in WebM
6 seconds of a 1280 × 720 recording at 640 px and 24 fps:
Source 1280 × 720 VP9, 60 fps, Opus audio, 20 s
Section 8.0 → 14.0 s (6 s)
Frames 6 s × 24 fps = 144 frames at 640 × 360 px (one source frame in 2.5)
Delays 40 or 50 ms: 12 frames = 500 ms, a 24 fps average
Index data 640 × 360 × 144 = 33.2 million bytes before LZW
Flat UI interface colours fit a 256-colour palette; leave dithering off
For screen recordings, a narrower width or 15 fps does more for the size than fewer colours, because flat interface colours already fit the palette.
From the WebM to the GIF
In the WebM
In Nerulio
In the GIF
VP8, VP9 or AV1 video
Decoded with WebCodecs
Palette frames of up to 256 colours
Duration in the header (may be missing)
Measured from the packets
Correct timeline and section
Alpha channel
Not used by the GIF writer
Opaque frames
Opus or Vorbis audio
Not read
No sound
Check the result
After opening, check that the length on the timeline matches the recording.
Check the frame count and the size estimate before running.
For a transparent WebM, view the GIF on a light and a dark background: it will be opaque.
Troubleshooting
Symptom
Likely cause
How to check
Fix
Decoder error on an AV1 WebM
This browser or device has no AV1 decoder
ffprobe shows codec_name=av1
Use a browser that decodes AV1, or record in VP9
A transparent background came out solid
The GIF writer here uses no transparent colour
—
Keep the WebM, or export a PNG sequence from the original tool
Small text in a screen recording is fuzzy
Scaling 1280 px down to 480 px blurs small text
Compare at 100 %
Choose the original width, or crop to the part that matters and lower the fps instead
The GIF is much bigger than the WebM
VP9 compresses the changes between frames; GIF stores every frame whole
Compare the two sizes
Keep the WebM where it plays; for the GIF, shorten the section or lower the fps
Other ways to do it
Option
When it is the better choice
Keep the WebM
Browsers play WebM directly; it is smaller and keeps transparency and sound.
FFmpeg with palettegen and paletteuse
Scripts, batches, and one palette for the whole clip.
What this page does not cover
No transparent GIF output.
An AV1 WebM needs a browser with an AV1 decoder.
Versions and sources
Checked in tests/media-browser.mjs in Chromium 153 and Firefox 155: a 60 fps VP9 WebM without audio was decoded and re-encoded at 60 fps without an invented audio track. GIF encoding is gifenc 1.0.3. WebM codec facts follow MDN; AV1 browser support is from caniuse.
WebM is an open web video format that plays well in Chrome and Firefox.
GIF size depends heavily on width, frame rate and colours; short clips at a modest width share best.
Your file is never uploaded — it is processed inside this browser.
Video to GIF
Set width, frame rate and palette size; frames are processed sequentially.
How it works
Open a video and select a short range
Set width, frame rate and palette size
Export a GIF and check motion, colors and file size
Supported formats
MP4 / WebM / MOV → GIF — Input decoding and output encoding depend on browser support.
What this tool does
Decode one frame at a time; choose GIF width, FPS, palette size and dithering.
Implementation and verified quality
advanced · WebCodecs sequential frames / gifenc adaptive palettes / measured size targets. Quality qualification is in progress. Pro/Flagship quality has not been established.
Before you export
Fast cut shrinks to inner keyframes. Precise mode re-encodes; codec availability varies. Temporary outputs use local browser storage when available. Compatibility recording retains its short-clip limits.
Frequently asked questions
What determines the supported size?
Actual device memory, storage and codec support. Tested examples are evidence, not a guarantee for every file.
Are my files uploaded?
This tool processes the files you open on your device without uploading them. Images you explicitly attach to community posts are uploaded separately. Optional engines and models are downloaded from third parties; those requests expose connection information such as your IP address.
Will my work be saved automatically?
No. Images and editing state stay in this tab; media output can use local temporary storage. Changing language preserves your work; reloading, closing the tab, or following a link to another page can clear it.