Video · 59 tools · nothing uploads

MOV to GIF

Turn a QuickTime MOV screen recording or clip into an animated GIF. WebCodecs decodes the frames and this tool builds the GIF89a bytes itself, one shared palette across every sampled frame. Browser only.

Input

Options

MOV to GIF samples a QuickTime clip or screen recording at 10 frames per second by default, scaling to 480 pixels wide and stopping at 150 frames. Every sampled frame gets mapped onto one shared 256-colour GIF89a palette with no dithering step applied. Because decoding needs a browser tab, the CLI turns this page away.

Questions

Does this repackage the MOV first?

No, this goes straight to a real transcode. Unlike the packet copy that mov-to-mp4 uses, turning a MOV into a GIF needs the frames decoded, since GIF is not a video container the codecs already inside the MOV can be dropped into.

What is lost?

Color depth, quantized to a shared 256-color palette across every sampled frame with no dithering, and any frame the fps and maxFrames options do not sample, since a GIF built this way only ever holds the frames it was told to keep.

Which engine handles this, and where can it run?

mediabunny and WebCodecs decode the frames and a GIF89a encoder built into this tool writes them out, so this is browser only. The command line and MCP refuse it and point to the web page.

What size should I expect?

Similar to the output mp4-to-gif produces for an equivalent clip, since the same encoder and default options, five frames per second, 160 pixels wide, apply regardless of whether the source was MOV or MP4.

What is the reverse page?

There is no dedicated gif-to-mov page, since nothing on this site writes MOV. GIF to MP4 is the nearest reverse, producing an MP4 rather than a MOV.

Related Video tools

n→nMOV to MP4Repackage a QuickTime MOV into MP4. Both are the same ISOBMFF box family carrying the same H.264/H.265 and AAC, so every packet is copied across with no decode and no re-encode.Runs on each file you dropn→nMKV to MP4Repackage a Matroska MKV into MP4 with no decode and no re-encode. A subtitle or attachment track MP4 has no room for is dropped and named, the video and audio packets are copied across untouched.Runs on each file you dropn→nTS to MP4Repackage an MPEG transport stream (.ts) into MP4. TS repeats its stream tables throughout the file for channel-hopping and has no seek index; MP4 gets one, so the same packets seek instantly once copied across.Runs on each file you dropn→n3GP to MP4Repackage an old 3GP mobile video into MP4. 3GP is already an ISOBMFF variant carrying H.264/AAC or the older H.263/AMR, so a modern player that refuses the 3GP extension plays the identical packets once they sit in an MP4 box.Runs on each file you dropn→nMP4 to WebMTranscode an MP4 to WebM. H.264/AAC and VP8-VP9/Opus are unrelated codec families, so every frame is decoded and re-encoded rather than copied, in the browser only, through WebCodecs.Runs on each file you dropn→nWebM to MP4Transcode a WebM to MP4. VP8/VP9/AV1 and Opus/Vorbis are not MP4-native codecs, so this decodes and re-encodes every frame through WebCodecs, in the browser only, rather than repackaging the bytes.Runs on each file you dropn→nMP4 to GIFTurn an MP4 clip into an animated GIF. WebCodecs decodes the frames and this tool builds the GIF89a bytes itself: one shared 256-colour palette across every sampled frame, no dithering. Browser only.Runs on each file you dropn→nGIF to MP4Turn an animated GIF into an MP4. This parses the GIF89a bytes itself, including disposal method and transparency compositing, then encodes the composited frames through WebCodecs. Browser only; transparent pixels become opaque black, MP4 has no alpha channel.Runs on each file you drop