Sourcemap Explorer
Detect JavaScript framework

How to detect Svelte on any website

Compile-time JavaScript framework — no runtime VDOM, components compile to direct DOM operations.

Official site

What is Svelte?

Svelte's killer feature is that most of it is gone at runtime: the compiler emits plain DOM-manipulation code. That's great for performance, but it also makes naive detection harder — there's no `Svelte.version` global in production builds. You detect Svelte from its compiled patterns, not from a runtime signature.

Svelte's philosophy is compile-away: the compiler translates `.svelte` components into plain JavaScript that manipulates the DOM directly, with no virtual-DOM runtime. This produces smaller bundles than React or Vue for equivalent UIs and removes an entire class of runtime overhead. The trade-off is detection: there's no `Svelte.version` accessible at runtime, no wrapper `<div id>` to find, no hydration payload global. Svelte-using sites are identified by the scoped-CSS-class patterns the compiler emits (`svelte-<hash>`) and by paths under `node_modules/svelte/internal/` in the sourcemap. Svelte 5 (2024) introduced runes — a new reactivity primitive — but the compiled output patterns remain recognisable.

Why it matters to identify

Svelte is in the New York Times, the Apple.com newsroom, and a growing number of documentation sites. Identifying it by its compiled output is a reliable differentiator from React/Vue-based stacks. Svelte apps often have noticeably smaller bundle sizes, which is a testable hypothesis once you know to look.

A brief history of Svelte

Svelte was created by Rich Harris in 2016. Svelte 3 (2019) introduced the modern compiler. Svelte 4 (2023) was a refinement release. Svelte 5 (2024) introduced Runes, a new reactivity primitive. SvelteKit, the meta-framework, reached v1 in late 2022.

Ecosystem and common pairings

Svelte pairing: SvelteKit (the canonical meta-framework), Tailwind CSS, svelte-animate, Drizzle or Prisma for data, Lucia for auth. The ecosystem is intentionally smaller and more opinionated than React's.

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
[class^="svelte-"]|svelte-head

The Svelte compiler scopes component styles by adding `svelte-<hash>` classes.

Sourcemap path
node_modules/svelte/internal/

Svelte's runtime helpers are bundled from `node_modules/svelte/internal/`.

HTML source
class="svelte-\w+"

Scoped-style class names in the rendered HTML.

Versioning

Sites commonly running Svelte

  • nytimes.com (interactive pieces)
  • apple.com/newsroom

Often confused with

Svelte vs SvelteKit

SvelteKit is the meta-framework, Svelte is the UI layer. Every SvelteKit site is a Svelte site; reverse isn't true.

Related

See Svelte — 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