v∞.0 β€” stable since 1995

Just write the damn code.

The zero-framework framework. No build step. No config. No layers of weird abstraction. No learning yet another JavaScript framework. You type code, the browser runs it. That's the whole product.

$ # nothing to install β€” it's already in your browser

⚑ 0ms cold start  Β·  πŸ“¦ 0 KB shipped  Β·  🧠 learn it in 0 minutes

Trusted by engineering teams at

(and also every other company, because they all ship JavaScript)

0
developers (they just don't know it)
0
runtime dependencies
0
market share of `.js` files
0
from your dependency tree

Features

Everything you need.
Which turns out to be nothing.

We spent zero engineering hours building these features, because they're all just the absence of a problem we created.

⚑

Blazing fast builds

Build time clocks in at a consistent 0.00ms. We achieved this by removing the build.

πŸ“¦

0 KB bundle size

Our tree-shaking is flawless because the tree was already empty. Ships exactly what you wrote, gzipped to whatever the server feels like.

πŸ”§

Zero config

No vanilla.config.ts. No .vanillarc. No plugin ecosystem to keep in sync. There is nothing to configure and we intend to keep it that way.

🧠

Learn it in 0 seconds

If you know JavaScript, you've finished the tutorial. If you don't, the tutorial is "learn JavaScript."

πŸͺΆ

Zero dependencies

Your node_modules folder weighs in at a svelte 0 bytes. Your disk thanks you. Your laptop fan thanks you.

πŸ”„

No breaking changes, ever

Code you wrote in 2009 still runs. There is no v2 migration guide because there is no v2. There is only the language.

🌐

No virtual DOM

We render to the regular DOM. It has been sitting right there in the browser this whole time, free of charge, fully reconciled by people smarter than us.

∞

Infinitely scalable

Scales exactly as well as the language you are already writing. Powers everything from a 3-line script to whatever Google is.

πŸ› 

No build step

Double-click the HTML file. It opens. It works. The "dev server" is your hard drive.

πŸ”Œ

No new syntax

No directives, no $:, no useWhatever, no JSX-but-not-quite. Just functions, variables, and the occasional regret.

πŸ•°

Future-proof by default

Already compatible with browsers that have not been invented yet, because we are not betting on a compiler that needs updating.

πŸ’Έ

$0/month forever

No Pro tier. No "Enterprise" call-us pricing. No dashboard. No seat-based billing creeping up at renewal. It is free the way gravity is free.

Benchmarks

We ran the numbers.
The numbers were zero.

Independent, totally unbiased, conducted by us, on our machine, with results we picked. Lower is better. We are always lower.

Build time (seconds)

Vanilla
0.00s
Svelte
4.2s
Vue
6.1s
React
9.4s
Angular
∞
~/my-app β€” zsh

$ npm run build

press the button. we dare you.

Methodology: we deleted the framework and the build got faster. Peer review pending (we do not have peers).

Comparison

How we stack up

Against the framework you are currently fighting with.

Feature
🍦 Vanilla
The Framework
Build step requiredNoneMandatory
Config files to maintain07 to 47
Time to first "hello world"8 secondsA scaffolding wizard
Dependencies in node_modules01,418
Breaking changes per year0Yes
New syntax to memorizeNoneA dialect
Still works in 10 yearsYesDeprecated in 18 months
Has a "migration guide"No needVolume I to IV
Requires you to learn itNoEvery quarter

Loved by developers

Do not take our word for it

Take the word of these people, whose existence we cannot independently verify.

"I deleted 1.4 GB of node_modules and my laptop stopped sounding like it was preparing for liftoff. Ten out of ten."

DK
Dana K.Senior Engineer, Webflix

"Migrating from React to Vanilla took zero minutes. The migration was uninstalling React."

MR
Marco R.Staff Eng, Strape

"Our CI build used to take 11 minutes. Now there is no CI build. I have my afternoons back. I have rediscovered the sun."

PT
Priya T.DevOps Lead, Amazoff

"For the first time in my career I fully understand my own codebase. It is alarming and freeing in equal measure."

JL
Jordan L.Tech Lead, Notation

"We onboarded a junior in one afternoon. There was, genuinely, nothing to teach them. We just pointed at the file."

SV
Sam V.EM, Spotidy

"My bundle analyzer returned an error: 'nothing to analyze.' Best error message I have ever received."

AO
Amara O.Frontend, Figmama

"I came for the blazing-fast builds. I stayed because there are no builds. I left and went outside."

EN
Erik N.Indie hacker

"Our Lighthouse score is 100. We achieved this by not shipping 300 KB of someone else opinions."

RC
Rosa C.Perf Eng, Uder

"I asked the Discord for help. There is no Discord. The problem solved itself."

TY
Theo Y.Fullstack, Microhard

Documentation

The complete guide

This is all of it. There is no "advanced" section. There is no part two.

  1. Open your editor
    Any of them. We do not have an official one. We do not have an opinion.
  2. Type the code
    The damn code. The code that does the thing you want.
  3. Open it in a browser
    Or run it with Node. Or Bun. Or Deno. We genuinely do not care.
  4. It works
    That was the whole framework. You have now mastered Vanilla.
// Congratulations. You are now a certified Vanilla developer. There is no certificate.

Stop installing things.
Start shipping things.

Join the 17 million developers who already use Vanilla and have no idea, because there was nothing to sign up for.

Get Started (you already did)