Skip to content
A multi-brand design system

One design system.
Every brand.

One set of components, tokens and rules that adapts to any brand, language and direction.

Get started
npminstallsyntara

Below, the Hero component cycles through its four styles, each in a different brand and that brand’s language: Gallery in Haat (Hindi), Orbit in Qamar (Arabic), Aurora in Care (English), Card fan in Harbor (English).

Intro

Syntara takes six brand inputs: a primary colour, an accent, a neutral, a shape, a type pair and a density. From them it builds a complete light and dark theme.

Every colour pair it makes is checked against WCAG 2.2 AA before it ships. When a brand can’t pass, the engine adjusts the colour. It never rounds a ratio up.

The same React components render every brand: right to left, Devanagari and editorial serifs included. A brand is data, not code.

Core features

One library for every brand you ship.

Components, themes, contrast checks and an agent-readable spec, all generated from the same files, so they never drift apart.

Components

Layout

  • Card

    beta

    A surface that groups related content and actions.

  • Footer

    alpha

    A site footer: an oversized wordmark cut off by a hairline horizon and lit from one corner, over an aside and columns of links.

  • Hero

    alpha

    The opening section of a website page: a big headline, a sentence and what to do next, over a moving decoration in the brand's colours. Follows the page's light or dark scheme, or stays dark with scheme="dark". Styles: aurora, orbit, gallery, cards.

  • Separator

    alpha

    A hairline between groups of content, optionally with a short label such as "or".

  • Theme Scope

    alpha

    Applies a Syntara theme, colour scheme and density to everything inside it.

The components index, in the brand picked in the sidebar. Every card is the real component, scaled down.

What you get

Set it up once. Every brand follows.

Write a brand in one small file. Syntara does the colour maths, the dark theme and the accessibility checks, and stays out of your way after that.

The theme engine

Six inputs. A whole theme.

Pick a brand. Buttons, cards, focus rings and type all change together, in light and dark, and every colour pair is checked before it is used.

Try it: the card is live.

Good morning, Priya

Here’s how your money is moving this September.

Every script

Right to left, and Devanagari, by default.

Layouts use logical properties, so a right-to-left brand mirrors without a single override, and each type pair carries the fonts its script needs.

Switch the language on the card.

Vela, October 2026

27
28
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
For agents

Read by your agents, not guessed at.

Every component is described once, in a meta.json file. The docs, the MCP server and the drift checker all read that file, so an agent builds with the rules you wrote.

@syntara/mcp, on npm.

Add a payout settings form for Harbor.

Using Switch, Slider and Button. Switches take effect at once, so the only button is Save limit, for the slider.

Will it pass contrast in dark mode?

Harbor’s dark theme was checked pair by pair when it was built, so yes.

Install

Start in a minute. Free and open source.

Tokens

Any stack

Your brand as CSS variables, design tokens or Figma variables. No React needed.

npminstall@syntara/tokens
  • CSS custom properties
  • DTCG design tokens
  • Figma variables
  • Light and dark
Everything

One install

Every component, the icon set, the tokens for every brand and the theme engine.

npminstallsyntara
  • Components built on React Aria
  • The Syntara icon set
  • Tokens for every brand, light and dark
  • The theme engine
  • One stylesheet: syntara/styles.css
Agents

MCP server

Give your coding agent the components, their rules and your brands.

npminstall@syntara/mcp
  • Read-only, runs locally
  • Reads meta.json at request time
  • Works with any MCP client
  • Drift checks in @syntara/audit
FAQ

Answers to the questions that come up most.

What Syntara is, what it isn’t, and where the honest edges are.

Still have a question?

Open an issue on GitHub. A person reads every one.

Ask on GitHub →

Yes. npm install syntara installs everything an app needs in one go: the components, the icon set, the tokens for every brand and the theme engine. The eight @syntara packages it is built from are published on their own too, along with the server-driven UI schema, the auditor, the MCP server and the codemods. Or copy a component’s .tsx and .module.css into your project and load the token CSS once at the app root.

Your brand is one file away.

Six inputs in a JSON file. Syntara builds the rest: themes, tokens, components and checks.

Get started