Video Frame Counter
Count the exact number of frames in any video file. Drop in your file and get the precise total decoded by FFmpeg, plus the frame rate and average frame interval. Files are analyzed entirely in your browser with FFmpeg WebAssembly.
About Video Frame Counter
Video Frame Counter is part of a collection of single-purpose video editing and conversion tools. Count the exact number of frames in any video file. Drop in your file and get the precise total decoded by FFmpeg, plus the frame rate and average frame interval. Files are analyzed entirely in your browser with FFmpeg WebAssembly. Each tool is intentionally narrow — it does one thing well rather than offering many overlapping features — which makes the common path predictable and the result easy to verify before you download or copy it.
The engine behind the page is FFmpeg compiled to WebAssembly. It reads your file in-memory and writes the result back into the browser. Supported inputs include MP4, WebM, MOV, MKV, AVI, FLV, and OGV. For 500 MB and below the work usually completes in seconds; larger files mostly depend on how much spare RAM your device has.
Video Frame Counter works well as a bookmarked utility you reach for when you need it. The first visit shows you what the tool does; the second is when you realise it is a low-friction option for the task and worth keeping in your tab list.
The browser sandbox isolates the page's JavaScript from the rest of the system, the same way it isolates every other tab you have open. Video Frame Counter works inside that sandbox: it reads the file you give it, processes it with FFmpeg compiled to WebAssembly, and writes the result back. Nothing leaves the page's memory unless you choose to download or copy it.
The only practical limit is the 500 MB per-file ceiling, which keeps the tool responsive across a wide range of devices. Run the tool ten times in a row, run it ten thousand times — it behaves the same way and produces the same quality of result.
Video Frame Counter is intentionally narrow in what it does, which makes it easy to slot into a longer workflow. Take its output, hand it to whichever next tool fits the job, and Video Frame Counter stays out of your way until the next time you need it.
Common audiences for Video Frame Counter include creators trimming short clips and event organisers sharing highlight footage, but plenty of people land on the page through a one-off search and never come back — that is also fine. The tool is built to be useful even when you only ever need it once.
When the job finishes, Video Frame Counter hands you the result as `{name}-edited.{ext}`. Filenames are derived from your input where possible, so a quick batch of jobs leaves you with a tidy folder rather than a pile of generic "output (3)" files. Nothing is auto-saved on Favtoo's side because nothing was ever sent there.
Video Frame Counter is built around steady iteration on a small set of options rather than feature creep. Every additional setting attracts a slightly different audience, but a long settings panel makes the common case slower for everyone. The current controls reflect what users of the tool actually use.
Video Frame Counter is structured around the idea that a useful tool should be its own page. Open the page, do the work, close the tab — the page is the entire product. There is no onboarding flow because there is nothing to onboard into.
A few practical tips that experienced users of Video Frame Counter pick up over time. First, keep your default browser updated — the engine relies on standard web APIs and newer browser versions are noticeably faster than ones from a few years ago. Second, close other heavy tabs before processing a large input; the engine shares CPU and memory with whatever else is open. Third, if you re-run the same kind of job often, your last-used settings are remembered for the rest of the tab session, so subsequent runs are essentially one click.
Video Frame Counter is built around the moment of need: a focused page you open when you have a specific task, complete the task, and close. The catalog contains many adjacent tools so the same model serves the surrounding parts of a typical video editing and conversion workflow.
If the result is not what you expected, the most common causes are easy to check. Confirm the input is under the 500 MB ceiling — files just above the cap fail silently because the engine refuses to allocate the buffer. Confirm the input is one of the supported formats. And if the page itself feels slow, try closing other heavy tabs to free up memory; the engine runs in your browser, so it competes for the same resources as everything else open.
If Video Frame Counter solved your problem, sharing the page link with someone who has the same problem is the most useful thing you can do. The catalog grows mostly through word of mouth; visitors arriving through a recommendation tend to be the ones the tool serves best.
How it works
- 1Land on the Video Frame Counter page. The tool is ready to use the moment the page renders.
- 2Select the MP4, WebM, MOV, MKV, AVI, FLV, and OGV file you want to process — drag-and-drop and the file picker both work.
- 3Adjust the options to match what you need. Sensible defaults cover the most common case, so you can usually skip this step.
- 4Hit the run button. FFmpeg compiled to WebAssembly does the work in your browser tab.
- 5Save the output (`{name}-edited.{ext}`) when it is ready.
- 6Re-run with different settings as often as you want. Each run produces a fresh output and the original file on disk is never modified.
Common use cases
- Convert a phone-recorded clip into a web-friendly MP4 using Video Frame Counter.
- Strip the audio track from a screencast for a silent loop.
- Rotate a portrait phone clip into landscape for embedding on a site.
- Cut a long meeting recording down to the relevant five minutes.
- Re-encode a clip so it plays on an older device without stuttering.
- Extract a still frame from a video for use as a thumbnail.
- Trim the silent intro from a screen recording before sharing it.
- Compress a demo video small enough to attach to an email.
- Add a quick caption overlay before posting to social.
- Stitch several short clips into a single uploadable video.
Frequently asked questions
How does it count frames?
A WebAssembly build of FFmpeg loads in this page and runs `-c copy -f null -` against your file. This walks every packet without re-encoding and reports the exact frame count — entirely on your device.
Why is in-browser frame counting slower than online tools?
Server tools use multi-threaded native FFmpeg with parallel I/O. WebAssembly is single-threaded inside the browser, typically 2–4× slower for the walk. The trade-off is total privacy: your video never leaves your device.
How accurate is the count?
Exact. We decode every packet using FFmpeg, so the count matches what your NLE reports. If FFmpeg cannot determine the count for unusual containers, we fall back to estimating it as duration × fps.
Why does my NLE show ±1 frame?
Some editors include or exclude the boundary frames differently, or use drop-frame timecode. Our number is the raw decoded frame count.
Why use this tool?
Useful for animation budgets ("how many frames do I need to draw?"), subtitle timing, ML training-data audits, sprite-sheet planning, and verifying that a re-encoded export has the same frame count as the source.
Can it handle variable frame rate (VFR)?
Yes — the exact count via the FFmpeg walk is correct even for VFR. The reported fps is the average for VFR sources.
How big a file can I process?
Up to 500MB. Long 4K clips take longer to walk because every packet must be read.
Is my video uploaded?
No. The counting runs entirely in your browser tab. Nothing is transmitted, stored, or logged. Closing the tab erases the file from memory immediately.
Does Video Frame Counter work on a phone or tablet?
Video Frame Counter runs in any modern mobile browser — Safari, Chrome, Firefox and the in-app browsers in most messaging apps all support the underlying APIs. Performance depends on the device: a recent phone handles typical inputs nearly as fast as a laptop, while older devices may take a few seconds longer near the 500 MB ceiling. The interface lays out cleanly on small screens, so you do not need to pinch-zoom to see the controls.
Can I use Video Frame Counter offline?
Once the page is loaded, Video Frame Counter can complete jobs without an active internet connection — the engine is bundled with the page, so there is no per-job network call. The initial page load does require a connection (to fetch the static assets), but after that you can disconnect entirely and the tool will still work. This is a side-effect of the local-first architecture, not a deliberate "offline mode" feature.
How accessible is the Video Frame Counter interface?
Video Frame Counter uses native HTML controls wherever possible, which means keyboard navigation, focus rings, and screen-reader labels work the way the platform expects. The drop zone accepts files via the keyboard-accessible file picker as well as drag-and-drop, and result downloads use standard browser download flows. If you spot an accessibility gap, Favtoo treats it as a bug worth fixing.
Can I self-host Video Frame Counter for my team?
Video Frame Counter is a static page running an open-source engine in your browser, so a typical corporate firewall does not get in the way as long as it allows JavaScript and WebAssembly to load from Favtoo. For teams that need to host it themselves on an internal network, the underlying engine (FFmpeg compiled to WebAssembly) is open-source and can be packaged into a private build with the same behaviour. Reach out via the Contact page if that is something you are exploring.
Are jobs run with Video Frame Counter stored anywhere?
Favtoo keeps no copy of your file because Favtoo never receives your file. Video Frame Counter runs entirely in your browser, the input is held only in your tab's memory, and closing the tab discards it. There is no opt-in cloud history, no "recent jobs" panel synced to an account, and no server-side retention to configure — the architecture simply has nowhere for your file to be stored.
Does Video Frame Counter reduce quality of the result?
Video Frame Counter is built to preserve quality wherever the underlying video format allows it. Operations that are mathematically lossless (e.g. structural transformations, lossless re-encoding) round-trip with no perceptible change. Operations that involve a lossy codec inevitably introduce small artefacts at the byte level, but the defaults aim at the sweet spot where output looks or sounds the same to a normal viewer or listener while still being meaningfully smaller or faster than the input.
Where does my file actually go when I use Video Frame Counter?
Your file is processed inside your browser by FFmpeg compiled to WebAssembly. The engine reads the file's bytes from your tab's memory, computes the result, and writes the result back into the tab. You can confirm what the page does by opening developer tools and watching the Network tab during a run — the requests you see are for the tool's static assets only.