ZygApp Studio

Colour grader

Grade live in your browser, then export the look you built as a .cube. Nothing is uploaded — frames never leave your device, and there is no account to make.

no source

Start the test pattern to grade straight away, or use your camera. Either works — the test pattern needs no permission and no hardware.

Your camera stays on your device. No frames are sent anywhere, and nothing is uploaded.

Pick a source to begin. The test pattern needs no camera permission.

01 Tone

02 Contrast

03 Colour

04 Shape

Looks — a starting point, not a destination

LUTs

Exports at 33×33×33. Vignette isn't included — it depends on frame position, which a LUT can't carry.

Put your own look in here

The LUTs above are generated in code — no colourist involved. ZygApp creators can add the real thing: lend a look, and your credit on it links out to where the full version lives. Anyone who opens this tool grades their own picture with your work and sees your name on it.

We never store your .cube file. It is parsed on submission, a lower-resolution preview grid is kept, and the file itself is discarded — visitors see the look, not the product. You can pull it back whenever you want.

Contribute a LUT →

How it works

What you can do here

Grade a picture the way a colourist would. Point your camera at something or start the test pattern, then work through lift, gamma and gain, set your contrast against a pivot, push the shadows one way and the highlights the other, and watch the scope respond as you go.

Turn on split view and drag across the frame at any point to see what you have actually changed — left is ungraded, right is graded.

When you have a look you like, export it as a .cube file and load it in Resolve, Premiere or Final Cut. The grade is yours.

What a look actually is

A grade is an order of operations, not a filter. Lift moves your black point, gamma bends the midtones without touching either end, and gain scales the whole thing from the top.

Contrast pushes values away from a pivot you choose — set that pivot wrong and a shot goes muddy or brittle no matter what else you do.

Split-toning tints shadows and highlights independently, weighted by how bright each pixel already is, which is why it reads as colour grading rather than as a colour cast. Saturation comes after it, deliberately: put saturation first and the tone you just introduced gets desaturated back out again.

A LUT, when one is applied, sits last of all — that is where a creative look belongs, on top of a picture that has already been balanced.

Where the picture goes

Nowhere. Every frame is processed by your own browser's graphics hardware and never leaves your device — there is no server to send it to. No account, no sign-up, no email.

The camera is read through getUserMedia and handed straight to WebGL as a texture. Nothing is uploaded, and there is no endpoint that could receive a frame even if something tried: the page makes no network request of any kind while you work, which you can check in the network tab rather than take on trust.

The test pattern is not a file either. It is drawn by code in your browser every frame, which is why it starts instantly and needs no permission.

A frame grab and a .cube export are both built in your browser and handed straight back to you as a download.

About the LUTs on this page

The built-in looks are generated in code — there is no creator behind them and they carry no name.

Your own export is a different thing entirely. It bakes the grade you built from the controls above into a real .cube file that any editor can read — no creator's LUT is ever included in it, and the vignette is left out because a LUT cannot carry anything that depends on where a pixel sits in the frame.