Overview
Qwik was created by Misko Hevery (the author of AngularJS), Adam Bradley and Manu Almeida, and has been developed in the open since 2021, now under the QwikDev GitHub organisation. Its central idea is resumability: instead of hydrating by replaying component code in the browser, Qwik serialises state and listeners into the HTML and fetches only the code needed for the event a user triggers. The aim is pages that are interactive almost immediately regardless of app size.
Components use JSX and signals, so React developers recognise the syntax, but Qwik components are not React components. Qwik City, renamed Qwik Router in v2, adds file-based routing, route loaders, actions and middleware. You add a deployment integration with qwik add; adapters and middleware exist for Node/Express, Cloudflare, Netlify, Vercel and Deno, and a requestHandler utility lets you write your own.
Version status matters. The stable line is v1 on the @builder.io/qwik npm scope. Qwik 2 ships under @qwik.dev/core and @qwik.dev/router and has been in beta through 2026 (beta.42 in August 2026), so new projects face a choice between a stable v1 and a changing v2.
Pricing and plans
What it does
- Resumability
- No hydration step; state and listeners are serialised into HTML and code loads when needed.
- Fine-grained lazy loading
- The Qwik Optimizer splits code at $ boundaries so each handler can load separately.
- Qwik City / Qwik Router
- File-based routing with route loaders, actions and middleware.
- Deployment integrations
- qwik add installs adapters for Node/Express, Cloudflare, Netlify, Vercel, Deno and more.
- Vite tooling
- Dev server on Vite with Vitest and Playwright testing set up.
Strengths and limitations
Strengths
- Very low startup JavaScript on large, interactive pages.
- Familiar JSX syntax for React developers.
- Adapters for the main edge and serverless platforms.
Limitations
- Qwik 2 has been in beta for a long time with renamed packages (@qwik.dev/*); v1 and v2 are not drop-in compatible.
- React component libraries do not work natively; an interop package is needed.
- The $ boundaries and serialisation rules add concepts other frameworks do not have.
- Smaller community and ecosystem than React, Vue or Svelte frameworks.
Who it suits
Good for
- Large e-commerce or marketing sites where startup JavaScript is the main performance problem
- Teams exploring resumable rendering
Look elsewhere if
- Teams that need a stable, settled major version right now
- Projects that rely on many React-only libraries
Alternatives to Qwik
| Tool | From | Free option | Stages |
|---|---|---|---|
| Astro Content-focused web framework | — | ||
| React Router (framework mode) React router and full-stack framework | — | ||
| Gatsby React static site framework (maintenance mode) | — | ||
| SolidStart Full-stack Solid framework | — | ||
| Hugo Static site generator (Go) | — | ||
| Starlight Documentation theme for Astro | — |
Questions
What is resumability in Qwik?
Qwik serialises application state into the server HTML so the browser resumes without re-running component code, loading JavaScript only for the interactions a user triggers.
Is Qwik 2 stable?
Not at the time of writing: Qwik 2 ships as @qwik.dev/core and @qwik.dev/router betas, while stable v1 remains on @builder.io/qwik.
Can Qwik use React components?
Only through an interop package; Qwik uses JSX syntax but its own component model.
Sources read for this page