# Preact vs Stencil

**Leader by Vioscale score:** Preact

| Attribute | Preact | Stencil |
|---|---|---|
| **Vioscale score** | 80.7 (72% (medium)) | 60.9 (71% (medium)) |
| activity.commits_last_30d | 100 | 37 |
| adoption.dependent_repos | 78,992 | 1 |
| adoption.github_stars | 38,834 | 13,126 |
| adoption.package_downloads_weekly | 31,234,030 | 1,375,018 |
| description.long | 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. | A TypeScript-based framework for authoring standards-compliant web components and component libraries that run on any browser or framework without framework dependencies. |
| features.capabilities | `{"paradigm":"Virtual DOM component library","bundle_size":"tiny","ssr_support":true,"virtual_dom":true,"component_model":true,"state_management":true}` | `{"paradigm":"Web component compiler","bundle_size":"tiny","virtual_dom":true,"component_model":true,"typescript_first":true}` |
| language.primary | JavaScript | TypeScript |
| license.spdx | MIT | MIT |
| platform.support | `{"web":true}` | `{"cli":true,"web":true}` |
| pricing | `{"type":"open_source","sourceUrl":"https://preactjs.com/","retrievedAt":"2026-08-13T23:05:09.849Z"}` | - |
| pricing.model | commercial | commercial |
| pricing.price_level | free | - |
| release.cadence_days | 13 | 9 |
| release.history | `[{"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"},{"url":"https://github.com/preactjs/preact/releases/tag/10.26.10","date":"2026-01-06T15:02:47Z","type":"stable","version":"10.26.10"},{"url":"https://github.com/preactjs/preact/releases/tag/10.28.1","date":"2025-12-23T19:22:14Z","type":"stable","version":"10.28.1"},{"url":"https://github.com/preactjs/preact/releases/tag/10.28.0","date":"2025-12-01T17:12:41Z","type":"stable","version":"10.28.0"}]` | `[{"url":"https://github.com/stenciljs/core/releases/tag/v4.44.2","date":"2026-08-26T16:44:04Z","type":"stable","version":"v4.44.2"},{"url":"https://github.com/stenciljs/core/releases/tag/v4.44.1","date":"2026-08-21T11:31:44Z","type":"stable","version":"v4.44.1"},{"url":"https://github.com/stenciljs/core/releases/tag/v4.44.0","date":"2026-08-11T15:07:47Z","type":"stable","version":"v4.44.0"},{"url":"https://github.com/stenciljs/core/releases/tag/v4.43.5","date":"2026-05-28T19:07:17Z","type":"stable","version":"v4.43.5"},{"url":"https://github.com/stenciljs/core/releases/tag/v4.43.4","date":"2026-04-13T12:46:38Z","type":"stable","version":"v4.43.4"},{"url":"https://github.com/stenciljs/core/releases/tag/v4.43.3","date":"2026-04-13T12:44:59Z","type":"stable","version":"v4.43.3"},{"url":"https://github.com/stenciljs/core/releases/tag/v4.43.2","date":"2026-02-27T09:27:22Z","type":"stable","version":"v4.43.2"},{"url":"https://github.com/stenciljs/core/releases/tag/v4.43.1","date":"2026-02-20T17:27:50Z","type":"stable","version":"v4.43.1"},{"url":"https://github.com/stenciljs/core/releases/tag/v4.43.0","date":"2026-02-17T08:52:30Z","type":"stable","version":"v4.43.0"},{"url":"https://github.com/stenciljs/core/releases/tag/v4.42.1","date":"2026-02-06T17:46:42Z","type":"stable","version":"v4.42.1"},{"url":"https://github.com/stenciljs/core/releases/tag/v4.42.0","date":"2026-02-01T23:42:03Z","type":"stable","version":"v4.42.0"},{"url":"https://github.com/stenciljs/core/releases/tag/v4.41.3","date":"2026-01-23T12:35:33Z","type":"stable","version":"v4.41.3"},{"url":"https://github.com/stenciljs/core/releases/tag/v4.41.2","date":"2026-01-16T10:22:43Z","type":"stable","version":"v4.41.2"},{"url":"https://github.com/stenciljs/core/releases/tag/v4.41.1","date":"2026-01-08T23:40:35Z","type":"stable","version":"v4.41.1"},{"url":"https://github.com/stenciljs/core/releases/tag/v4.41.0","date":"2026-01-02T22:24:06Z","type":"stable","version":"v4.41.0"},{"url":"https://github.com/stenciljs/core/releases/tag/v4.40.1","date":"2025-12-23T22:42:57Z","type":"stable","version":"v4.40.1"},{"url":"https://github.com/stenciljs/core/releases/tag/v4.40.0","date":"2025-12-23T10:16:22Z","type":"stable","version":"v4.40.0"},{"url":"https://github.com/stenciljs/core/releases/tag/v4.39.0","date":"2025-12-09T11:03:02Z","type":"stable","version":"v4.39.0"},{"url":"https://github.com/stenciljs/core/releases/tag/v4.38.3","date":"2025-11-05T20:30:11Z","type":"stable","version":"v4.38.3"},{"url":"https://github.com/stenciljs/core/releases/tag/v4.38.2","date":"2025-10-17T19:40:16Z","type":"stable","version":"v4.38.2"}]` |
| security.scorecard | 5.7 | 6.1 |
| security.vulnerabilities | `{"count":2,"source":"https://advisories.ecosyste.ms/api/v1/advisories?ecosystem=npm&package_name=preact&per_page=100","last_12m":1,"max_severity":"HIGH"}` | `{"count":0,"source":"https://advisories.ecosyste.ms/api/v1/advisories?ecosystem=npm&package_name=sam77-test-stencil-component&per_page=100","last_12m":0,"max_severity":null}` |

## Capabilities (Frontend UI Frameworks)

| Capability | Preact | Stencil |
|---|:--:|:--:|
| **Core** |  |  |
| Paradigm | Virtual DOM component library | Web component compiler |
| 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: Vioscale. Generated 2026-09-01T14:39:09.910Z. "-" = undocumented, not absent.*
