Unframework is the compiler that speaks seven UI frameworks: write a component once, and it compiles to native React, Vue, Svelte, Angular, Solid, Qwik and Astro code, and to whichever faster framework comes next, with no migration.
Unframework is part of UXFront, written and maintained by @alexgrozav.
Homepage
·
Documentation
·
Contributing
·
Issue Tracker
- How it works
- The eighth framework
- Status
- Part of UXFront
- Bugs and feature requests
- Contributing
- Creator
- Copyright
One beam of light goes into a prism and comes out as seven. Unframework does the same with your components: one source goes into the compiler and comes out as seven frameworks.
- Source: one component is the source of truth for every framework. Change it in one place, and all seven get the change on the next build. One source, no drift, one standard, agent-ready.
- Compiler: the compiler reads what your component does, then writes it the way each framework expects: hooks in React, refs in Vue, runes in Svelte, signals in Solid. Idiomatic, consistent, build-time, deterministic.
- Output: each framework gets a real component in its own format, typed and readable, with no wrapper or adapter in between. React, Vue, Svelte, Angular, Solid, Qwik and Astro.
Props, events and slots keep their names in every framework, so a component reads the same wherever you use it. Meet the Open Components standard once, and every output meets it.
AI is speeding everything up, and a faster framework is always around the corner. When it lands, it's one more compile target: your components move on the next build, not in a migration.
- No migration: a new framework is a new compile target, not a rewrite of every component.
- No bet to make: don't guess which framework wins. Your components go where it goes.
- Side by side: ship the old framework and the new one from the same source while you move.
- On your schedule: switch when the numbers say so, not when a rewrite fits the roadmap.
Unframework is in early development, and the compiler isn't published yet. The walking skeleton is in place: the compiler's pipeline, and the verification machine that checks every case on all seven frameworks, from golden output and each framework's own compiler and type checker to server HTML, the DOM, the accessibility tree and pixels in a real browser. Watch this repository to hear when the first release lands, and read the documentation as it grows with it.
Unframework is one of the UXFront projects, which share one foundation:
- Open Components: the standard for perfect UI components.
- Styleframe: the styling engine.
- Inkline: the UI library.
Found a bug, or have an idea for the compiler or a framework it should speak? Please first search for existing and closed issues. If your problem or idea is not addressed yet, please open a new issue.
Please read through our contributing guide. There you can find how the monorepo is laid out, how to run the site locally, how to add a package and how releases work. Everyone taking part in the project agrees to follow our Code of Conduct.
Thanks goes to these wonderful people!
If you use Unframework in your daily work and feel that it has made your life easier, please consider sponsoring me on GitHub Sponsors. 💖
Copyright © 2026 UXFront.