Nyans Open Nyans

Free · no account · nothing uploaded

Free LUT creator,
in your browser.

Drop screenshots, camera RAW files or a video clip. Grade them with the controls a colorist actually uses. Export a .cube, .3dl, Unreal, Unity, ReShade or HALD LUT — with no watermark, and not one pixel leaving your machine.

Chrome, Edge, Firefox and Safari · desktop or phone

↓ Export LUT
The Shanghai skyline at night seen across the river from the Bund. Left of the wipe the frame is straight off the sensor data — hazy, washed out and violet-cast. Right of it a Nyans grade has set the black point, corrected the balance and brought the neon back. Source Graded
Demo frame: “Shanghai Bund” by Greg Zaal, CC0 1.0, from Poly Haven. It is a 17-stop scene-linear HDR capture, shipped developed at a fixed exposure with no creative grade — which is exactly why the left half looks like that. The right half is graded live in your browser.
Price
Free no watermark
Uploads
0 bytes
Export formats
7 + zip bundle
Input formats
30+ RAW, HDR, video

Grading

A LUT is global. Grade like it is.

Most online LUT makers give you one image and eight sliders. A look that survives contact with a real project has to hold up on a night exterior and a lit interior at the same time, so Nyans grades a whole contact sheet at once — every thumbnail updates live as you work.

Contact sheet

Many shots, one look

Load shots from different scenes and lighting conditions. Every thumbnail follows the grade, so you find the compromise before you export it rather than after.

Per-shot development

Normalise sources without polluting the LUT

Push any source ±4 EV to bring it into range. That offset feeds the scopes, the picker and Auto match, but stays out of the exported LUT by design.

Colourist toolset

Every knob you expect

White balance with a grey eyedropper, exposure, contrast with pivot, highlights, shadows, whites, blacks, lift/gamma/gain/offset wheels, master and per-channel curves, an 8-band HSL mixer on Oklab hues, vibrance, split toning and output levels.

Auto match

Match a reference frame

Drop in a film still or concept art and a solver fits the broad-stroke controls until the whole sheet's Oklab statistics agree with it. The result is ordinary knob positions — blend it, refine it, undo it in one step.

Reverse fit

Turn a LUT back into a grade

Open any 3D .cube and the same solver fits the control stack to it, usually within about ΔE 0.1. An opaque LUT someone handed you becomes something you can actually edit.

Creative LUT layer

Keep grading on top of a LUT you like

Drop in any .cube you already own and carry on with a strength slider. It stacks in right after the tone curves, so everything below trims the look rather than feeding it — and the whole thing still bakes down to one exported LUT.

Selective curves

Saturation on a curve, not a band

Continuous Sat-vs-Sat and Luma-vs-Sat curves in Oklab, alongside the 8-band hue mixer. Pull saturation out of the highlights, or only out of what is already saturated, without disturbing anything else.

Harmonize assets

Make one asset agree with the rest

Mask a palette to keep and an asset to adjust; Harmonize solves only the HSL mixer, so your look knobs stay where you put them. Export texture fix instead solves a standalone B→A transform and hands you .cube + HALD for batch-applying to textures.

Colour locks

Pin the colours that must not move

Team reds, UI colours, skin tones. Live ΔE badges warn the moment a grade drags them, and Auto match treats them as hard constraints instead of suggestions.

Exports

Seven formats, no watermark, no export limit

The same grade writes out to whatever your pipeline actually reads — an NLE, a game engine, or a post-processing injector. Bundle several into one zip if the answer is "all of them".

LUT export formats
FormatShapeReads it
.cube16³ / 32³ / 65³DaVinci Resolve, Premiere Pro, Final Cut Pro, After Effects, Photoshop, Lightroom, OBS, CapCut
.3dlAutodesk 3D LUTFlame, Lustre, Nuke, older broadcast pipelines
Unreal strip256 × 16 PNGUnreal Engine 4 & 5 colour grading LUT slot
Unity strip1024 × 32 LDR PNGUnity post-processing / URP / HDRP
ReShadelut.pngReShade injector on any game
HALD CLUT512 × 512 PNGImageMagick, G'MIC, batch texture pipelines
PQ shaper .cubeScene-referred HDREngines grading before the tonemapper
Honest preview

See the banding before you export it

Toggle between the float pipeline and the actual quantised LUT at 16³, 32³ or 65³, trilinear or tetrahedral. Cheap LUT sizes reveal their artefacts here, not three hours later in-engine.

Stills

Full-resolution PNGs

Export any shot at its original dimensions, with either the float grade or the quantised LUT preview baked in — plus a separate pass that renders bloom, halation, grain and vignette into the pixels.

Share links

A URL that carries the look

Share copies a link with the whole grade gzipped into the fragment. No upload, no server, no expiring bucket — the look travels in the address bar.

LUT Lab

Open a LUT and see what it actually does

Not every LUT you are handed is sound. LUT Lab loads any 3D .cube as float data and shows you its declared input domain, where its output runs past the legal range, and which cells have folded or gone singular — then lets you repair, resize or recombine it.

Inspect

Float data, not a thumbnail

Read the declared input domain, the output excursions and the folded or singular cells off the actual numbers, instead of guessing from a preview swatch.

Resize · blend · compose

Change a LUT without rebuilding it

Resize the grid, blend the LUT from 0 to 200%, or compose it before or after a second LUT. Download the result, stack it, or reverse-fit it back into editable controls.

Round trip

Nothing gets silently clipped

Custom input domains and values outside 0–1 survive the round trip rather than being quietly clamped on the way through — which is where most LUT utilities lose data.

Input

RAW, HDR and video frames, at full precision

