# Headless UI vs Preact

**Leader by vioscaleAI score:** Preact

| Attribute | Headless UI | Preact |
|---|---|---|
| **vioscaleAI score** | 67.4 (57% (medium)) | 77.9 (72% (medium)) |
| activity.commits_last_30d | - | 70 |
| adoption.dependent_repos | 45,352 | 78,992 |
| adoption.github_stars | 28,775 | 38,926 |
| adoption.package_downloads_weekly | 7,496,681 | 38,692,983 |
| content.faq | `[{"answer":"Open-source library of fully accessible UI components designed to be completely unstyled, providing seamless integration with Tailwind CSS It is indexed under Frontend UI Frameworks.","source":"https://headlessui.com/","question":"What is Headless UI?","confidence":0.6},{"answer":"Headless UI is open source, so it can be self-hosted and used at no licence cost. It is released under the MIT licence. Pricing changes often, so verify at source before relying on it.","source":"https://headlessui.com/","question":"Is Headless UI free to use?","confidence":0.6},{"answer":"We have confirmed browser-based access to Headless UI. That is the extent of what we could verify from public sources, so it may well offer desktop or mobile clients we have not indexed.","source":"https://headlessui.com/","question":"What platforms does Headless UI support?","confidence":0.6},{"answer":"We have confirmed 3 integrations for Headless UI, including React, Vue and Tailwind CSS. This is what we could verify from public sources, so the vendor may support others we have not indexed.","source":"https://headlessui.com/","question":"What does Headless UI integrate with?","confidence":0.6},{"answer":"Yes. Headless UI is published under the MIT licence, a permissive licence that generally allows commercial use and modification. Licence terms can change between releases, so verify against the repository for the version you intend to use.","source":"https://github.com/tailwindlabs/headlessui","question":"Is Headless UI open source?","confidence":0.99}]` | `[{"answer":"A minimal virtual DOM library that provides a React-compatible API with significantly reduced file size. Preact delivers performance-focused component development without the overhead of traditional frameworks. It is indexed under Frontend UI Frameworks.","source":"https://preactjs.com/","question":"What is Preact?","confidence":0.6},{"answer":"Preact is open source, so it can be self-hosted and used at no licence cost. It is released under the MIT licence. Pricing changes often, so verify at source before relying on it.","source":"https://preactjs.com/","question":"Is Preact free to use?","confidence":0.6},{"answer":"We have confirmed browser-based access to Preact. That is the extent of what we could verify from public sources, so it may well offer desktop or mobile clients we have not indexed.","source":"https://preactjs.com/","question":"What platforms does Preact support?","confidence":0.6},{"answer":"Yes. Preact is published under the MIT licence, a permissive licence that generally allows commercial use and modification. Licence terms can change between releases, so verify against the repository for the version you intend to use.","source":"https://github.com/preactjs/preact","question":"Is Preact open source?","confidence":0.99}]` |
| description.long | Provides unstyled, fully accessible UI components that you can style using utility classes from Tailwind CSS | A minimal virtual DOM framework providing React-style components and APIs, optimized for tiny bundle size and fast performance across modern browsers. |
| features.capabilities | `{"paradigm":"Headless component library","bundle_size":"tiny","ssr_support":true,"virtual_dom":true,"component_model":true}` | `{"paradigm":"Virtual DOM component library","bundle_size":"tiny","ssr_support":true,"virtual_dom":true,"component_model":true,"router_official":true,"state_management":true}` |
| integrations.count | 3 | - |
| integrations.list | `[{"name":"React"},{"name":"Vue"},{"name":"Tailwind CSS"}]` | - |
| language.primary | TypeScript | JavaScript |
| license.spdx | MIT | MIT |
| platform.support | `{"web":true}` | `{"web":true}` |
| pricing | `{"type":"open_source","freeTier":true,"sourceUrl":"https://headlessui.com/","retrievedAt":"2026-08-13T23:00:21.344Z"}` | `{"type":"open_source","freeTier":true,"sourceUrl":"https://preactjs.com/","retrievedAt":"2026-10-13T13:50:36.035Z"}` |
| pricing.free_tier | yes | yes |
| pricing.model | commercial | open_source |
| pricing.price_level | free | free |
| release.cadence_days | 12 | 13 |
| release.history | `[{"url":"https://github.com/tailwindlabs/headlessui/releases/tag/%40headlessui/react%40v2.2.10","date":"2026-04-07T17:11:30Z","type":"stable","version":"@headlessui/react@v2.2.10"},{"url":"https://github.com/tailwindlabs/headlessui/releases/tag/%40headlessui/react%40v2.2.9","date":"2025-09-25T13:51:49Z","type":"stable","version":"@headlessui/react@v2.2.9"},{"url":"https://github.com/tailwindlabs/headlessui/releases/tag/%40headlessui/react%40v2.2.8","date":"2025-09-12T15:34:21Z","type":"stable","version":"@headlessui/react@v2.2.8"},{"url":"https://github.com/tailwindlabs/headlessui/releases/tag/%40headlessui/react%40v2.2.7","date":"2025-07-30T14:04:23Z","type":"stable","version":"@headlessui/react@v2.2.7"},{"url":"https://github.com/tailwindlabs/headlessui/releases/tag/%40headlessui/react%40v2.2.6","date":"2025-07-24T14:50:04Z","type":"stable","version":"@headlessui/react@v2.2.6"},{"url":"https://github.com/tailwindlabs/headlessui/releases/tag/%40headlessui/react%40v2.2.5","date":"2025-07-23T11:23:56Z","type":"stable","version":"@headlessui/react@v2.2.5"},{"url":"https://github.com/tailwindlabs/headlessui/releases/tag/%40headlessui/react%40v2.2.4","date":"2025-05-20T14:17:25Z","type":"stable","version":"@headlessui/react@v2.2.4"},{"url":"https://github.com/tailwindlabs/headlessui/releases/tag/%40headlessui/react%40v2.2.3","date":"2025-05-12T21:49:39Z","type":"stable","version":"@headlessui/react@v2.2.3"},{"url":"https://github.com/tailwindlabs/headlessui/releases/tag/%40headlessui/react%40v2.2.2","date":"2025-04-17T13:18:58Z","type":"stable","version":"@headlessui/react@v2.2.2"},{"url":"https://github.com/tailwindlabs/headlessui/releases/tag/%40headlessui/react%40v2.2.1","date":"2025-04-04T14:48:26Z","type":"stable","version":"@headlessui/react@v2.2.1"},{"url":"https://github.com/tailwindlabs/headlessui/releases/tag/%40headlessui/tailwindcss%40v0.2.2","date":"2025-02-06T13:22:42Z","type":"stable","version":"@headlessui/tailwindcss@v0.2.2"},{"url":"https://github.com/tailwindlabs/headlessui/releases/tag/%40headlessui/react%40v2.2.0","date":"2024-10-25T13:52:27Z","type":"stable","version":"@headlessui/react@v2.2.0"},{"url":"https://github.com/tailwindlabs/headlessui/releases/tag/%40headlessui/react%40v2.1.10","date":"2024-10-10T18:58:56Z","type":"stable","version":"@headlessui/react@v2.1.10"},{"url":"https://github.com/tailwindlabs/headlessui/releases/tag/%40headlessui/react%40v2.1.9","date":"2024-10-03T09:58:43Z","type":"stable","version":"@headlessui/react@v2.1.9"},{"url":"https://github.com/tailwindlabs/headlessui/releases/tag/%40headlessui/react%40v2.1.8","date":"2024-09-12T10:36:03Z","type":"stable","version":"@headlessui/react@v2.1.8"},{"url":"https://github.com/tailwindlabs/headlessui/releases/tag/%40headlessui/react%40v2.1.7","date":"2024-09-11T15:33:57Z","type":"stable","version":"@headlessui/react@v2.1.7"},{"url":"https://github.com/tailwindlabs/headlessui/releases/tag/%40headlessui/vue%40v1.7.23","date":"2024-09-09T09:07:12Z","type":"stable","version":"@headlessui/vue@v1.7.23"},{"url":"https://github.com/tailwindlabs/headlessui/releases/tag/%40headlessui/react%40v2.1.6","date":"2024-09-09T19:15:42Z","type":"stable","version":"@headlessui/react@v2.1.6"},{"url":"https://github.com/tailwindlabs/headlessui/releases/tag/%40headlessui/react%40v2.1.5","date":"2024-09-04T14:37:47Z","type":"stable","version":"@headlessui/react@v2.1.5"},{"url":"https://github.com/tailwindlabs/headlessui/releases/tag/%40headlessui/react%40v2.1.4","date":"2024-09-03T15:26:48Z","type":"stable","version":"@headlessui/react@v2.1.4"}]` | `[{"url":"https://github.com/preactjs/preact/releases/tag/11.0.1","date":"2026-10-08T08:28:17Z","type":"stable","version":"11.0.1"},{"url":"https://github.com/preactjs/preact/releases/tag/11.0.0","date":"2026-09-30T13:09:07Z","type":"stable","version":"11.0.0"},{"url":"https://github.com/preactjs/preact/releases/tag/11.0.0-rc.2","date":"2026-09-08T09:03:07Z","type":"prerelease","version":"11.0.0-rc.2"},{"url":"https://github.com/preactjs/preact/releases/tag/11.0.0-rc.1","date":"2026-08-26T07:49:33Z","type":"prerelease","version":"11.0.0-rc.1"},{"url":"https://github.com/preactjs/preact/releases/tag/11.0.0-rc.0","date":"2026-08-10T06:17:58Z","type":"prerelease","version":"11.0.0-rc.0"},{"url":"https://github.com/preactjs/preact/releases/tag/10.29.8","date":"2026-08-01T09:57:31Z","type":"stable","version":"10.29.8"},{"url":"https://github.com/preactjs/preact/releases/tag/11.0.0-beta.2","date":"2026-07-15T16:46:28Z","type":"prerelease","version":"11.0.0-beta.2"},{"url":"https://github.com/preactjs/preact/releases/tag/10.29.7","date":"2026-07-08T17:33:42Z","type":"stable","version":"10.29.7"},{"url":"https://github.com/preactjs/preact/releases/tag/10.29.6","date":"2026-07-08T07:34:46Z","type":"stable","version":"10.29.6"},{"url":"https://github.com/preactjs/preact/releases/tag/10.29.5","date":"2026-07-07T16:51:01Z","type":"stable","version":"10.29.5"},{"url":"https://github.com/preactjs/preact/releases/tag/10.29.4","date":"2026-07-03T10:58:50Z","type":"stable","version":"10.29.4"},{"url":"https://github.com/preactjs/preact/releases/tag/10.29.3","date":"2026-06-26T05:16:07Z","type":"stable","version":"10.29.3"},{"url":"https://github.com/preactjs/preact/releases/tag/10.29.2","date":"2026-05-17T09:58:18Z","type":"stable","version":"10.29.2"},{"url":"https://github.com/preactjs/preact/releases/tag/10.29.1","date":"2026-04-03T10:43:40Z","type":"stable","version":"10.29.1"},{"url":"https://github.com/preactjs/preact/releases/tag/10.29.0","date":"2026-03-10T18:28:07Z","type":"stable","version":"10.29.0"},{"url":"https://github.com/preactjs/preact/releases/tag/10.28.4","date":"2026-02-19T07:15:06Z","type":"stable","version":"10.28.4"},{"url":"https://github.com/preactjs/preact/releases/tag/11.0.0-beta.1","date":"2026-02-15T10:10:26Z","type":"prerelease","version":"11.0.0-beta.1"},{"url":"https://github.com/preactjs/preact/releases/tag/10.28.3","date":"2026-01-31T09:58:48Z","type":"stable","version":"10.28.3"},{"url":"https://github.com/preactjs/preact/releases/tag/10.28.2","date":"2026-01-06T14:51:37Z","type":"stable","version":"10.28.2"},{"url":"https://github.com/preactjs/preact/releases/tag/10.27.3","date":"2026-01-06T14:59:45Z","type":"stable","version":"10.27.3"}]` |
| security.scorecard | 4.2 | 5.8 |
| security.vulnerabilities | `{"count":0,"source":"https://advisories.ecosyste.ms/api/v1/advisories?ecosystem=npm&package_name=%40headlessui%2Freact&per_page=100","last_12m":0,"max_severity":null}` | `{"count":2,"source":"https://advisories.ecosyste.ms/api/v1/advisories?ecosystem=npm&package_name=preact&per_page=100","last_12m":1,"max_severity":"HIGH"}` |

## Capabilities (Frontend UI Frameworks)

| Capability | Headless UI | Preact |
|---|:--:|:--:|
| **Core** |  |  |
| Paradigm | Headless component library | Virtual DOM component library |
| Reusable component model | ✓ | ✓ |
| **Rendering** |  |  |
| Virtual DOM | ✓ | ✓ |
| Signals / fine-grained reactivity | - | - |
| SSR support | ✓ | ✓ |
| **DX** |  |  |
| First-class TypeScript | - | - |
| **State** |  |  |
| Built-in state management | - | ✓ |
| **Ecosystem** |  |  |
| Official router | - | ✓ |
| **Performance** |  |  |
| Runtime size | Tiny (<10kb) | Tiny (<10kb) |

*Source: vioscaleAI. Generated 2026-10-16T19:22:06.978Z. "-" = undocumented, not absent.*
