Working with Colour World Origins
I spent a few weeks digging into Colour World Origins last month because someone at work asked me to help troubleshoot a color-mapping issue that kept breaking our pipeline. It turned out to be one of those tools that sounds simple on the surface but has a lot of quietly complex underpinnings once you actually start using it seriously. If you are new to Colour World Origins, the first thing you need to understand is how it handles palette generation. Unlike a lot of color tools that just pull from a fixed library, Colour World Origins builds palettes dynamically based on environmental parameters you feed it. The idea is that colors should feel like they belong to a coherent world, not like they were randomly thrown together. That is why the documentation keeps pushing the "origin point" concept — it is the anchor color from which everything else derives.
Setting Up Colour World Origins
The installation itself is straightforward. You download it from their official site, run the installer, and you are given a workspace with a few sample projects already in place. I skipped the samples and jumped straight into creating a fresh project, which is probably what you will do too. The initial config file lives at ~/.colourworld/config.json and controlling it manually gives you way more precision than the UI slider lets you adjust. Here is what I found after going through the first real project: the default palette mode is set to "Natural Light", which means the software assumes you are simulating outdoor lighting by default. If your use case is indoor or studio lighting, you need to change that in the preferences before you generate anything. I missed this step and spent about an hour wondering why every palette came out with an aggressive blue cast. Changed the mode to "Artificial Warm" and every subsequent generation looked right away.
How the Color Engine Actually Works
Colour World Origins uses a modified version of the Oklab color space for its calculations rather than the more common HSL or HSV. This is not arbitrary. Oklab is perceptually uniform, meaning equal numerical changes produce equal visual changes. For a tool whose entire purpose is making colors that look consistent across different screens and lighting conditions, that matters a lot. The core workflow goes like this: First, you define an origin color. This is typically a mid-tone neutral or a dominant environmental color. Second, you set the environmental parameters — ambient light temperature, time of day simulation, material reflectivity. Third, the engine generates a complete palette that respects all those constraints.
Get the Full Details

The part that most people gloss over is step two. The ambient light temperature slider on the UI is labeled in Kelvin, but it actually maps to a more complex spectral distribution curve internally. Setting it to 5500K does not give you the same result on different hardware. I learned this the hard way when a palette that looked perfect on my calibrated monitor came out slightly green-shifted when a colleague opened the same project on an uncalibrated display. The workaround was to export the palette in the ACEScg color space instead of the default sRGB, which preserved the relationships between colors much better across devices.
Common Problems and What Actually Fixes Them
There is a known issue with the Harmony mode when you are working with highly saturated origin colors. The tool tends to push complementary colors into muddy territory because the Oklab gamut mapping gets aggressive around saturation thresholds above 0.85. I hit this when trying to build a palette for a high-contrast UI theme. The reds and cyans looked vibrant individually but clashed horribly when placed side by side. The fix is to work in desaturated mode first, generate your palette, then selectively boost saturation on specific swatches rather than letting the engine do it automatically. It adds maybe ten minutes to the workflow but saves you from going back and fixing broken harmonies later. Another issue worth noting: the batch export feature claims to support PSD, PNG, and ASE formats, but the PSD export has a documented bug where layer names get truncated at 15 characters. This is an old bug that apparently nobody on the team cares about fixing because the workflow most users follow is PNG export followed by manual Photoshop import. If you are relying on PSD round-tripping for a team pipeline, stick to PNG and build your layers externally.
When Colour World Origins Is the Wrong Tool
It would be dishonest to present this as a complete solution for every color task. If you are doing print production that requires strict CMYK separation, Colour World Origins is not going to help you much. It is fundamentally an RGB-native tool with good sRGB and Rec.709 support, but its CMYK gamut preview is rudimentary at best. For print work, I would recommend falling back to something like Adobe Color or even a dedicated print proofing tool. Similarly, if you need scientific color analysis — things like exact Delta E measurements between standards or colorimetric data for lab work — this tool is not built for that. It is a design and visualization tool, not a metrology instrument.

Getting the Most Out of It
The feature most people never discover is the custom shader export. Once you have a palette you are happy with, you can export it as a GLSL fragment shader snippet along with the color values. This is genuinely useful if you are building real-time applications in Unity or Unreal, because it lets you bake the color relationships directly into your rendering pipeline instead of hardcoded hex values that may drift as your project evolves. The export generates both the color table and the conversion functions. It took me about twenty minutes to set up in a small test project, and the resulting color consistency across scenes was noticeably better than what I was getting from manual color assignment. Worth the effort if you are doing anything beyond a static mockup. If you want to grab it, the official download is at colourworldorigins.com/download. There is a free tier that covers most individual use cases and a Pro tier that unlocks the shader export, batch operations, and the advanced Oklab fine-tuning controls. The free tier should be enough to evaluate whether this fits your workflow before committing.