Make a flat or oddly coloured image feel right
Correct the temperature, lift a dark image, restore contrast and keep skin tones believable. Export the finished photo at its original size.
Free · private · works in your browser
Nyans is a colour grader for photos, video, screenshots and renders. Fix a strange colour cast, recover contrast, match a set of shots or give the whole thing a mood. Start with familiar controls, then go deeper if you want to. Your files stay on your device.
Chrome, Edge, Firefox and Safari · desktop or phone
What you can do
You do not need to know what a LUT is. Bring something that needs better colour and Nyans gives you a clear place to work on it.
Correct the temperature, lift a dark image, restore contrast and keep skin tones believable. Export the finished photo at its original size.
Play, pause and scrub while every change stays live. Build a clean, warm, muted or cinematic look, then render the graded clip with its audio.
Put several photos, clips or screenshots side by side. Balance each one, then shape one shared look while the whole set updates.
Polish game captures, artwork, product renders and social images. Protect an important brand colour while you change everything around it.
Choose a still, photograph or piece of concept art whose colour you like. Auto match finds a broad starting point and leaves ordinary controls for you to adjust.
Save the grade as a preset, share it in a link or export a LUT when another app needs one. The technical formats are there when you need them—not before.
Grading tools
Start with brightness, contrast, white balance and colour. Add curves, wheels or selective tools only when the picture asks for them.
Load images from different scenes and lighting conditions. Every thumbnail follows the grade, so you can spot a weak black, clipped highlight or strange skin tone before it slips through.
Correct the exposure or camera colour of one shot, then keep shaping the shared look across the set. Nyans keeps those two jobs clearly separated.
White balance, exposure, contrast, highlights, shadows, whites, blacks and saturation are ready from the start. Curves, colour wheels, the HSL mixer and split toning are there when you want more control.
Try forty starting looks—from subtle film colour to day for night—shown on your own image. Adjust one or save your own for the next project.
Auto balance makes a conservative first pass at colour, brightness and contrast. Auto match takes inspiration from a reference image. Both leave normal, editable controls behind.
Pick a colour from the picture, narrow the selection and change only that area. Useful for skin, skies, foliage, clothing and brand colours.
Load a .cube as a creative node with its own strength control. It starts after the tone controls, but you can move it anywhere in the stack or add another. Export bakes the complete stack into one LUT.
Smooth saturation-versus-saturation and luma-versus-saturation curves, alongside the 8-band hue mixer. Take saturation out of the highlights, or only out of what is already vivid, without disturbing anything else.
Pick the shots, mark a reference, then scribble over colours to preserve and materials to adjust. Harmonize creates a separate trim node for each shot and leaves the shared look alone. The run is one undo step. Export texture fixes produces a standalone .cube and HALD for each asset.
Pick from an image or video frame, then narrow and feather the hue, saturation and luminance ranges separately. View the selection as a black-and-white matte or an overlay, refine it and invert it if needed. The qualifier is colour-based and can be baked into the LUT.
Put the whole selection side by side. Each cell runs through the full pipeline and has its own before view, wipe, zebras and matte. Shared zoom and pan keep the same part of every frame aligned for comparison.
Lock a team red, a UI colour or a skin tone. Nyans measures its drift as you grade, flags it in the panel, and includes it as a constraint during Auto match.
For 3D artists
Drop a model into the same filmstrip, grade its material colour maps before lighting, and pull a kit of mismatched assets into agreement. This specialist workflow now has a page of its own.
glTF and GLB open directly. FBX, OBJ, DAE, BLEND, PLY, STL, 3DS, PMX and the rest are converted to glTF 2 inside the tab by an Assimp build compiled to WebAssembly. A zipped folder brings its textures, .bin and .mtl along with it.
Base colour and emissive maps go through the grade, and the scene lights the result. That is the order a texture fix has to be applied in, so what you judge on screen is what the exported transform does to the maps themselves — no baked-in key light, no view-dependent shading.
The scopes, Auto match, Auto balance and Harmonize all sample the model's colour textures rather than the rendered viewport. Turn the model around and the histogram, the ΔE figures and the solved trim stay where they were.
Put several assets on the board, mark one as the reference, and Harmonize solves a trim for each of the others without touching the shared look. Export texture fixes then writes a 33³ .cube and a HALD PNG per asset, plus the ImageMagick lines that apply them to that asset's own maps. The whole workflow, step by step →
Models are kept in the browser on your machine when there is room, and the filmstrip says which ones are stored and which are session-only. A .nyans project carries the whole package — scene, textures and all.
A model sits in the filmstrip next to screenshots, RAW files and video, under one look. Before/after, the wipe, the qualifier matte and grid view all work on it, so a look can be judged against captures and assets in the same pass. The quantized bake preview stays on the flat shots, where the LUT is what gets applied.
How it works
A new project opens with one Basic Grade panel. Underneath, Nyans keeps the work organised so you can add tools, rearrange them or turn them off without losing your way.
Begin with the essentials. Add curves, selective colour, an HSL mixer or split toning as separate steps when the grade calls for them.
Move a step, use the same tool twice or switch one off to see what it contributes. The whole arrangement is saved with your look.
The panel separates the shared look, fixes for one shot and finishing effects such as grain. You always know which part of the project you are changing.
Save & share
Export a finished photo or video, save the whole project, send someone the look in a link, or make a LUT for another creative app when your workflow needs one.
| Format | Shape | Reads it |
|---|---|---|
| .cube | 16³ / 32³ / 65³ | DaVinci Resolve, Premiere Pro, Final Cut Pro, Photoshop, OBS, CapCut. Size ceilings vary: After Effects reads 64 points per axis or fewer, so give it the 16³ or 32³ |
| .3dl | Autodesk 3D LUT | Flame, Lustre, Nuke, older broadcast pipelines |
| Unreal strip | 256 × 16 PNG | Unreal Engine 4 & 5 colour grading LUT slot |
| Unity strip | 1024 × 32 LDR PNG | Unity post-processing / URP / HDRP |
| ReShade | lut.png | ReShade injector on any game |
| HALD CLUT | 512 × 512 PNG | ImageMagick, G'MIC, batch texture pipelines |
| PQ shaper .cube | Pre-tonemap HDR | OCIO and custom engine pipelines that grade before the tonemapper. Stock Unreal and Unity LUT slots use the LDR strips above; ACES projects use an ACES output transform |
Switch between the float grade and the baked 16³, 32³ or 65³ LUT. Banding and interpolation error show up in the same viewer you used to build the grade.
Choose Display sRGB for the original Nyans pipeline or Scene-linear ACES for an ACEScg working space with ACEScct grading controls. ACES uses the official 2.0 output transforms and gamut mapping throughout the preview, scopes, probe, matching and LUT bake. The extra runtime loads only for ACES projects.
Save the active clip at its original dimensions with its audio intact. Nyans shows progress and keeps everything on your machine.
Save a graded image at its original dimensions. If you added bloom, halation, grain or a vignette, you can render those into the finished pixels too.
Set the expected input and output to sRGB, Display P3, Rec.709 or Rec.2020. Nyans bakes that conversion into the values and writes both spaces as comments in the .cube header; the format has no standard colour-space field. Camera-log transforms are selected per shot. Input transforms, exposure and shot trims remain outside the reusable LUT.
Send the grade settings in a URL. The other person gets the look, not your private source images.
Save one portable Nyans project with the grade, images and project settings inside. Open it on another machine or hand the work to someone else.
Add a printable report and machine-readable JSON to any delivery. It records the transform details, gamut excursions, clipping, folds, volume, LUT bake error, per-shot ΔE and colour-lock drift. Offline shots are identified and excluded from the reported averages.
For colour pipelines
If LUTs are part of your job, LUT Lab can inspect, compare, repair, resize, blend and batch them. Everyone else can happily grade without ever opening it.
Read the input domain, output excursions and folded or singular cells from the LUT values. Source and result can be viewed as colour slices, with their difference drawn as a ΔE heatmap on a fixed scale.
Custom domains and values outside 0–1 survive an ordinary round trip. Repair tools can clamp excursions, smooth isolated spikes and remove folds; each reports the change in look strength. Approximate inversion includes a reconstruction-error measurement and marks folded LUTs as non-invertible.
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 turn it back into controls you can edit.
A one-dimensional .cube opens in its own editor with the input and output curves drawn over the source. Per-channel domains, descending runs and flat segments are reported, and nothing is quantized. Converting one into a 3D lattice states the resulting error instead of hiding it.
Drop in many .cube files and set the output format, size, strength and repair once. Each file is processed on its own and a file that fails does not stop the rest. The download keeps all the results together with a summary of any warnings.
A .cube dropped into the app can be opened in LUT Lab, stacked as a creative node you keep grading on top of, or fitted back to the knob stack. Nyans asks rather than guesses. Whichever you pick, the finished stack still exports as one LUT.
What you can open
Drag in everyday photos and screenshots, camera originals, HDR images, video clips or 3D models. Nyans handles the technical preparation and gives you one consistent place to grade.
Each scope includes clipping warnings and a before/after pixel probe; the vectorscope also has a skin-tone line. Colour-vision-deficiency simulation covers protanopia, deuteranopia and tritanopia.
Bloom, halation, grain and vignette depend on neighbouring pixels, frame position or randomness, which a 3D LUT cannot store. Nyans previews them in a separate render lane. Stills and clips can render the effects into pixels, and engine exports include a recipe for the closest Unreal, Unity or ReShade settings.
Shots, masks and grades are stored in the browser on your machine. To move a project, save a .nyans file and open it on the other device.
Why free
Nyans serves the application; your browser handles the decoding, grading and local storage. That leaves no per-user compute or footage-storage bill for the site to recover.
Free is the product, not a limited tier. Every export format and LUT size is available from the first visit.
.cube LUTs remain plain text.FAQ
.cube at 16³, 32³ or 65³, .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 pre-tonemap HDR in OCIO and custom pipelines. Stock Unreal and Unity LUT slots use the LDR strips. You can bundle several formats into one zip..cube is the standard 3D LUT format read by DaVinci Resolve, Premiere Pro, Final Cut Pro, Photoshop, OBS and CapCut. After Effects accepts up to 64 points per axis, so use a 16³ or 32³ export there; Resolve can use 65³. Lightroom expects a profile and does not import .cube files directly..cube and reports the reconstruction error. You can also load the file as a creative node with a strength slider. In either case, the finished stack exports as one LUT..cube has no colour-space field.
There are twelve per-shot OpenColorIO camera-log transforms covering Apple, ARRI, Canon, Panasonic, RED and Sony. Blackmagic and DJI transforms are not included yet. The same applies to ACES2065-1 interchange, ACES HDR output transforms, ICC output profiles and CLF/CTF/AMF round trips. For Rec.2020 SDR output, Nyans uses the official P3-D65 render gamut in a Rec.2020 container; ACES 2 has no native SDR Rec.2020 preset..cube as float data and reports its input domain, output excursions and folded or singular cells. It can resize the grid, blend from 0–200%, compose two LUTs, clamp excursions, smooth isolated spikes and remove folds. A fixed-scale ΔE heatmap compares source and result. Custom domains and values outside 0–1 are preserved unless you select a repair that changes them.
One-dimensional .cube LUTs open in their own curve editor and can be converted to a 3D lattice with the conversion error measured. Dropping several files at once opens a batch: one recipe runs over every file and downloads the results together with a summary of any warnings..cube and a HALD PNG per asset, with the ImageMagick commands to apply them..nyans file containing your grade, project settings and original media. Video is included by default, or you can make a smaller save without the clips.