Nine Degrees Below (Elle Stone) LCh color palette in various formats including GPL palettes, DTCG color token, and a Node package. https://mfgames.com/nine-degrees-below
  • TypeScript 82.2%
  • Nix 8.9%
  • Just 8.9%
Find a file
D. Moonfire 30180bbade
fix: added src/media and README for the node package
Signed-off-by: D. Moonfire <d.moonfire@moonfire.us>
2026-06-27 22:40:51 -05:00
.config chore: initial commit 2026-06-27 15:32:45 -05:00
.vscode chore: initial commit 2026-06-27 15:32:45 -05:00
LICENSES chore: added licenses to the project 2026-06-27 21:41:50 -05:00
news docs: updating news 2026-06-27 22:28:28 -05:00
src fix: added src/media and README for the node package 2026-06-27 22:40:51 -05:00
tests chore: added licenses to the project 2026-06-27 21:41:50 -05:00
.editorconfig chore: initial commit 2026-06-27 15:32:45 -05:00
.envrc chore: initial commit 2026-06-27 15:32:45 -05:00
.gitignore chore: initial commit 2026-06-27 15:32:45 -05:00
.prettierignore chore: initial commit 2026-06-27 15:32:45 -05:00
CODE_OF_CONDUCT.md chore: initial commit 2026-06-27 15:32:45 -05:00
DCO.md chore: initial commit 2026-06-27 15:32:45 -05:00
deno.json chore: initial commit 2026-06-27 15:32:45 -05:00
deno.lock test: added tests to verify oklch and hex match 2026-06-27 17:15:04 -05:00
flake.lock chore: initial commit 2026-06-27 15:32:45 -05:00
flake.nix chore: added licenses to the project 2026-06-27 21:41:50 -05:00
Justfile chore: added licenses to the project 2026-06-27 21:41:50 -05:00
README.md docs: added documentation 2026-06-27 22:27:13 -05:00
REUSE.toml chore: added licenses to the project 2026-06-27 21:41:50 -05:00

Nine Degrees Below Palette

The Nine Degrees Below's palette in various formats.

This node package is inspired by Nine Degrees Below's LCh color palette. It repackages it in various formats to make it easier to reuse in Node-based packages. It also produces GPL palette files for use with GNU Image and Inkscape.

This defines all five saturations of the twenty-four colors.

Color Chips

There are also color wheels that mostly match the ones from Nine Degrees Below:

Color Wheel for Saturation 0.8 Color Wheel for Saturation 0.2

Conventions

In most cases, the hues are identified by h and a three digit, zero-padded number:

  • h000
  • h024
  • h038
  • h053
  • h065
  • h080
  • h090
  • h100
  • h115
  • h130
  • h145
  • h162
  • h180
  • h204
  • h218
  • h233
  • h245
  • h260
  • h270
  • h280
  • h295
  • h310
  • h325
  • h342

There are five saturations at each level.

  • s10 for 1.0 saturation
  • s08 for 0.8 saturation
  • s06 for 0.6 saturation
  • s04 for 0.4 saturation
  • s02 for 0.2 saturation

From the source file, there is a GPL file with only the 0.8 and 0.2 saturation.

The color codes are in the format of color-nine-degrees-below-h000-s08.

There are also thirteen levels of gray: g05, g10, g15, g20, g30, g40, g50, g60, g70, g80, g85, g90, g95. These go from darkest to lightest.

Locations

The cannon location for this repository is:

Mirrors are also available at:

Issues can be reported in any of the three locations (check the mirrors first).

Usage

The primary way of using this is as a Node package.

npm install --only-dev @mfgames/nine-degrees-below

Including as a style

@import "@mfgames/nine-degrees-below/styles/nine-degrees-below-oklch.css";

There are two formats for this file:

  • Using oklch():
    • @mfgames/nine-degrees-below/styles/nine-degrees-below-oklch.css
  • Using hex strings:
    • @mfgames/nine-degrees-below/styles/nine-degrees-below-hex.css

There is also a Sass variant changing .css to .scss.

Style Dictionary

With Style Dictionary, it can be used directly.

// build.ts
import StyleDictionary from "style-dictionary";
import { tokens } from "@mfgames/nine-degrees-below";

const style = new StyleDictionary({
    source: [`src/tokens/**/*.json`],
    tokens,
    platforms: {},
});

Then in your token file:

{
    "theme": {
        "$type": "color",

        "background": {
            "$type": "color",
            "$value": "{color.nine-degrees-below.g90}"
        }
    }
}

The three variable exposed by the package are:

  • tokens is the DTCG color token file
  • tokensHex is a nested JS structure of hex codes, such as color.nine-degrees-below.h000.s10
  • tokensOklch is the same as Hex but with oklch() CSS functions