Preact earns its place by doing one thing precisely: delivering React's component model and API in about 3kB. For widgets, embeds, and size-sensitive apps, that win is real and measurable. The preact/compat shim makes migration plausible, though edge cases surface with libraries that reach into React internals. Remix v3 building on a Preact fork is a notable vote of confidence. For teams who want React's mental model at a fraction of the bytes, Preact is a solid choice.
- Core runtime is roughly 3kB gzipped, a fraction of React's size
- preact/compat runs much of the React ecosystem with an alias
- Signals offer fine-grained reactive state as a first-party library
- No build step required, drops into a page as a script
- MIT-licensed and self-hostable with zero vendor lock-in
- preact/compat has edge cases vs React for some libraries
- Smaller ecosystem and community than React
- Signals are opt-in, not part of the core model
- Version 11 (Hydration 2.0) is still beta, not production-ready
Preact is a fast, lightweight alternative to React that ships the same modern component API in roughly 3kB gzipped. It targets developers who want React’s mental model (components, hooks, virtual DOM) without React’s runtime footprint, and it can stand in for React directly through the preact/compat alias.
Where it fits
Preact is the React-compatible choice when bundle size is a first-class constraint. The core runtime is about 3kB gzipped, so it shines in places where every byte ships to the user: embeddable widgets, third-party scripts injected into host pages, marketing pages with tight performance budgets, and progressive-enhancement islands. Through the preact/compat layer, it exposes the same API surface as React, so teams can write familiar JSX, hooks, and context, then alias React imports to Preact at build time.
It also fits teams migrating an existing React app that has outgrown its byte budget. The framework now anchors a wider story: Remix v3 is built on a Preact fork, signaling that Preact’s smaller core is viable as the base of a full meta-framework, not just a drop-in for leaf components.
Cost to adopt
Preact is free, open source, and MIT-licensed, with no paid tier and nothing to host beyond your own app. The real cost is compatibility nuance. preact/compat covers the common React surface, but libraries that depend on React internals or exact reconciler behavior can hit edge cases that require shims or patches. The ecosystem is smaller than React’s, so fewer prebuilt components and integrations are available out of the box. The size win matters most for code that ships to many users on constrained networks. For a heavy internal dashboard where bundle size is not the bottleneck, the savings may not justify the compatibility caveats.
How it compares
React, the framework Preact mirrors. React has the larger ecosystem and reference implementation. Pick Preact when bundle size beats ecosystem breadth.
Solid, a fine-grained reactive framework with no virtual DOM. Solid is faster on raw updates but uses a different model. Pick Preact for React API familiarity.
Svelte, a compiler-first framework that ships minimal runtime. Svelte trades JSX for its own syntax. Pick Preact when you want to keep React-style JSX and hooks.
What changed recently
Preact shipped 10.29.2 on 2026-05-17, the latest in a steady 10.x line that landed flushSync (10.29.0) and a series of hydration and effect-render fixes through early 2026. Signals, Preact’s first-party reactive state library, remains the headline primitive for fine-grained updates without virtual DOM diffing, opted into explicitly rather than bundled in core. The larger 2026 story sits in two places: Preact 11 is in beta (11.0.0-beta.1) with Hydration 2.0 and Object.is hook-dependency checks, not yet production-ready, and Remix v3 is being built on a Preact fork after the Remix team announced in 2025 that it was leaving React behind.
Sources
- Preact official site, preactjs.com, June 2026
- Preact releases, github.com, 10.29.2 on 2026-05-17
- Signals guide, preactjs.com, June 2026
- What’s New in Preact for 2026, blog.openreplay.com, 2026