Media editor

Trim video and extract frames, GIFs or audio in your browser. Preview a selected range and choose export settings; available formats depend on device codecs.

The media page opens one video or audio file and runs one of five jobs on it: a GIF, audio as MP3 or WAV, a smaller video, a trimmed clip or a still frame. The file is read in pieces inside your browser; Mediabunny 1.58.1 splits the container (MP4, MOV, WebM, MKV, MP3, WAV, Ogg and others) into tracks, and the browser's WebCodecs decoders and encoders do the rest. Whether a file works therefore depends on the codec inside it and on your browser, not on its extension.

Drop video files hereProcess many files at once
No upload · processed on this device

Container, codec, and which job needs which decoder

A video file is a container (MP4, MOV, WebM, MKV) that holds separately compressed tracks: usually one video track (H.264, HEVC, VP9, AV1…) and one audio track (AAC, Opus, MP3, PCM…). Opening a file only reads the container. Decoding needs a decoder for each codec, which the browser provides through WebCodecs, and MDN notes that a browser or device may support only part of the codecs WebCodecs defines.

The five jobs need different things. A GIF and a still frame decode the video track. Audio export decodes only the audio track and discards the picture, so it works even when the video codec is not supported. A precise trim and compression decode and re-encode both tracks. A fast trim copies the compressed packets without decoding anything, so it only needs a container that accepts those codecs.

Results are written to a temporary file in the browser's private storage (OPFS) when it is available instead of piling up in memory; the file is removed when you clear the result and swept after seven days. Without WebCodecs the page falls back to a compatibility mode that records in real time with hard caps: 10 minutes of video, sources up to 20 minutes for audio, and 20 s, 8 fps and 480 px for GIFs.

Container
The file format that holds the tracks and their timing: MP4, MOV, WebM, MKV, WAV.
Codec
How one track is compressed: H.264, HEVC, VP9, AV1 for video; AAC, Opus, MP3, PCM for audio.
Demux / mux
Splitting a container into its tracks, and writing tracks into a new container.
WebCodecs
The browser API that gives a web page the device's audio and video decoders and encoders.

Example: one iPhone clip, five jobs

A 1920 × 1080 MOV recorded with the High Efficiency camera setting (HEVC video, AAC audio), opened in a browser without an HEVC decoder:

Open         container QuickTime, video hevc 1920 × 1080, audio aac  → opens
Audio        video track discarded, AAC decoded          → MP3 works
Trim · Fast  packets copied into MP4, nothing decoded    → copy path, no HEVC decoder needed
GIF, Frame   need decoded HEVC frames                    → stop with a decoder error
Compress     needs decoded HEVC frames                   → stops with a decoder error
Same file in a browser that decodes HEVC                 → all five jobs run

That is why "not supported" usually means "this codec is not supported here". The MOV to GIF guide shows how to read the codec of a file and how to record in H.264 instead.

What each job reads and writes

JobReadsNeeds a decoder forWrites
GIFVideo track onlyThe video codecGIF, up to 256 colours per frame
AudioAudio track onlyThe audio codecMP3 (128–320 kbit/s) or 16-bit WAV
CompressVideo and audioBoth codecsMP4 with H.264, or WebM with VP9, VP8 or AV1
Trim · PreciseVideo and audioBoth codecsMP4 or WebM, re-encoded
Trim · FastCompressed packetsNothing (copy)MP4 or WebM with the source codecs
FrameOne video frameThe video codecPNG, JPG or WebP at source resolution

Check the result

  • After opening, the file line shows dimensions, duration and size; "audio only" means there is no video track to work on.
  • After a run, the result box shows the size before and after and, for video, the output dimensions. Play it in the Result tab before downloading.
  • Switch between the Result and Source tabs to compare the two at the same moment.

Troubleshooting

SymptomLikely causeHow to checkFix
The file does not open at allThe container is not one the reader knows, or the file is damagedPlay it in another player; read its format with ffprobeExport it again as MP4 (H.264 and AAC) from the app that made it
It opens, but GIF, frame or compress stops with a decoder errorThe browser has no decoder for this video codec, often HEVC or ProResffprobe shows the codec; try the same file in another browserUse a browser that decodes it, record in H.264, or use audio export or fast trim, which do not decode the picture
A note says compatibility modeThis browser has no WebCodecs, so the older real-time path is usedThe note under the optionsUse a current Chrome, Edge or Firefox; in compatibility mode keep the tab visible
Only the audio job can runThe file has no video trackThe file line says audio onlyExpected: convert the audio, or open the video file instead
The result is bigger than the sourceA well-compressed source was re-encoded at a higher qualityThe result box shows the increase in percentUse Small quality, a resolution cap or a target size; for pure cutting use Fast trim

Other ways to do it

OptionWhen it is the better choice
FFmpeg on your computerBatch jobs, scripted pipelines and codecs a browser does not decode (ProRes, most surround formats); no preview, command line only.
The single-job pages: video to GIF, video to MP3, trim, compress, frameSame engine with the settings of one job already chosen.

What this page does not cover

  • Codec support comes from your browser; nothing here adds decoders for HEVC, ProRes or surround audio codecs.
  • One file at a time, and only the primary video and audio track: extra audio tracks and subtitles are dropped.

Versions and sources

Checked in tests/media-browser.mjs in Chromium 153 and Firefox 155 with a 6-second 1920 × 1080 MP4 test signal with audio: fast and precise cuts keep their length and audio, MP3, WAV, GIF and frame jobs produce what was asked, and outputs were decoded again independently with FFprobe and Pillow. An optional run cuts the last minute of a 500 MB+ one-hour file. Codec availability depends on the browser and the device.

Official documentation used

Media editor

Trim video and extract frames, GIFs or audio in your browser. Preview a selected range and choose export settings; available formats depend on device codecs.

How it works

  1. Open the source file
  2. Choose the processing mode and settings
  3. Run, inspect the result and download

Supported formats

MP4 / WebM / MOV / MP3 / WAV / OGG / M4A → MP4 / WebM / GIF / PNG / WAV / MP3 — Input decoding and output encoding depend on browser support.

What this tool does

Ranged file reads, keyframe Fast cut or WebCodecs Precise mode, detected MP4/WebM encoding, configurable audio and sequential GIF frames. Frame export retains source resolution when decoding permits.

Implementation and verified quality

advanced · Mediabunny / WebCodecs / OPFS. 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.