Compress a video
Re-encode an MP4 at balanced quality (CRF 23), keeping the source resolution.
ffmpeg -i in0.mp4 -c:v libx264 -preset veryfast -pix_fmt yuv420p -movflags +faststart -crf 23 -c:a aac -b:a 128k out.mp4 Convert, compress, trim, and process video & audio locally. Files never leave your device. No signup. The real FFmpeg.
Drop a video or audio file
The tool loads in a moment…
🔒 Nothing is uploaded — processing happens on your device.
Pick a platform and the canvas is sized for you: fit, fill, or blur-fill to match any aspect ratio. Choose one to load it in the tool above.
1080×1920 · 9:16
1080×1920 · 9:16
1080×1920 · 9:16
1080×1350 · 4:5
1080×1080 · 1:1
1920×1080 · 16:9
1280×720 · 16:9
1920×1080 · 16:9
Keeps aspect ratio
848×480 · 480p
Canvas sizes are fixed. Length and file-size limits vary by platform and change often — check the app before posting.
Real FFmpeg compiled to WebAssembly. No servers, no queue.
Files never leave your device. Not even a temporary upload.
No account, no watermarks, no processing minutes to burn.
Browser limits: ~2 GB per file, slower than native FFmpeg. Bigger jobs → Rendi API.
Copy-paste recipes from the
FFmpeg cheatsheet.
Press Run to load one straight into the
terminal — overwrite is always on, so you never need -y.
Re-encode an MP4 at balanced quality (CRF 23), keeping the source resolution.
ffmpeg -i in0.mp4 -c:v libx264 -preset veryfast -pix_fmt yuv420p -movflags +faststart -crf 23 -c:a aac -b:a 128k out.mp4 Pull the soundtrack out to a 192 kbps MP3; -vn drops the picture.
ffmpeg -i in0.mp4 -vn -c:a libmp3lame -b:a 192k out.mp3 Cut 5s–15s instantly with -c copy; seeking before -i snaps to keyframes.
ffmpeg -ss 5 -to 15 -i in0.mp4 -c copy out.mp4 Uses a real generated palette (not the 216-colour web default) — visibly better than naive converters. Defaults to the first 5 seconds.
ffmpeg -ss 0 -to 5 -i in0.mp4 -vf "fps=12,scale=480:-1:flags=lanczos,split[a][b];[a]palettegen=stats_mode=diff[p];[b][p]paletteuse=dither=bayer:bayer_scale=4" -loop 0 out.gif Scale to 720p keeping aspect; scale=-2:720 forces an even width for x264.
ffmpeg -i in0.mp4 -vf scale=-2:720 -c:v libx264 -preset veryfast -pix_fmt yuv420p -movflags +faststart -crf 23 -c:a aac -b:a 128k out.mp4 Strip the sound and copy the video untouched (-an -c:v copy) — instant.
ffmpeg -i in0.mp4 -an -c:v copy out.mp4 setpts=PTS/2 for the video, atempo=2 keeps the audio in sync.
ffmpeg -i in0.mp4 -vf setpts=PTS/2 -c:v libx264 -preset veryfast -pix_fmt yuv420p -movflags +faststart -af atempo=2 -c:a aac -b:a 128k out.mp4 Hard-burn an .srt into the picture. Add the video first and the subtitle file second.
ffmpeg -i in0.mp4 -vf subtitles=in1.srt -c:v libx264 -preset veryfast -pix_fmt yuv420p -movflags +faststart -c:a copy out.mp4 Test in your browser free — run at scale on Rendi's FFmpeg API. n8n, Zapier & Make integrations.
Yes. FFmpeg runs entirely in your browser via WebAssembly. Your files are never uploaded, streamed, or seen by any server — including ours.
Around 2 GB, and it's a browser limit rather than ours. WebAssembly can only address so much memory, so the whole job has to fit in the tab. Lightweight operations that copy streams instead of re-encoding (trimming, remuxing, stripping the audio track) work on files right up near that ceiling, because the file is read in place instead of being copied into memory. Full re-encodes need room for the input, the output, and working memory at once, so their practical ceiling is lower — lower still on phones. For anything bigger, the exact same command runs with no size limit on the Rendi API.
Yes. It's a web page, so it opens in Safari or Chrome on a phone the same way it does on a laptop: nothing to install, and your files still never leave the device. The layout is built for touch, and the Run button stays pinned to the bottom of the screen while you work. What changes on a phone is memory — there's much less of it, so the size limits are halved: the tool stops at files over about 1 GB, and it refuses re-encodes over 500 MB instead of letting the tab crash mid-run. Trimming, remuxing and extracting audio stay cheap, so those are the jobs a phone handles best. For a long video or a heavy encode, send the same command to the Rendi API; that works from a phone just as well.
It's the real FFmpeg, so it reads the vast majority of common video and audio formats. For output it writes MP4 (H.264 and H.265/HEVC), WebM (VP8), animated GIF and WebP, and the common audio formats: MP3, AAC, WAV, FLAC, and OGG (Vorbis). It can also burn subtitle files (SRT/ASS) straight into the video. If your job needs a codec this build doesn't include, the tool tells you which one is missing and, where a supported equivalent exists, points you to it instead of failing silently.
That's a pixel-format mismatch. When a video isn't encoded as yuv420p, some players and browsers can't display it and fall back to green or garbled frames. Every MP4 our tools re-encode already sets -pix_fmt yuv420p, so you won't hit this here — and operations that copy the video stream untouched keep whatever format already played. If you write your own command in the terminal, add -pix_fmt yuv420p and it'll play everywhere.
This tool is built for quick, one-off jobs you run by hand in the browser. To automate the same work (in a script, on a server, or in a pipeline like n8n, Zapier, or Make), run the identical FFmpeg command on the Rendi API: same syntax, no browser, no size limit. Every command the tool shows you is copy-pasteable straight into an API call.