Reads your file's real frame rate with FFmpeg, then converts to 24, 30, 60, 120 fps or any custom rate. Frame duplication, blending, or true motion interpolation, with CRF quality control and a verified output readout.
Initializing in your browser…
Convert videos between MP4, WebM, OGG, MOV, AVI, and MKV formats. Device presets for YouTube, Instagram, TikTok, iPhone, Android. Quality options from fast to high quality encoding.
Trim and cut videos precisely with frame-by-frame scrubbing. Set start/end points visually, preview clips in real-time, and export trimmed videos instantly. No upload required - runs 100% in browser.
Merge multiple video clips into one seamless video. Drag-and-drop reordering, preview before export, timeline visualization. Combine videos in any format with automatic re-encoding.
A capture you believe is 60 fps must match a 30 fps edit timeline, but you want to confirm the rate first.
Input
capture.mp4 → probe reads 59.94 fps → target 30 fps, duplicate/drop
Output
An MP4 whose measured rate reads back as 30 fps, audio stream-copied, half the frames
The probe reports the real source rate rather than assuming one, so the 2x ratio it quotes is arithmetic on your actual file. Because 59.94 to 30 halves cleanly, decimation is even and no judder is introduced; the tool re-probes the finished file so the frame rate you see is the one the output actually carries.
Different platforms and devices expect different frame rates. The Frame Rate Converter first reads your file's actual frame rate, resolution, and codecs with FFmpeg, then converts to cinema-standard 24fps, smooth 60fps, or any custom value up to 240. You choose how the new frames are produced: plain duplication and dropping, frame blending, or motion-compensated interpolation that synthesizes genuinely new in-between frames. After every conversion the tool probes its own output and shows you the frame rate the finished file actually reports.
Convert between 24fps, 25fps (PAL), and 30fps (NTSC) to meet broadcast or distribution requirements, with the judder warning telling you which targets divide cleanly.
Check what each clip actually is, then normalize a batch recorded at different frame rates to one common rate before merging or uploading them together.
Lower the frame rate of screen recordings or surveillance footage where high FPS is unnecessary, and raise the CRF value at the same time for a further reduction.
Use motion interpolation to synthesize in-between frames when converting 24fps or 30fps material to 60fps, testing it on a short section first because it is slow.
Changing frame rate is not as simple as relabeling the FPS metadata, and it starts with knowing what you already have. Before anything else this tool runs an FFmpeg probe on your file and reads the real source frame rate, resolution, video codec, audio codec, and duration out of the stream banner. That measured rate drives the conversion summary, so the ratio it quotes ("Raising 24 fps to 60 fps (2.50x)") is arithmetic on your actual file rather than an assumption. It also warns when the source and target are not a whole-number ratio: going 24 to 60 produces an uneven 2-3-2-3 cadence where some frames are held longer than others, which reads as judder, while 24 to 48 or 30 to 60 divides cleanly.
Three frame methods are offered. Duplicate and drop is the default and uses FFmpeg's fps filter: raising the rate repeats existing frames, lowering it discards them at even intervals. It is fast, predictable, and never introduces artifacts, but the motion does not become smoother because no new frames are invented. Blend uses minterpolate in blend mode to cross-fade neighbouring frames into the new positions, which softens the step at the cost of some ghosting. Motion interpolation uses minterpolate in motion-compensated mode (mci with obmc and bidirectional EPZS motion estimation) to synthesize new frames from estimated motion, which can look genuinely smoother but runs many times slower in the browser and can warp fast motion or hard cuts. The blend and interpolation options only appear once the loaded FFmpeg build confirms it contains the minterpolate filter, and a section selector lets you try an expensive interpolation pass on a few seconds before committing to the whole clip.
The encode is H.264 with a CRF quality slider (18 to 32) and a speed preset (ultrafast, very fast, medium) rather than a fixed setting. The output container defaults to keeping your source extension when it can legally hold H.264 and falls back to MP4 otherwise, so a WebM input produces a working MP4 instead of an H.264 stream stuffed into a WebM container. Audio is handled the same way: the source track is stream-copied untouched when the output container supports its codec, and re-encoded to AAC 160 kbps only when it cannot be (Opus into MP4, for example). The tool tells you which of the two it chose and why before you start. A Cancel button stops a running encode, and because the conversion happens in a WebAssembly build of FFmpeg inside your tab, the video is never uploaded anywhere.
It runs an FFmpeg probe on the file in your browser and parses the stream banner, the same information ffprobe would report. Browsers do not expose frame rate through the video element, so probing is the only accurate way to get it. If a file does not report a rate, the tool says so rather than guessing.
With the default duplicate and drop method, no: existing frames are repeated to reach the higher rate, so the file plays at the target FPS but the motion is unchanged. Choose the motion interpolation method if you want genuinely new in-between frames synthesized from estimated motion. That is much slower and can warp fast motion, so try it on a short section first.
Each remaining frame retains its original quality at the CRF you choose. The video will appear less smooth during fast motion, but static or slow scenes look virtually identical, and the file gets smaller.
When the target is not a whole-number multiple or divisor of the source, frames cannot be repeated or dropped evenly. Converting 24 to 60 alternates between holding a frame for two and three output frames, which reads as a stutter. 24 to 48 or 30 to 60 divides cleanly and does not have this problem.
Yes. The source audio track is copied through untouched whenever the output container supports its codec, so there is no second generation of loss. When it cannot be (Opus audio going into an MP4, for example) it is re-encoded to AAC at 160 kbps, and the tool tells you which it is doing before you start.
YouTube accepts 24, 25, 30, 48, 50, and 60 FPS. 30 or 60 FPS are the most common choices. Match your source frame rate when possible to avoid unnecessary conversion, which the source readout now makes easy to check.
Video is decoded and re-encoded on your own device. Large files never leave your machine.