The original version of this spec can be found at chriskempson/base16. The document is reproduced here for both convenience and archival purposes. We have made minor formatting changes to improve readability, content changes to reflect how these guidelines are applied in practice, and added an example.
Version 0.4.2
Base16 aims to group similar language constructs with a single color. For example, floats, ints, and doubles would belong to the same colour group. The colors for the default scheme were chosen to be easily separable, but scheme designers should pick whichever colours they desire, e.g. base0B
(green by default) could be replaced with red. There are, however, some general guidelines below that stipulate which base0B
should be used to highlight each construct when designing templates for editors.
Since describing syntax highlighting can be tricky, please see base16-vim and base16-emacs for reference. Though it should be noted that each editor will have some discrepancies due the fact that editors generally have different syntax highlighting engines.
Colors base00
to base07
are typically variations of a shade and run from darkest to lightest for dark themes. These colors are used for foreground and background, status bars, line highlighting and such. Colors base08
to base0F
are typically individual colors used for types, operators, names and variables. In order to create a dark scheme, colors base00
to base07
should span from dark to light. For a light scheme, these colours should span from light to dark.
We offer guidelines for both dark and light themes:
- Colours from
base00
tobase07
should range from dark to light.
- Colours from
base00
tobase07
should range from light to dark.
Each colour (base0X) serves a specific purpose or use case, such as background, foreground, variables, errors, etc. Here's a breakdown using the "One Dark" scheme colors:
Notes:
- These are just guidelines and will most often provide best results when the they are followed.
- Items in parenthesis in the Terminal column do not have an identified terminal use and are a more generic colour description.
ayu-dark.yaml
system: "base16"
name: "Ayu Dark"
author: "Khue Nguyen <Z5483Y@gmail.com>"
variant: "dark"
palette:
base00: "0f1419" # ---- dark
base01: "131721" # ---
base02: "272d38" # --
base03: "3e4b59" # -
base04: "bfbdb6" # +
base05: "e6e1cf" # ++
base06: "e6e1cf" # +++
base07: "f3f4f5" # ++++ light
base08: "f07178" # red
base09: "ff8f40" # orange
base0A: "ffb454" # yellow
base0B: "b8cc52" # green
base0C: "95e6cb" # cyan
base0D: "59c2ff" # blue
base0E: "d2a6ff" # purple
base0F: "e6b673" # brown
SPEC END