Reef
A lightweight library for creating reactive, state-based UI.
Reef is a simpler alternative to React, Vue, and other large UI libraries.
🔥 Join the Vanilla JS Academy! A new session starts on July 18. Click here to learn more.
Features
- Weighs just 3kb minified and gzipped, with zero dependencies.
- Simple templating with JavaScript strings or template literals.
- Load it with a
<script>
element or ES module import—no command line or transpiling required (though you can if you want). - Uses DOM diffing to update only the things that have changed.
- Has Redux/Vuex-like data stores, with setters baked right in.
- Automatically sanitizes HTML before rendering to help protect you from cross-site scripting (XSS) attacks.
- Work with native JavaScript methods and browser APIs instead of custom methods and pseudo-languages.
- Compatible with all modern browsers.
Ditch that bloated framework, and make web development fun and simple again!
Why use Reef?
Reef is an anti-framework.
It does a lot less than the big guys like React and Vue. It doesn’t have a Virtual DOM. It doesn’t require you to learn a custom templating syntax. It doesn’t provide a bunch of custom methods.
Reef does just one thing: render UI.
Couldn’t you just use some template strings and innerHTML
? Sure. But Reef only updates things that have changed instead of clobbering the DOM and removing focus from your form fields. It also automatically renders a new UI when your data updates, and helps protect you from XSS attacks.
If you’re craving a simpler, back-to-basics web development experience, Reef is for you.
(And if not, that’s cool too! Carry on.)
Hi, I'm Chris Ferdinandi. 👋

I help people learn vanilla JavaScript, and I believe there’s a simpler, more resilient way to make things for the web.
I create courses and ebooks, run online workshops, and host the Vanilla JS Podcast. My developer tips newsletter is read by over 13k developers each weekday.
Have a question? Get in touch.
Get Daily Developer Tips
Hate the complexity of modern front‑end web development? I send out a short email each weekday on how to build a simpler, more resilient web. Join over 13k others.