Sourcemap Explorer
Detect Web framework

How to detect Nuxt on any website

The Vue framework — SSR, file-based routing and module ecosystem on top of Vue 3.

By Mapree ·

Official site

What is Nuxt?

Nuxt is to Vue what Next.js is to React: a meta-framework with server rendering, file-based routing, auto-imports and a conventions-heavy build toolchain. Nuxt 3+ is fully Vue 3 based.

Nuxt's defining feature is its module ecosystem: `@nuxt/image`, `@nuxt/content`, `@nuxt/i18n`, `@nuxt/devtools` and hundreds of community modules plug in with minimal config and handle common concerns (SEO, images, CMS integration, auth) through shared conventions. This gives Nuxt a distinctive feel — fewer manual integration decisions, more 'install module X and done'. Nuxt 3 is built on Nitro, a Unjs-based server runtime that compiles to multiple deployment targets (Node, Cloudflare Workers, Vercel Edge, Deno Deploy, static). Detecting Nuxt tells you about the deployment flexibility and the module-first architecture style.

Why it matters to identify

Nuxt sites are common in European and Asian markets and are sometimes mistaken for 'vanilla Vue SPAs' by naive detectors. Identifying Nuxt specifically matters because it implies SSR, a specific hydration pattern, specific data layers (`useFetch`, `useAsyncData`), and a module-extension model distinct from Next.js's plugin approach.

A brief history of Nuxt

Nuxt launched in 2016 as a Vue-equivalent of Next.js. Nuxt 2 (2018) was the long-running stable version built on Vue 2. Nuxt 3 (2022) was a ground-up rewrite on Vue 3 with the Nitro server engine. Nuxt 3.x releases have incrementally added server components, Vercel Partial Prerendering equivalent, and improved edge-runtime support.

Ecosystem and common pairings

Common pairing: Nuxt + Vue 3 + Pinia + Nuxt UI (or Nuxt UI Pro) + TailwindCSS + Nitro-based deployment. `@nuxtjs/supabase`, `@sidebase/nuxt-auth`, `@vueuse/nuxt` are frequently seen.

Detection signals we look at

Each signal alone is rarely conclusive; the detector cross-references all of them and weights by confidence. You can reproduce any of these checks yourself in Chrome DevTools.

DOM selector
#__nuxt|#__layout

Nuxt injects `<div id="__nuxt">` and, in some layouts, `#__layout`.

Script src URL
/_nuxt/

Nuxt serves generated chunks from `/_nuxt/`, analogous to Next's `/_next/static/`.

JavaScript global
window.__NUXT__

Hydration payload global, on every SSR Nuxt page.

HTML source
data-n-head|data-nuxt-render

Nuxt head/render attributes on hydrated elements.

Sourcemap path
node_modules/nuxt/

Nuxt package bundled — exact version in the embedded package.json.

Versioning

Version
Notable changes
2.0
Long-running stable release built on Vue 2; reached end-of-life in 2024 alongside Vue 2.
3.0
Ground-up rewrite on Vue 3 with the Nitro server engine (2022). Shipped multi-target deployment support.
3.7
Server components, view transitions and improved DevTools surface.
3.10
Native form-action support, server-only utilities, performance pass on hydration cost.

What you typically see in production

