mitosis is a free, open source automation project written in TypeScript and released under MIT. It has 14,390 GitHub stars, 672 forks and 176 open issues, and was last pushed 2 months ago. On this registry it ranks #13 of 54 tracked projects in Automation, with 5 head-to-head comparisons available. It gained 5 stars over the last 3 tracked days.

What is mitosis?

What it is

Mitosis is an open-source compiler that lets developers write UI components once in a single codebase and compile them to React, Vue, Angular, Svelte, Solid, Alpine, Qwik, and more. It is a TypeScript project under the MIT license, maintained in the BuilderIO organization, with the repository carrying roughly 14,384 stars and 671 forks across six years of history. The project lives in the JavaScript and TypeScript component ecosystem, and its documentation, playground, and Figma integration are hosted at mitosis.builder.io.

The concrete problem it addresses is framework fragmentation. Teams that ship a design system to consumers on several frameworks must normally maintain a separate implementation per framework, or reach for web components. Mitosis offers a third path: author the component declaratively once, then emit native framework code as build output, which the project presents as a way to avoid the pitfalls of web components. It also connects that pipeline to Figma, so design systems can be generated and kept in sync from design source down to published packages.

Key capabilities

  • Compiles a single component source into React, Vue, Angular, Svelte, Solid, Alpine, Qwik, and other framework targets.
  • Generates native framework code rather than wrapping components in a web component shim.
  • Supports a declarative authoring model, reflected in the declarative and jsx topics on the repository.
  • Integrates with Figma to generate Mitosis components and keep design systems in sync with code.
  • Enables publishing design systems to npm across multiple frameworks from one source.
  • Ships a create command for scaffolding new projects, plus a browser playground for trying components.
  • Carries topics for liquid, shopify, and no-code, indicating compilation aimed at those environments as well.

Who uses it and how

  • Design system teams that need one component library shipped consistently to several frameworks, as in the linked core-web example.
  • Teams that sync a design system from Figma to code and then publish it to npm for each target framework.
  • Developers targeting Shopify and Liquid output, given the shopify and liquid topics on the repository.
  • Builders of no-code and visual tooling, indicated by the no-code and builder topics and the Builder.io affiliation.
  • Contributors looking for entry points, since the README invites newcomers toward good first issues and the Discord.

Getting started

Scaffold a new project with npm create @builder.io/mitosis@latest, then follow the generated README.md walkthrough for building and testing components. Full getting-started documentation, the playground, and the Figma integration guide are available at mitosis.builder.io.

When to use it — and when not to

Mitosis is a strong fit when the same components must exist in several frameworks and the cost of hand-maintaining each copy has become the bottleneck; it is a weaker fit when a project targets only one framework, since the compiler then adds a layer without removing duplicated work. Adopters should expect to operate a Node and Type

project readme (upstream, from github) — read inline


Mitosis logo

Write components once, compile to every framework


code style: prettier PRs Welcome License Types

Overview

Mitosis provides a unified development experience across all frameworks, enabling you to build components in a single codebase and compile them to React, Vue, Angular, Svelte, Solid, Alpine, Qwik, and more.

Using Mitosis, you can:

PS: We are actively looking for folks interested in becoming contributors to Mitosis. If interested, look at our list of good first issues or reach out on our Discord

Gif example of devloping with Mitosis

Quickstart

To create a new Mitosis project from scratch, run the following create command:

npm create @builder.io/mitosis@latest

Once completed, make sure to read the README.md generated in your new project. It will explain the structure of your project, and provide a walkthrough on how to build/test your components.

Read the full getting started docs for more.

Integration with Figma

To make generating Mitosis components easier, as well as to keep your design system in code in sync with your design system in Figma, Mitosis integrates with Figma.

Learn more about our Figma integration.

Demo of using Mitosis with Figma

Resources

Contribute

Interested in contribute? Head over to the CONTRIBUTING docs and see how you can get setup & started!

Once you're ready, checkout our issues page and grab your first issue!



Made with love by Builder.io

Frequently asked questions

Is mitosis free to use?

mitosis is open source under the MIT licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does mitosis do?

Write components once, run everywhere. Compiles to React, Vue, Qwik, Solid, Angular, Svelte, and more.

What is mitosis written in?

mitosis is primarily written in TypeScript. Its source is publicly available at https://github.com/BuilderIO/mitosis, and it has 14,390 GitHub stars.