OpenStation logomark OpenStation
Changelog

Brand
Guidelines

OpenStation · Visual Identity Reference

Logo
Wordmark
Icon
Holoversion Chip
Color
Pulse HEX #E94FF3 RGB 233, 79, 243 HSL 296, 87, 63
Nebula HEX #EC9BFF RGB 236, 155, 255 HSL 289, 100, 80
Starlight HEX #FFFBFF RGB 255, 251, 255 HSL 300, 100, 99
Sirius HEX #9AF2FF RGB 154, 242, 255 HSL 188, 100, 80
Lagoon HEX #9F98FF RGB 159, 152, 255 HSL 244, 100, 80
Void HEX #0C0B0F RGB 12, 11, 15 HSL 255, 15, 5
Obsidian HEX #1A1721 RGB 26, 23, 33 HSL 258, 18, 11
Holomesh Type Mesh gradient Colors Lavender, Pink, Cyan, Mint Style Holographic Use Backgrounds and CTAs, never behind the logo Download
Pulsemesh Type Mesh gradient Colors Magenta, Pink, Cyan, White Style Pulsar Download
Auromesh Type Mesh gradient Colors Lavender, Mint, Cyan Style Aurora Download
Starmesh Type Mesh gradient Colors White, Silver Style Stellar Download
Voidmesh Type Mesh gradient Colors Black, Obsidian Style Void · formerly Space Download
Galaxy Type Nebula + starfield Colors Void, Nebula glows, Starlight Style Hero background Download
Shade palette · grays
Void#0C0B0F
Obsidian#1A1721
Astro#33303A
Silver#4D4A52
Pewter#66636B
Osmium#99969C
Ash#B3AFB5
Cloud#CCC8CE
Mist#E6E2E6
Starlight#FFFBFF
Ratios and rules land here: Void as the base, Obsidian for surfaces, Pulse and Nebula for identity moments, Sirius, Lagoon and Starlight for contrast, the Shade palette for text hierarchy and lines, meshes reserved for hero surfaces.
The fonts & typefaces
AaAa

AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz

1234567890 +/@&!?()

Bold Medium Regular Light
Geist Mono DOCKING_COMPLETE
SPACE_03 ACTIVE

Geist & Geist Mono

Geist carries everything human: headlines, UI copy, body text. Set it tight at display sizes and regular for reading.

Geist Mono carries everything the station says about itself: labels, metadata, statuses, coordinates. Small, uppercase, letterspaced.

Geist Sans
Display72px · Medium 500 · 1.3
H148px · SemiBold 600 · 1.3
H236px · SemiBold 600 · 1.3
H330px · SemiBold 600 · 1.3
H424px · Medium 500 · 1.3
H520px · Medium 500 · 1.3
Body Large18px · Regular 400 · 1.5
Body16px · Regular 400 · 1.5
Body Small14px · Regular 400 · 1.5
Caption13px · Regular 400 · 1.3
Geist Mono
Display72px · Light 300 · 1.3
H148px · Bold 700 · 1.3
H236px · Regular 400 · 1.3
H330px · Regular 400 · 1.3
Body Large18px · Regular 400 · 1.5
Body16px · Regular 400 · 1.5
Body Small14px · Regular 400 · 1.5
Caption13px · Regular 400 · 1.3
Mio

Meet Mio. A small ghost blob that lives aboard the station: it glows in Pulse, drifts between windows, and shows up where the interface has something to say. It carries its own gradient, Miomesh, from Pulse into deep blue. Eight explorations so far.

Mio exploration: Luna, a rounded blob
Luna
Mio exploration: Cometa, a comet
Cometa
Mio exploration: Órbita, a blob with an orbit ring
Órbita
Mio exploration: Eclipse, a squashed rounded O
Eclipse
Mio exploration: Alba, a rounded bell
Alba
Mio exploration: Nube, a soft scallop
Nube
Mio exploration: Asteroide, a pebble
Asteroide
Mio exploration: Gotita, a compact droplet
Gotita
Miomesh · Mio's gradient
Pulse #E94FF3 · #AA67FF · #A580FF · #4B3EFF Download
Merch
Holographic logomark stickers in rounded square and circle die cuts
Holographic stickers · logomark
Enamel pins with the holographic logomark on black
Enamel pins · logomark
Mio stickers and enamel pins with neon holographic rims
Stickers + pins · Mio
Imagery

Deep space, engineered calm, gradients over photography. The product shows up on the Galaxy backdrop; the marks travel on their chips; the meshes do the color work.

wordpress.org plugin banner: Your wp-admin, now a desktop, product windows over the Galaxy background
wordpress.org · plugin banner
X profile mockup with the Holomesh header
Social · X · Holomesh
X profile mockup with the Pulsemesh header
Social · X · Pulsemesh
X profile mockup with the Galaxy header
Social · X · Galaxy
Usage examples
In the product
Wallpaper
OpenStation
Shell
Iconography

