grade your images + videos in the Luttie Editor
← All posts
·dom @ luttie

How to Color Grade Video Online Without Uploading It

Most browser-based video tools upload your footage to a server first. Here's how local, in-browser grading works, how to verify a tool isn't uploading, and where the limits are.

color grade video online without uploadinggrade video in browserprivate video color gradingbrowser video color gradingcolor grade video no uploadlocal video processing browseronline video grading privacygrade nda footage onlinewebcodecs color grading

"Online" and "uploaded" have meant the same thing for so long that most people treat them as synonyms. For video tools they usually still are: you pick a file, a progress bar crawls across the screen, and your footage lands on someone else's server to be processed there.

That's a real cost, and it isn't only about privacy. It's the twenty minutes you spend waiting on a 4K file over hotel wifi. It's the clause in the client contract about third-party processing. It's the embargoed product shot you'd rather not hand to a company whose data retention policy you've never read.

None of it is necessary any more. A browser can now decode, grade and re-encode video without the file ever leaving your machine.

What changed

Three browser capabilities landed that, together, remove the need for a server.

WebCodecs gives JavaScript direct access to the same hardware video decoder and encoder the browser uses to play and record video. This is the important one. Before it, a browser could only really process video by painting frames to a canvas and reassembling them, which was slow and lossy. Now a page can decode compressed frames and encode new ones at close to native speed.

WebGL runs the grade itself. A colour grade is a per-pixel mathematical operation, which is exactly the shape of problem a GPU is built for — the same shader that grades a photograph grades a video frame, because at that level there's no difference between them.

Web Workers keep the work off the thread that draws the page, so a long export doesn't freeze the tab it started in.

The result is a pipeline that runs start to finish on your own hardware:

your file → decode (WebCodecs) → grade (WebGL/GPU) → encode (WebCodecs) → MP4

No step in that chain needs a network connection.

How to check whether a tool is actually local

Don't take anyone's word for it — including mine. There are two quick checks, and they work on any browser-based tool.

The network tab. Open developer tools (F12 in Chrome or Edge), select the Network tab, then load your video into the page. If your footage is being uploaded, you'll see an outgoing request roughly the size of your file, usually taking a while to complete. A local tool produces nothing of the sort — the file is read straight from disk.

Pull the plug. Load the page, then disconnect from wifi. A genuinely local tool keeps grading and keeps exporting. A server-based one stops immediately.

The second test is the more honest of the two, because it's very hard to fake. If the processing is happening somewhere else, cutting the connection ends it.

Grading a clip locally, start to finish

In Luttie:

  1. Drop the video in. It's read from disk, not uploaded. You'll be asked to pick a frame to grade against — scrub to something representative, ideally with skin tones and a highlight in it.
  2. Correct first, if you're shooting log. Apply the technical LUT for your camera — S-Log3, D-Log M, C-Log3, N-Log or Apple Log — before touching anything creative.
  3. Build the look. Curves, colour wheels, HSL, and film effects if you want grain, halation or bloom.
  4. Preview it moving. A still frame will lie to you about a grade, particularly with grain and contrast. Render a short preview and watch it.
  5. Export. The whole clip is decoded, graded and re-encoded to MP4 on your machine.

The specs of what came in and what went out are shown side by side in the editor, so you can confirm the frame rate and audio survived rather than trusting that they did.

What you get out

The exported file is an H.264 MP4, which plays essentially everywhere — browsers, phones, and every NLE.

Audio comes through. Where the source audio can be copied across without re-encoding, it is, so it doesn't lose a generation of quality on the way out.

The frame rate is preserved. A 24fps clip exports at 24, and 60fps stays 60. This matters more than it sounds: a tool that quietly resamples everything to 30 will make 24p footage judder and throw away half of a 60p slow-motion clip.

Film grain moves. Grain that sits still across frames reads as sensor noise or a dirty lens rather than film, so the grain pattern advances frame to frame.

The honest limits

Local processing buys privacy and speed, and costs you scale. Your laptop is not a render farm.

  • Two minutes per clip. The file is assembled in memory before it's handed back, so the cap keeps a long export from exhausting it.
  • Chrome or Edge. WebCodecs is where the browser video encoder lives, and Safari and Firefox support is still partial or absent. On an unsupported browser you can still grade and export a LUT.
  • One clip, not a timeline. There's no sequence, no cuts, no transitions. This is a finishing step for a single piece of footage.
  • Video export is a Pro feature. Grading is free, and a short watermarked preview is free once you're signed in, so you can see your own footage moving with the grade on it before deciding.

If your project is longer than a couple of minutes, or has to be conformed against other footage, the answer isn't in-browser export — it's a .cube LUT applied in your NLE. That path stays local too: the LUT is generated on your machine from the same grade.

When this is the right tool

In-browser grading earns its place in a specific set of situations:

  • Short deliverables. Social cuts, reels, selects, product shots — anything where the clip is the finished thing.
  • Footage you can't upload. NDA work, embargoed material, anything covered by a contract clause about third-party processing.
  • Bad connections. Grading on location, on hotel wifi, on a train. Uploading 4K over a weak connection can take longer than the grade itself.
  • Camera tests. Checking whether a look holds up on real footage before committing a whole shoot to it.

It isn't a Resolve replacement, and it isn't trying to be. It's the fastest path from a log clip to a graded file when the deliverable is one clip and you'd rather it stayed on your own machine.

Luttie Pro

AI Grade and Grade Chat, in your browser

Grading is free in your browser — no download, no card. Pro unlocks AI Grade, clean exports, and .cube or .3dl LUT export.

Open the editor →Pro is $11.99/mo or pay once for lifetime

Related

Luttie Pro

AI Grade and Grade Chat, in your browser

Grading is free in your browser — no download, no card. Pro unlocks AI Grade, clean exports, and .cube LUTs for DaVinci Resolve.

Open the editor →Pro is $11.99/mo or pay once for lifetime