FREEDOM251

Freedom251 › Color Palette Generators

qualpal

Free plan Open source APILinuxMacSelf-hostedWebWindows

Visit qualpal Alternatives

qualpal's own site

What qualpal is

Qualpal is a free C++ library for generating qualitative color palettes intended to keep colors perceptually distinct, especially in data visualizations. It accepts RGB colors, HSL or LCHab color spaces, and predefined palettes as inputs. You can specify a background color for the generated colors to contrast with, or extend an existing palette while keeping selected colors fixed. The project includes a command-line interface for generating and analyzing palettes, a browser-based palette generator, an R package called qualpalr, and a Python package listed in its README. The browser app has less functionality than the library and R package. Its heuristic is based on farthest-point sampling and produces colors described as approximately maximally distinct. Qualpal can simulate deuteranomaly, protanomaly, and tritanomaly using the Machado et al. model. It does not account for aesthetic considerations such as color harmony or complementary colors. Building from source requires CMake 3.15 or later and a C++17-compatible compiler; OpenMP is optional for parallelization. The source repository lists the MIT License.

Who it suits

Qualpal suits people generating qualitative palettes for data visualization, including those working in C++, R, Python, or the browser app. It is less suited to palette choices driven by harmony or complementary-color aesthetics.

What it does well

  • Accepts RGB, HSL, LCHab, and existing palette inputs.
  • Can keep specified colors fixed when extending a palette.
  • Simulates three color vision deficiencies.
  • Includes command-line, R, Python, and web options.
  • MIT-licensed.

What to know first

  • Web app has fewer capabilities than the library and R package.
  • Palette selection does not consider color harmony.
  • Building from source requires CMake 3.15 and C++17.

Getting started

  1. Visit the Qualpal website.
  2. Choose the browser app, CLI, C++ library, qualpalr R package, or the listed Python package for your workflow.
  3. For a source build, use CMake 3.15 or later and a C++17-compatible compiler; OpenMP is optional.
  4. Provide RGB colors, HSL or LCHab values, or a predefined palette as input.
  5. Generate or analyze a palette, optionally specifying a background color or extending an existing palette.

Verdict

Qualpal focuses on perceptual distinction, with options for background-aware generation, palette extension, and color-vision simulation. Its approach does not evaluate visual harmony, so that consideration must be handled separately.

Questions

How much does Qualpal cost?

Qualpal is free, and a free plan is listed.

Which platforms are listed?

Linux, macOS, web, and Windows.

Can I use Qualpal from R or Python?

The project provides qualpalr for R workflows and lists a Python package called qualpal.

Does Qualpal support color vision deficiency simulation?

Yes. It simulates deuteranomaly, protanomaly, and tritanomaly using the Machado et al. model.

Is Qualpal open source?

The source repository states that Qualpal is available under the MIT License.

Does it choose colors based on harmony?

No. Its selection does not consider aesthetic factors such as color harmony or complementary colors.

Facts from qualpal's own pages

Algorithm
The algorithm uses deterministic farthest-point sampling to improve the minimum pairwise color distance. · theoj.org, 14 Oct 2026
Background color
You can specify a background color so generated colors are selected to remain distinct from it. · jolars.github.io, 4 Oct 2026
Background optimization
Palette generation can include a background color so selected colors remain distinct from it. · theoj.org, 14 Oct 2026
Builder API
The C++ interface uses a builder-style API for configuring palette generation. · jolars.github.io, 14 Oct 2026
CLI
Qualpal includes a command-line interface for generating and analyzing palettes. · github.com, 14 Oct 2026
C++ library
The core product is a C++ library for palette generation. · github.com, 14 Oct 2026
Color accessibility
Palettes can be adapted using color vision deficiency simulation. · jolars.github.io, 14 Oct 2026
Color space
The official site describes perceptually uniform color selection in DIN99d color space. · jolars.github.io, 14 Oct 2026
Dependencies
The JOSS paper describes the C++ library as lightweight and having no external dependencies. · theoj.org, 14 Oct 2026
Distance metrics
The project supports CIEDE2000, DIN99d and CIE76 color-difference metrics. · theoj.org, 14 Oct 2026
Input formats
The C++ project accepts RGB values, hexadecimal colors, HSL ranges and built-in palettes. · github.com, 14 Oct 2026
Large color spaces
The project advertises fast algorithms for large color spaces. · jolars.github.io, 14 Oct 2026
License
The source repository states that Qualpal is available under the MIT License. · github.com, 4 Oct 2026
Limit
Qualpal does not consider aesthetic factors such as color harmony or complementary colors when choosing colors. · jolars.github.io, 4 Oct 2026
Limit: build setup
The PyPI description says installing the Python package from source requires a C++ compiler. · pypi.org, 14 Oct 2026
Limit: maturity
PyPI classifies the Python distribution as development status 4, Beta. · pypi.org, 14 Oct 2026
Limit: R parity
The repository warns that qualpalr can lag behind the latest C++ library features. · github.com, 14 Oct 2026
Limit: web functionality
The official repository says the web app has slightly less functionality than the library and R package. · github.com, 14 Oct 2026
Maker
Johan Larsson is listed as the author and maintainer of Qualpal. · jolars.co, 14 Oct 2026
Maker role
Larsson's CV lists him as a Thiele Postdoctoral Researcher in the Department of Mathematical Sciences at Copenhagen University since 2024. · jolars.co, 14 Oct 2026
Palette extension
The library can extend an existing palette while keeping specified colors fixed. · jolars.github.io, 4 Oct 2026
Palette inputs
It accepts RGB colors, HSL or LCHab color spaces, and predefined palettes as inputs. · jolars.github.io, 4 Oct 2026
Platforms
Prebuilt binaries are available for Linux, macOS, and Windows. · github.com, 4 Oct 2026
Praise: accessibility
The independent JOSS paper highlights support for the full dichromacy spectrum and multiple color-vision-deficiency types. · theoj.org, 14 Oct 2026

Where qualpal stands on Freedom251

Look at these too