Build looks on real images, compare entire LUT libraries side by side, combine LUTs, and convert them between log profiles, all on the GPU and with exact colour maths. Export to Resolve, Premiere, Final Cut, OBS, photo editors or straight to camera. Free, open source, native Linux desktop app.
Every colorist ends up with the same problems: dozens of LUTs nobody remembers, looks built for the wrong log curve, and a full NLE to open just to bake or audition one cube.
VibingLUT is a dedicated LUT workbench. Grade a still with professional tools and get a mathematically exact LUT out of it. Audition your whole collection on the same frame. Chain or mix LUTs, and retarget them between log profiles: a look built for ARRI LogC4 can run on Sony S-Log3, and a Fujifilm F-Log LUT can run on Panasonic V-Log or Rec.709. The results go to your grading suite, your editor or your camera.
- Look development on real images. Open a frame grab, a JPEG or a camera RAW,
grade it, and press
Ctrl+E. - What you see is what you export. The preview and the exported LUT come from the same GPU code, and the LUT is evaluated exactly at every lattice point.
- Fits any pipeline. 33³/65³/129³
.cube, Panasonic.vltand HALD CLUT for grading suites, editors, photo tools and on-set or in-camera monitoring. - Native and fast. Rust + GTK4/libadwaita, GPU-accelerated through Vulkan (Metal on macOS), no Electron and no browser engine.
- White balance on the CIE daylight locus with CAT16 chromatic adaptation.
- Tone: exposure, contrast, highlights, shadows, whites and blacks in log space.
- Colour: saturation, vibrance, and saturation of shadows and highlights, computed in OKLab / OKLCh, a perceptually uniform colour space.
- Primary colour wheels: lift, gamma, gain and offset, each with a luma control (double-click to reset).
- Selective colour: hue, saturation and luminance for reds, oranges, yellows, greens, teals, blues, purples and magentas, with smooth bands that never tear gradients.
- Curves: master + R/G/B, monotone (Fritsch–Carlson) so they never overshoot.
- Stack LUTs after the grade, each with its own intensity. They are previewed live and baked into the export.
- Bypass any section with its eye toggle to compare with and without it.
- Live scopes: histogram, waveform and vectorscope.
- Before / after split that you can drag across the image.
Point VibingLUT at a folder (sub-folders included) and every LUT is rendered on
your photo as a thumbnail, with tetrahedral interpolation on the GPU. You can
search by name, filter by sub-folder, and click a thumbnail to see it full size with
a before/after split. .cube, .vlt and HALD .png LUTs are all recognised, with a
small badge for each format.
- Chain LUTs one after another, or mix them as a weighted average in OKLab, each with its own intensity.
- Retarget a LUT to another camera profile. Tell the Lab which profile a LUT was
made for and which signal you will use it on. The conversion is analytic: it uses
the manufacturer log curves and gamut matrices, not a lookup approximation.
- Use Fujifilm's F-Log / F-Log2 / F-Log2 C film simulation LUTs on a Panasonic in V-Log, or on a Standard profile.
- Turn a Rec.709 look into a V-Log, S-Log3 or C-Log3 LUT, and back.
- The source profile is detected from vendor file names such as
FLog2C_to_ETERNA…. - A plain-language summary tells you exactly what the exported LUT will do.
Press T to swap the photo for a synthetic chart made of grey ramps, a full hue
sweep and the 24 ColorChecker patches. Neutrals that drift, hues that bend and skin
tones that shift become obvious instantly, in every view.
.cube is the universal 3D LUT format, read by almost every grading suite, editor,
monitor and camera that loads LUTs. Pick the size your target supports:
| Target | Format | Size |
|---|---|---|
| Cameras, monitors, recorders, OBS | .cube |
33³ |
| Grading and editing (Resolve, Premiere, Final Cut, Nuke…) | .cube |
65³ |
| Maximum precision | .cube |
129³ |
| Panasonic VariCam / Lumix (native format) | .vlt |
17³ |
Photo editors, GIMP, ImageMagick, ffmpeg haldclut |
HALD CLUT .png (16-bit) |
64³ |
| Identity HALD for external tools | HALD .png |
64³ |
Grade from, export for, and convert between:
| Maker | Profile |
|---|---|
| Any camera | Standard · Rec.709 (Photo Styles such as Standard, Vivid, Natural…) |
| Panasonic | V-Log |
| Sony | S-Log3 · S-Gamut3.Cine, S-Log3 · S-Gamut3 |
| Canon | C-Log3 |
| Fujifilm | F-Log, F-Log2, F-Log2 C |
| Nikon | N-Log |
| ARRI | LogC3 (EI 800), LogC4 |
| Blackmagic | Film Gen 5 |
| DJI | D-Log |
| RED | Log3G10 |
| Apple | Apple Log |
Photos in: JPEG, PNG, TIFF and camera RAW (RW2, CR2, CR3, NEF, ARW, RAF, ORF, DNG, PEF, SRW and more, via rawler). RAW files are developed to scene-linear light, so switching the input profile re-encodes them exactly, with no second decode.
- Open a photo: drag it in, press
Ctrl+O, or right-click it in your file manager and choose Open With → VibingLUT. - Pick the input profile: Standard for normal Photo Styles, or the log profile you shoot in.
- Grade: use the wheels, curves and selective colour, stack existing LUTs, and check the scopes and the test chart.
- Export:
Ctrl+Ewrites a 33³.cube, which works almost everywhere. Use the export menu for 65³ or 129³.cube, VLT or HALD.
Export the 33³ .cube (or 17³ .vlt), copy it to the SD card, and load it
as a Real Time LUT from the camera menu. Lumix cameras can apply a LUT to any Photo
Style, so a LUT graded on a Standard JPEG works on Standard, Vivid and the others,
not only on V-Log.
VibingLUT keeps colour handling exact and avoids shortcuts:
- Exact bake. The grade is evaluated directly at every lattice point of the cube. The GPU preview and the CPU reference are tested against each other.
- Tetrahedral interpolation everywhere a LUT is applied, on the GPU and the CPU.
- CAT16 white balance, OKLab / OKLCh colour work, a C¹-continuous gamut fit and Fritsch–Carlson monotone curves.
- Manufacturer log curves and gamut matrices, derived from the published primaries in double precision. A neutral, hue-preserving view transform maps scene-linear light to display.
- Tested maths. Unit tests cover round trips between every pair of profiles, identity bakes, chain and mix semantics, LUT retargeting and format readers.
- Separate engine.
vibinglut-corehas no UI dependency, so other front-ends (CLI, plug-ins…) can reuse it.
core/ vibinglut-core: colour science, profiles, LUT I/O, LUT Lab, GPU engine (wgpu + WGSL)
gtk/ vibinglut: GTK4 / libadwaita desktop app (Relm4)
po/ translations (gettext)
make arch # builds a package from the committed HEAD
sudo pacman -U packaging/arch/vibinglut-*.pkg.tar.zstYou need Rust (stable), GTK ≥ 4.20, libadwaita ≥ 1.9, gettext and a Vulkan driver.
make run FILE=photo.RW2 # debug build, optionally open a photo
make release # optimised build
sudo make install # installs to /usr/local; use PREFIX=~/.local for a user installOther targets: make test, make check (format, clippy and tests), make pot
(refresh translations), make clean.
The GPU engine has a native Metal backend and the app uses only cross-platform GTK. macOS builds from source are possible, but they are not tested or packaged yet.
| Action | Shortcut |
|---|---|
| Open photo | Ctrl+O |
Export LUT (33³ .cube) |
Ctrl+E |
| Before / after split | \ |
| Test chart | T |
| Grade / Compare LUTs view | Alt+1 / Alt+2 |
| Search LUTs | Ctrl+F |
| Preferences | Ctrl+, |
| All shortcuts | Ctrl+? |
The interface is in English, with an Italian translation. Translations use gettext:
copy po/vibinglut.pot to po/<language>.po, translate it, and make picks it up
automatically. Pull requests for new languages are welcome.
Will my exported LUT match the preview exactly? Yes, within the precision of the chosen lattice size. The preview and the export run the same code, and a test checks that a 65³ bake reproduces the direct grade.
Can I use LUTs made for another camera? Yes, that is what the LUT Lab is for. Add the LUT, tell it which profile the LUT was made for, choose the signal you will use it on, and export.
Does it need a powerful GPU? No. Any Vulkan-capable integrated or discrete GPU is enough, and the gallery renders thumbnails one at a time so the interface stays responsive.
Is it free? Yes. VibingLUT is free software under the GPL-3.0.
Keywords: colorist tool, LUT manager, LUT editor, 3D LUT creator, cube LUT generator, create LUT from photo, Lumix Real Time LUT, V-Log to Rec.709, convert LUT between log profiles, Fujifilm F-Log LUT converter, HALD CLUT, VLT, color grading software for Linux, GTK4, libadwaita, Rust, Vulkan.