🎬 Video Feedback PDF

Play a cut, pause on the problem, add a note. You get back a PDF with the frame still, the exact timecode and your comment, so a revision round ends in one pass instead of ten emails. Your video never leaves this browser.

A saved review is waiting

🎞️
Drop a video here
or click to choose a file

If the video plays in this browser, it works here. That means H.264, VP9 and AV1 in MP4 or WebM. ProRes and DNxHD .mov, MXF and most HEVC files cannot be decoded by a browser at all, so convert those to an H.264 MP4 first with VLC or HandBrake. Nothing is uploaded and there is no upload step: the file is read straight off your disk by this page.

Are you sure?

🎬 Plus video compression, a frame extractor, PDF signing & 300+ more free toolsOpen Castwright

The thing that actually ends a revision round

Client feedback on video usually arrives as a paragraph in an email: "around 1:20 the logo looks off, and the music is too loud near the end". The editor then hunts for the moment, guesses which logo, and sends a v4 that misses half of it. What ends the round in one pass is a numbered list where every item carries the exact time and a picture of the frame in question. That is all this page makes, and it makes it in a format anyone can open.

Why the timecode here has milliseconds instead of frames

A browser genuinely does not know the frame rate of a video file. There is no API for it. Every tool that shows you HH:MM:SS:FF in a browser is either asking you for the rate or guessing it, and a guess that is wrong sends an editor to the wrong frame, which is worse than no frame number at all. So the timecode written on every note is the exact playhead position in hours, minutes, seconds and milliseconds, which you can type straight into any editing app. If you want frame numbers too, enter your project rate and they appear alongside, marked as derived. Detection is offered where the browser supports it, and it is an estimate: a variable frame rate recording such as a phone clip or a screen capture will not measure cleanly, and a derived non drop frame count on 29.97 or 59.94 footage drifts about a hundred frames over an hour against the clock.

What it replaces

Frame.io Pro is about fifteen dollars per user each month and Vimeo Review starts around twelve. Both are excellent when a whole team needs to comment in one place. If what you actually need is to send one marked up round of notes to one editor, or to receive one from a client, a monthly seat per person is an expensive way to do it, and it means uploading the cut to somebody else's server first. Here the file is opened straight off your disk and the PDF is written in the tab.

Footage under an NDA

This matters more than it sounds. Unreleased ads, legal footage, medical training video, anything under embargo: an upload to a review platform is a copy of that material on a third party server, and plenty of contracts do not allow it. This page never uploads the video, has no account, and has no server side at all for your media. Here is every network request it makes, so you can check it against your own policy: the pinned jsPDF file from a public code CDN when the page opens, our host's analytics script, one anonymous page view ping, and one anonymous count only event when you build a PDF, which records that a build happened and how many notes were in it. None of those four carry the video, a frame, a file name or a word of your notes. Your video and the frames pulled out of it stay on your machine.

What the PDF contains

Page one carries the project title, the round, who reviewed it, the file name, the running time, the resolution and a summary table of every note with its timecode and severity, so somebody can scan the damage in ten seconds. After that comes one block per note with the captured frame, the exact time and the comment in full. Severities are Fix, Change, Question, Note and Approved, and they carry a colour through both the table and the blocks.

Honest limits

Frames are captured as downscaled JPEGs, not as your original pixels, because a thirty note PDF built from full resolution 4K stills lands somewhere north of thirty megabytes and bounces off a mail server. The still is a reference for a human, not a master. Notes and frames are saved in this browser, on this device only, so they do not travel to another computer and a browser set to clear site data on exit will drop them. Private windows often block that storage entirely, in which case the page tells you plainly rather than pretending the draft is safe. Drawings on top of a frame are not supported here: write the note instead, the timecode is what an editor uses to find the spot.