Skip to content
Now accepting Q2 projects — limited slots available. Get started →
Frameworks · Updated Apr 30, 2026

What is Nuxt?

Nuxt is a Vue.js meta-framework that provides server-side rendering, static generation, and file-based routing out of the box.

What is Nuxt?

Nuxt is a full-stack meta-framework built on Vue.js that handles server-side rendering (SSR), static site generation (SSG), and hybrid rendering through a single, opinionated project structure. Originally released in 2016 by Sébastien and Alexandre Chopin, Nuxt reached its current major version — Nuxt 3 — in November 2022, built on Vue 3, Vite, and the Nitro server engine. Nuxt 3 introduced auto-imports for composables and components, a new server/ directory for API routes, and universal rendering that lets you choose SSR, SSG, or client-only rendering per route. It ships with built-in TypeScript support, file-based routing via the pages/ directory, and a module ecosystem with over 200 community modules. We've used Nuxt on projects where Vue is the team's preferred reactive layer and the site needs strong SEO defaults — marketing sites, documentation portals, and content-driven e-commerce storefronts.

How it works

Nuxt's architecture sits on three pillars: Vue 3 for the component layer, Vite for the build toolchain, and Nitro as the server engine.

File-based routing. Drop a .vue file into pages/ and Nuxt generates a route automatically. Nested directories create nested routes. Dynamic segments use bracket syntax:

pages/
  index.vue          → /
  blog/
    [slug].vue       → /blog/:slug
    index.vue        → /blog

Rendering modes. In nuxt.config.ts, you set ssr: true for server rendering or ssr: false for a pure SPA. Route rules let you go hybrid:

export default defineNuxtConfig({
  routeRules: {
    '/': { prerender: true },
    '/dashboard/**': { ssr: false },
    '/blog/**': { isr: 3600 }
  }
})

Your homepage gets statically generated at build time. The dashboard becomes a client-only SPA. Blog pages use Incremental Static Regeneration with a 1-hour TTL. All in one deploy.

Nitro server engine. Nitro compiles your server routes and middleware into a standalone output that runs on Node.js, Deno, Cloudflare Workers, Vercel Edge Functions, or Netlify Functions. This is what makes Nuxt genuinely portable across hosting providers.

Auto-imports. Composables like useState, useFetch, and useRoute are available without explicit import statements. Components in components/ are also auto-registered. Cuts down boilerplate. But it'll confuse developers new to the codebase — we recommend enabling the typescript.typeCheck option so your IDE catches undefined references.

When to use it

Nuxt makes sense when your team already knows Vue and you need more than a client-only SPA.

Use Nuxt when:

  • You need SSR or SSG for SEO-critical pages (marketing sites, blogs, e-commerce PDPs)
  • You want file-based routing and don't want to configure vue-router manually
  • You're deploying to edge platforms and want one framework that compiles to multiple targets
  • You need API routes co-located with your frontend (server/api/ directory)
  • Your content team uses Markdown — Nuxt Content v2 turns .md files into a queryable data layer

Skip Nuxt when:

  • Your app is purely behind auth with zero SEO needs — a plain Vite + Vue SPA is lighter
  • Your team is React-native — Next.js is the closer analog and switching reactive paradigms isn't worth it
  • You need a mature app directory / RSC story — React Server Components in Next.js are further along as of April 2026

Nuxt vs alternatives

Feature Nuxt 3 Next.js 15 Astro 5
Reactive layer Vue 3 React 19 Any (islands)
SSR Yes Yes Yes
SSG Yes Yes Yes (default)
ISR Yes (route rules) Yes (native) Via adapters
Server engine Nitro Custom / Edge Runtime Astro adapter
File-based routing pages/ dir app/ dir src/pages/ dir
Edge deploy Workers, Deno, Vercel, Netlify Vercel-optimized, others via adapters Cloudflare, Vercel, Netlify
JS shipped (content site) Moderate (Vue hydration) Moderate (React hydration) Minimal (zero JS by default)

If you're building a content-heavy site where shipping near-zero JavaScript matters most, Astro wins. If your team is Vue-first and needs full-stack capabilities, Nuxt is the clear pick. Next.js dominates in the React ecosystem and has a larger module/plugin marketplace.

Real-world example

We built a SaaS marketing site with ~80 pages using Nuxt 3 and Nuxt Content v2. Blog posts and changelogs lived as Markdown files in content/. Product pages used SSR with a 1-hour ISR cache via Vercel. The dashboard section was client-only (ssr: false route rule) since it sat behind authentication.

Build time for the static portion was under 30 seconds for 60+ prerendered pages. Lighthouse performance scores consistently hit 95+ on mobile for the marketing pages. The Nitro output deployed to Vercel with zero custom configuration — just npx nuxi build and push. Total project setup to production took under two weeks with a two-person team.

Frequently asked questions about Nuxt

Is Nuxt the same as Vue?
No. Vue is a reactive UI library for building components. Nuxt is a meta-framework built on top of Vue that adds server-side rendering, static site generation, file-based routing, API routes, and a build/deploy pipeline via Nitro. Think of Vue as the engine and Nuxt as the full car — you can use Vue without Nuxt (e.g., with a plain Vite setup), but Nuxt always includes Vue. The relationship mirrors React and Next.js.
When did Nuxt become standard?
Nuxt 1.0 launched in January 2018, but the framework had been in active use since its initial release in late 2016. Nuxt 2 (September 2018) solidified its place in the Vue ecosystem with widespread adoption. The current major version, Nuxt 3, reached stable in November 2022 after a lengthy RC period. It was rebuilt from scratch on Vue 3, Vite, and the Nitro server engine. By mid-2023, most new Nuxt projects were starting on v3, and as of April 2026, Nuxt 3 is the only actively maintained major version.
What's the alternative to Nuxt?
If you're committed to Vue, there isn't a direct competitor at the same scope — VitePress handles docs sites and Quasar offers SSR, but neither matches Nuxt's full-stack feature set. Outside the Vue ecosystem, Next.js (React) is the closest analog and has a larger community. Astro is a strong alternative for content-heavy sites where you want minimal client-side JavaScript — it can even use Vue components via its island architecture. SvelteKit is another option if you're open to Svelte instead of Vue.
Does Nuxt 3 support static site generation?
Yes. You can run `npx nuxi generate` to pre-render every route at build time into static HTML, CSS, and JS files. You can also use hybrid rendering — set specific routes to `prerender: true` in your route rules while keeping other routes server-rendered or client-only. This is one of Nuxt 3's strongest features: you don't have to choose one rendering mode for the entire app. Each route can have its own strategy, including ISR with configurable TTLs.
Get in touch

Let's build
something together.

Whether it's a migration, a new build, or an SEO challenge — the Social Animal team would love to hear from you.

Get in touch →