Nuxt sites in 2026 are almost entirely Nuxt 3+ — the Nuxt 2 long tail still exists on enterprise apps that did not migrate, but new builds default to v3 and the Nitro server runtime. The most reliable detection signature is the `/_nuxt/` chunk path combined with the `<div id="__nuxt">` wrapper and the `window.__NUXT__` hydration global; together they are essentially impossible to confuse with anything else. The deployment surface is more varied than for Next.js because Nitro compiles to many targets. You will see Nuxt running on Vercel, Netlify, Cloudflare Workers, Deno Deploy, AWS Lambda, plain Node, and as a static export served from any object store. The framework detection looks identical in each case; the underlying server flavour shows up only in the response headers (`X-Vercel-Id`, `cf-ray`, `Server: nitro`). A distinctive Nuxt pattern in the wild is the modules layer. `@nuxt/image` shows up via specific image-component HTML markup; `@nuxt/content` betrays itself through `_content/` URL segments and the typical `<ContentDoc>` rendered output; `@nuxtjs/i18n` adds locale prefixes to URLs and `<html lang>` switching. Each module leaves a recognisable surface, which makes Nuxt audits more decomposable than typical SPA audits — you can tell which modules are in play just from browsing. Sites you will not always realise are Nuxt include marketing pages for Vue ecosystem tools (most Vue-related products use Nuxt for their own docs), a meaningful share of mid-size European e-commerce, and a growing number of internal company tools where the Nuxt module ecosystem reduces the integration cost of common needs (auth, image optimization, content management).

Sites commonly running Nuxt

  • nuxt.com
  • openai.com (some docs)
  • ecosia.org
  • 1password.com (parts)

Often confused with

Nuxt vs Vue

Nuxt always implies Vue, but vanilla Vue does not imply Nuxt. The disambiguation is the `/_nuxt/` chunk URL prefix and the `__NUXT__` hydration global — both unique to the meta-framework. A Vue SPA without those is just Vue with a custom build pipeline (Vite, Vue CLI, manual Webpack).

Nuxt vs Next.js

Both Nuxt and Next.js are meta-frameworks with similar feature sets, but their fingerprints are unmistakable: Nuxt uses `/_nuxt/`, `<div id="__nuxt">`, `window.__NUXT__`; Next.js uses `/_next/static/`, `<div id="__next">`, `__NEXT_DATA__` (Pages Router) or `self.__next_f.push(...)` (App Router). They never coexist on the same page.

Nuxt vs Vite Vue starter

A plain Vite + Vue starter looks like Vue but ships from `/assets/` and has no Nuxt-specific markers. If you see `/_nuxt/` URLs the site is Nuxt; otherwise it is some other Vue + bundler combination.

FAQ

How do I tell Nuxt 2 from Nuxt 3?

Nuxt 3 ships Vue 3 (look for `@vue/reactivity`, `@vue/runtime-core` in the bundle); Nuxt 2 ships Vue 2 (single `node_modules/vue/dist/vue.runtime.common.prod.js`). The framework version itself comes from `node_modules/nuxt/package.json` in the sourcemap.

Where can a Nuxt site be hosted?

Anywhere Nitro compiles to — Vercel, Netlify, Cloudflare Workers, Deno Deploy, AWS Lambda, plain Node, static export. The hosting flavour shows up in the response headers, not in the framework signature itself, so the same Nuxt build can move between hosts without retesting the detection.

What's the equivalent of Server Components in Nuxt?

Nuxt 3.7+ ships server components with `.server.vue` file conventions and `<NuxtIsland>` wrappers. The render path is similar to React Server Components — the server renders to HTML and streams in interactive islands as needed. The hydration payload still flows through `__NUXT__`, just with the server-rendered portions marked.

Can a Nuxt site exist without `/_nuxt/` URLs?

Only on heavily customised builds where the publicPath was rewritten. The `__NUXT__` global and the `<div id="__nuxt">` wrapper survive even unusual configurations, so detection remains reliable.

How does Sourcemap Explorer surface Nuxt modules?

Each `@nuxt/<module>` package shows up in the sourcemap's `node_modules/` paths. The Stack tab lists them as separate entries so you can read 'Nuxt 3.10.0 + @nuxt/image 1.4.0 + @nuxt/content 2.13.0 + @nuxtjs/supabase 1.2.0' in one view.

Related

See Nuxt — with the exact version — on every site you visit.

Sourcemap Explorer runs these checks passively in the background. When the target library is bundled, you get the precise package.json-level version.

Install free on Chrome