A photo, a game capture and an EXR all enter the pipeline at the same place, as scene-linear light — so a look built on one behaves the same on the others.

  1. 01Camera RAWARW, CR2, CR3, NEF, DNG, RAF, ORF, RW2 and the rest, decoded by LibRaw compiled to WebAssembly. The camera's own white balance and colour matrix are applied, with a fixed documented exposure headroom rather than per-image auto-brightness — so a night shot and a snow field don't develop to different brightnesses. The 1.5 MB decoder is a dynamic import and never weighs on anyone else's page load.
  2. 02HDR & high bit depthOpenEXR (half/float, NONE/RLE/ZIP), Radiance .hdr, and 10/12-bit AVIF in PQ, HLG or high-bit SDR. HDR develops to display sRGB using the same ACES fit the PQ shaper export assumes, so the preview and the in-engine result agree.
  3. 03Video framesDrop an MP4, MOV or WebM and pull frames off the timeline — scrub to a moment, or grab 3–12 evenly spread frames at once. It uses the browser's own decoder, so it adds nothing to the download, and says plainly when a codec isn't supported.
  4. 04ScreenshotsPNG and JPEG, which is what most people actually have. Drag a folder in.
Scopes

Histogram, parade, waveform, vectorscope

With a skin-tone line, clipping zebras and an exact in→out pixel probe. Plus colour-vision-deficiency simulation, because gameplay readability is a colour problem too.

Film response

Labelled "not in the LUT", in as many words

Bloom, halation, grain and vignette preview as a layer that cannot bake — bloom reads its neighbours, grain and vignette depend on position in frame. They stay out of thumbnails, comparisons and scopes, and export as an engine recipe naming the settings that reproduce them.

Sessions

Close the tab, come back, keep grading

Shots and mask scribbles persist to OPFS, the grade to local storage. Nothing to sign into, nothing to sync, nothing to lose.

Why free

Free because it costs nothing to run.

Every browser LUT tool that charges you does so because it decodes, grades and stores your footage on someone else's machine. Nyans doesn't have that bill, because it doesn't do that. The grading runs on your GPU, the files stay on your disk, and the server only ever hands out the app itself.

So there is no free tier to outgrow: no watermark, no export cap, no locked formats, no account, no trial clock.

  • No account. Open the tab and start. There is nothing to sign into because there is nothing on a server to sign into.
  • No watermark. The LUT you export is the LUT you graded, at full precision, every format.
  • No API key, no resold AI. Nyans speaks the Model Context Protocol, so Claude, ChatGPT or any MCP client can drive the tab you have open — rendering shots, reading scopes, adjusting named controls. It's billed to the subscription you already pay for, because Nyans never touches a model itself.
  • No lock-in. Grades travel in a URL fragment, LUTs are plain .cube text, and any .cube you already own can be loaded back in and taken apart.
  • Works offline. Once the tab has loaded, the network is optional.

FAQ

Questions people actually ask

Is Nyans really free?
Yes. No paid tier, no subscription, no account, no watermark. It runs entirely in your browser, which is what makes free sustainable instead of a trial period with a countdown on it.
Are my images uploaded anywhere?
No. Decoding, grading and LUT export all happen on your own GPU through WebGL2. Nothing is sent to a server. Share links carry the grade parameters compressed into the URL fragment — never the images.
What LUT formats can I export?
.cube at 16, 32 or 65 points, .3dl, an Unreal Engine 256×16 strip, a Unity 1024×32 LDR strip, a ReShade lut.png, a 512×512 HALD CLUT, and a PQ shaper .cube for engines grading in scene-referred HDR before the tonemapper. Several formats can be bundled into a single zip.
Does it work with DaVinci Resolve and Premiere Pro?
Yes. .cube is the standard 3D LUT format read by DaVinci Resolve, Premiere Pro, Final Cut Pro, After Effects, Photoshop, Lightroom, OBS and CapCut. Drop the file into the application's LUT folder and it turns up in its LUT list.
Can I edit a LUT I already own?
Two ways. A solver fits the full control stack back to any 3D .cube, usually within about ΔE 0.1, which turns an opaque LUT into an editable grade. Or load it as a creative layer and keep grading on top of it with a strength slider — both still bake down to one exported LUT.
Can I inspect, resize or combine a LUT I already have?
Yes — that is LUT Lab. Open any 3D .cube as float data to see its declared input domain, output excursions and folded or singular cells; resize the grid, blend it from 0–200%, or compose it before or after a second LUT. Download the result, stack it, or reverse-fit it into editable controls. Custom domains and values outside 0–1 survive the round trip instead of being silently clipped.
Why can't grain, bloom and halation be baked into the LUT?
Because a 3D LUT maps one colour to one colour, and none of those effects are that. Bloom and halation read neighbouring pixels; grain and vignette depend on where a pixel sits in the frame. Any tool that claims to bake them is baking an average of them. Nyans previews them as a clearly labelled layer and exports them as an engine recipe naming the Unreal, Unity or ReShade settings that reproduce them properly.
Can an AI grade for me?
It can, but not by typing a look into a box. Nyans exposes its controls over the Model Context Protocol, so an assistant can render a shot, look at it, read the scopes, adjust one named control and look again. Nyans holds no API key and calls no model, so it is billed to a subscription you already have rather than resold to you.
What do I need to run it?
A browser with WebGL2 — Chrome, Edge, Firefox or Safari, on desktop or phone. Below 860px the image pins to the top while the controls scroll under it, and two fingers pinch-zoom the viewport.

Open a tab. Drop a screenshot. Export a LUT.

Start grading — free

No sign-up. No upload. No watermark.