Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Design systems
  3. Theo

Theo

BSD-3-ClauseJavaScriptv8.1.5

A tool for transforming and formatting design tokens into platform-specific code.

GitHubGitHub
2.0k stars120 forks0 contributors

What is Theo?

Theo is a Node.js library that transforms and formats design tokens—centralized design values like colors and spacing—into platform-specific code. It solves the problem of maintaining consistent design implementation across different platforms (web, iOS, Android) by providing a single source of truth for design properties. Developers define tokens once in JSON or YAML, then use Theo to generate appropriate outputs for each target environment.

Target Audience

Design system engineers, frontend developers, and cross-platform development teams who need to maintain consistent design implementation across multiple platforms and frameworks.

Value Proposition

Developers choose Theo for its extensive built-in format support, extensible transformation pipeline, and adherence to a clear design token specification. Its ability to handle complex value transforms and generate documentation makes it particularly valuable for mature design systems.

Overview

Theo is a an abstraction for transforming and formatting Design Tokens

Use Cases

Best For

  • Generating platform-specific style code from a single design token source
  • Building design systems that need outputs for web, iOS, and Android
  • Creating living style guides with automatically generated documentation
  • Converting design tokens into CSS custom properties or preprocessor variables
  • Managing complex design token aliases and imports across projects
  • Extending design token pipelines with custom transforms and formats

Not Ideal For

  • Projects needing real-time design token updates without a build step, such as live style guides or dynamic theming in SPAs
  • Teams already using alternative design token tools like Style Dictionary with native W3C spec support
  • Small-scale applications targeting only one platform where CSS custom properties or env variables would suffice

Pros & Cons

Pros

Multi-Platform Transforms

Predefined transforms for web, iOS, and Android automatically handle value conversions like color to RGB or pixel adjustments, ensuring cross-platform consistency with minimal configuration.

Extensive Format Library

Ships with over 15 output formats including SCSS, CSS custom properties, JSON variants, and HTML documentation, reducing the need for custom formatters in most use cases.

High Customizability

Allows registration of custom value transforms and formats using JavaScript functions or Handlebars templates, enabling tailored outputs for unique project requirements.

Robust Alias System

Supports token aliases and imports in YAML/JSON files, facilitating modular and reusable token definitions across large design systems, with automatic resolution.

Cons

Complex Initial Setup

Requires understanding of the design token spec and configuration of transforms/formats, which can be daunting for teams new to token-based workflows, as evidenced by the detailed API and spec documentation.

Static Generation Focus

Primarily designed for build-time token generation; lacks built-in support for dynamic updates or real-time integrations, limiting use in live design tool environments.

Ecosystem Fragmentation

Key integrations like the gulp plugin are separate packages since v6, indicating potential breaking changes and added maintenance overhead for existing users.

Frequently Asked Questions

Quick Stats

Stars1,992
Forks120
Contributors0
Open Issues22
Last commit10 months ago
CreatedSince 2014

Tags

#platform-agnostic#frontend-tooling#css-preprocessors#node-js#design-tokens#style-guide#build-tool#design-systems

Built With

Y
YAML
I
Immutable.js
h
handlebars
N
Node.js

Included in

Design systems831
Auto-fetched 1 day ago

Related Projects

Style DictionaryStyle Dictionary

A build system for creating cross-platform styles.

Stars4,605
Forks617
Last commit1 day ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub