Compress video locally
Your file stays on this device. No upload and no third-party request.
Temporary output uses private device storage when available (up to 2 GiB, subject to the estimated quota). Memory is the last fallback: 64 MiB. Input: 200 MiB, 5 min, up to 3840 × 2160 or portrait. Operation: 20 min max. GIF excerpt: 15 s max. Requires WebCodecs and workers. Availability depends on the browser and codec. With Safari, audio conversion requires version 26+; codecs still depend on the browser. Direct AAC copying can work without an audio encoder.
Make a smaller sharing copy of your own recording. This compressor runs on your device and shows an estimate before processing; compare the finished copy with the original before keeping it.
Convert a file in three steps
- Choose a video saved on your device. Check its size and duration before proceeding.
- Choose a compression preset and, if useful, a maximum height. Check the estimate.
- Start the local conversion and keep this tab open. Check the result, then use its download link.
Set a realistic compression target
Light, balanced and strong target video bitrates of 2,000,000, 1,000,000 and 500,000 bits per second respectively. Audio, when present, is reencoded at 128 kbps. The displayed size estimate multiplies these targets by duration; container overhead and encoder behavior mean the actual size can differ, and may even exceed the source.
Choose an optional maximum height of 360, 480, 720 or 1080 pixels. Automatic sizing never enlarges the source and limits the video output to 1920 pixels on the longer side and 1080 on the shorter side, so 4K input is reduced. MP4 with H.264 and AAC is preferred when both required encoders are available. WebM with VP8 and Opus is the fallback, and may not open in Photos or other iPhone apps. Check playback before sharing.
Files, privacy and device limits
Choose an MP4, MOV or WebM file already saved on your device. These extensions describe containers, not the codecs inside them. H.264 video with AAC audio and WebM with VP8 and Opus are useful test cases. A MOV recording may use a different codec, including HEVC, so its extension alone does not establish compatibility. The browser checks the actual tracks before starting.
Input is limited to 200 MiB and 5 minutes on touch or low-memory devices, and 500 MiB and 10 minutes on other desktops. One MiB is 1,048,576 bytes. Up to 3840 × 2160 pixels is accepted, including portrait 2160 × 3840, when the browser can decode the codec. Input size and output memory are different limits: a large file is read progressively rather than copied into one input buffer.
Outputs can use private device storage (OPFS), written in a worker, up to 2 GiB when the estimated quota allows. We reserve 16 MiB and a 25% margin. The quota is checked before conversion and again at startup; it is an estimate, not a guarantee of physical free space. If it is insufficient, use the proposed stronger preset or shorter excerpt. The browser streams the completed file to its download manager without assembling it in a JavaScript buffer. The temporary is deleted when that stream finishes or is cancelled, or when you discard the result. A later visit cleans files left by a crash. Only if file storage is unavailable does memory fall back to 64 MiB on mobile or 256 MiB on desktop. Operation limits are 20 and 60 minutes respectively.
The file never leaves your device. No media upload, account or third party request is used on these tool pages. The site serves its own worker and codec files after you select an accepted file. The result is saved locally, through a download link or directly into the file you choose. It is not a public hosting address. Resetting or leaving releases temporary browser URLs; a file already saved remains where you saved it.
Use material you created or have permission to edit. Local processing does not transfer copyright or remove anyone's rights. Keep your source separately: the downloaded result is a new file, and compression or reencoding can lose detail. Test playback, duration and sound in the app where you intend to use the copy before deleting anything.
Current desktop browsers, Android Chrome and iOS Safari differ in their WebCodecs support. A native video preview may fail even when a track can be copied. If the tool reports an unsupported format or codec, try a supported recording or a desktop editor. It does not install codecs, send the file to a fallback server or retry against another service.
Media choices explained
To make a video smaller, reduce the amount of data it carries. Shortening a clip, choosing a lower bitrate or reducing resolution can help, but each choice serves a different purpose. Work on a copy and check a representative scene before converting a whole collection. There is no setting that guarantees the same quality at a much smaller size for every source.
A clip for a messaging conversation does not need the same delivery settings as footage you plan to edit. Decide where the copy will be watched, how long it must be, and whether it must meet a file-size limit. Preserve the original for editing or backup.
A few useful answers
Does the file get uploaded?
No. The selected video is read and processed locally. The tool downloads its engine from VidFetch, then offers a local output file; it does not upload the recording.
Why is a small file refused?
Size is only one check. Duration, pixel count and the codecs available in your browser also matter. A recording can fit the size cap and still need an unsupported decoder or encoder.
Where is the finished file?
Use the download link when processing finishes. Your browser chooses the download location. On a phone, check Files or Downloads before trying to import a compatible video into Photos or the gallery.