jsColorEngine
jsColorEngine is a color management engine using ICC profiles in 100% JavaScript.
jsColorEngine
A 100 percent JavaScript ICC color management engine that the author benchmarks as faster than LittleCMS WASM and accurate within one least significant bit.
Performance claims
jsColorEngine is described as the fastest ICC colour engine in JavaScript and accurate to within one LSB of LittleCMS, the 25 year reference implementation. It is pure native JavaScript with zero dependencies and an optional WASM tier for the hot path. Against lcms-wasm, the only comparable full ICC implementation for JavaScript, it runs 3.2 to 3.6 times faster on every LUT workflow, and pure JavaScript stays within 0.78 to 1.08 times of optimised native C, ahead on both 4D CMYK workflows, with no WASM involved. The author provides a comparison document with the harness and conditions.
Feature set
The engine supports RGB, CMYK, Lab, XYZ, 3CLR and 4CLR device spaces and N channel spaces from 5CLR to 15CLR, DeviceLink profiles, ICC v2 and v4 loading for both LUT based and matrix shaper profiles, built in virtual profiles, all four rendering intents, black point compensation, trilinear and tetrahedral interpolation, multi step transforms, custom pipeline stages, and ΔE76 and ΔE2000. A LUT free mode walks the full f64 pipeline for every pixel with no LUT quantisation, intended for prepress, proofing and measurement work where colour difference matters more than throughput.
Portability
jsColorEngine runs on Node.js, browsers, Electron, web workers and React Native with no GPU required, and WASM SIMD is the portable acceleration path with no native bindings, no compile step and no platform specific binaries. Portable LUTs can be baked to JSON at deploy time and reconstructed at runtime with Transform.fromJSON, carrying a chain and a content fingerprint so the source is always known. The project is licensed MPL-2.0 and links a live benchmark and sample page.
Editorial conclusion
jsColorEngine is MPL-2.0 licensed and reported thirty six stars at indexing, with a live benchmark page on the author's site and a comparison document detailing the LittleCMS measurement harness.
Community notes