Thirty icons, and only eleven of them are ours. Core owns the verbs and OpenStation owns the nouns: save, search, trash and settings come from @wordpress/icons and look the way they do in every other WordPress screen the user has ever seen. We draw one only when the thing exists because this is a desktop and wp-admin is not. A window you can drag is not a WordPress concept; a save button is.

So the set speaks two languages, deliberately. Core's are filled, with square joins. Ours are monoline, on a 24 by 24 grid with a 17.5 live area, one 1.5 stroke, round caps and joins, and a corner radius of 2, the same value Core uses. Redrawing a Core icon in our hand would stop it being recognisable as the Core icon, which was the whole reason for taking it. Nothing carries a color of its own: everything is currentColor, so the same file works on Void and on Starlight and picks up whatever text color surrounds it. The only filled shapes among ours are dots and the spark. The spark is the brand sparkle and stays solid, because outlined it collapses at 16 px.

  • Ours11, monoline
  • Core's19, filled
  • Grid24 × 24
  • Live area17.5 × 17.5
  • Stroke1.5, round caps and joins
  • Corners2, matching Core
  • ColorcurrentColor, never hardcoded
  • Sizes16, 20, 24, 32, 48
16 px
20 px
24 px
32 px
48 px

One drawing, five sizes. Below 16 px the set stops working: scale the icon, never the stroke.

The station · The product's own vocabulary. Ours to draw, because none of it exists in wp-admin.
window
windows
dock
spaces
apps
command
widgets
snap
copilot
user
lock
Window controls · What sits in the window chrome. Core's, so a window behaves like the rest of WordPress.
close
minimize
maximize
pin
Navigation · Moving around and getting out. Core's every one.
search
chevron-right
arrow-up-right
more
Actions · The everyday verbs, which Core owns outright.
plus
check
edit
trash
download
settings
color
wallpaper
Status · What the interface has to say. Core's, so a notice reads the same everywhere.
info
warning
bell
Using them

One SVG per icon in assets/icons/, plus a sprite that holds the set. Reference an icon by name and it inherits the surrounding text color. Dropped in with <img> it cannot inherit anything and renders black, so inline it or use the sprite whenever color matters. Inside the plugin the same thirty arrive as osIconSvg( 'window' ), and Core's nineteen are also reachable from PHP as wp_get_icon() on WordPress 7.1.

<svg width="24" height="24" aria-hidden="true">
  <use href="assets/icons/openstation-icons.svg#os-window"/>
</svg>
Drawing a new one

Start from an existing icon rather than a blank grid. Keep the shape inside the live area, keep the stroke at 1.5, and let shapes touch the edge of the live area rather than floating in the middle. If a glyph needs a second element to be readable, it is usually two icons.

Icons & WordPress Core

Core owns the verbs, OpenStation owns the nouns. Nineteen of the thirty come from @wordpress/icons, the GPL set behind WordPress 7.1’s wp_get_icon(). The other eleven are drawn here, because they only exist once /wp-admin is a desktop: window, windows, dock, spaces, copilot, snap, command, apps, widgets, user and lock. When a new icon is needed, take it from Core if the concept is already there and draw one only if it is not. Core’s share grows as the product does.

Voice & copy
Tone of voice, naming rules for features (Spaces, Dock, Palette), and do / don't copy pairs land here.
Changelog
DateChange
Aug 20, 2026 Iconography now shows the set as it actually is: eleven monoline icons that are ours and nineteen filled ones from WordPress, each cell labelled with which. The drawings were still the pre-adoption ones, all thirty in our own hand. Live area corrected to 17.5, and the command palette is command now, so the palette slot takes Core's own name, color.
Aug 13, 2026 Mapped the icon set onto WordPress Core: nineteen of the thirty now come from @wordpress/icons and eleven stay ours. Corner radius tightened from 2.5 to 2 to match Core. Added the full icon inventory as a nested page.
Aug 12, 2026 Added the icon set: thirty monoline icons on a 24 grid, drawn in currentColor, shipped as one SVG per icon plus a sprite. Replaces the placeholder glyphs in Iconography.
Aug 5, 2026 Brought the type scale in line with the Figma text styles: Geist Display is now Medium 500 and H1 SemiBold 600, Caption moves to 13px, both families carry Body Large / Body / Body Small, and line height is 1.3 with 1.5 on the body sizes.
Aug 4, 2026 Rebalanced the logo lockup so the wordmark reads proportional to the mark, and darkened Pulse so it clears contrast minimums, with the meshes updated to match.
Licensing & open source
For agents & tooling

Machine-readable brand data lives next to this page. Point an AI agent or a build tool at either file and it has the whole system: colors, type, radii, assets, rules.

And a small human shortcut: every solid tile and gray swatch in the Color section copies its HEX on click.