Favicon of nuxt

nuxt

Nuxt is a free, open-source, full-stack framework for building type-safe, performant Vue.js applications with server-side rendering and static generation.

Nuxt is a free and open-source framework built on top of Vue.js for building full-stack, type-safe web applications and websites. It's for Vue developers who want routing, data fetching, SEO tooling, and a server layer set up for them instead of assembled from scratch, while still writing plain Vue components.

Key features

  • Multiple rendering modes: server-side rendering, static site generation, hybrid rendering, and edge-side rendering are all supported from the same codebase.
  • Automatic routing: file-based routing with code-splitting and pre-fetching, so pages don't need manual route configuration.
  • Auto-imports: components, composables, and utility functions are imported automatically without explicit import statements.
  • Zero-config TypeScript: TypeScript support works out of the box without extra setup.
  • Built-in server directory: a server/ directory lets you write full-stack API routes alongside your frontend code in the same project.
  • SEO tooling: helpers like useSeoMeta make it straightforward to set titles, descriptions, and meta tags per page.
  • Module ecosystem: over 300 modules extend Nuxt with things like state management, UI kits, and third-party integrations, maintained by the core team and the community.
  • Flexible deployment: the framework supports deployment to a range of hosting platforms.
  • Security-conscious development: the project publishes an OpenSSF Scorecard for its own repository, giving visibility into its supply-chain security practices.

Ideal use cases

Nuxt fits teams building production Vue applications that need SEO-friendly rendering, like marketing sites, e-commerce storefronts, and content platforms, as well as full-stack apps that want frontend and backend code in one project. Its auto-imports and file-based routing cut down on boilerplate for teams that want to move fast without hand-rolling infrastructure.

It's less useful if you don't want Vue at all, since Nuxt is built specifically on top of it; teams standardized on React or Svelte should look at frameworks built for those ecosystems instead. It's also more than you need for a very small static page with no routing or data needs, where a plain Vue setup or a simpler static site generator would be lighter weight.

Installation

Start a new project with the official scaffolding command:

npm create nuxt@latest <my-project>

For trying Nuxt without any local setup, nuxt.new opens a starter in CodeSandbox or StackBlitz, or gets a local project running in a few seconds.

A minimal app.vue looks like this:

<script setup lang="ts">
useSeoMeta({
  title: 'Meet Nuxt',
  description: 'The Intuitive Vue Framework.',
})
</script>

<template>
  <div id="app">
    <AppHeader />
    <NuxtPage />
    <AppFooter />
  </div>
</template>

For contributing to the framework itself, the docs describe how to set up a local development environment for the framework and documentation. Full documentation covers everything from initial setup to advanced topics, and the project maintains a Discord server, along with professional support options (technical audits, consulting, and agency partners) for teams that need more than community support.

Nuxt is free and open source under the MIT license, with no separate paid tier for the framework itself; the professional support offerings (Nuxt Experts and Nuxt Agency Partners) are optional add-ons for teams that want outside help rather than a requirement to use the framework. Bug reports, suggestions, and questions each have their own dedicated guide linked from the README, so it's clear where to go depending on what you need. The project is also active outside GitHub, with accounts on Discord, X, and Bluesky for announcements and community discussion.

Because Nuxt is a fast-moving framework with a large module ecosystem, it's worth checking the official module list before building custom integrations yourself; a module already covering your use case (state management, a UI kit, analytics, and so on) is common enough that reinventing it is often unnecessary. The documentation is versioned alongside the framework itself, so guidance stays aligned with whichever release you're actually running.

Categories:

Frequently asked questions

Share:

Stars
60.6K
Forks
5.7K
Last commit
5 hours ago
Repository age
10 years
License
MIT
Self-hosted
No
Activity score
87/100
View Repository
Built with:

Similar to nuxt

Favicon

 

  
  
Favicon

 

  
  
Favicon