SaaSHub helps you find the best software and product alternatives Learn more →
Top 23 vanilla-j Open-Source Projects
-
vanilla-lazyload
LazyLoad is a lightweight, flexible script that speeds up your website by deferring the loading of your below-the-fold images, backgrounds, videos, iframes and scripts to when they will enter the viewport. Written in plain "vanilla" JavaScript, it leverages IntersectionObserver, supports responsive images and enables native lazy loading.
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
-
-
-
van
🍦 VanJS: World's smallest reactive UI framework. Incredibly Powerful, Insanely Small - Everyone can build a useful UI app in an hour.
-
-
-
-
-
tom-select
Tom Select is a lightweight (~16kb gzipped) hybrid of a textbox and select box. Forked from selectize.js to provide a framework agnostic autocomplete widget with native-feeling keyboard navigation. Useful for tagging, contact lists, etc.
-
create-chrome-ext
🍺 Scaffolding your Chrome extension! Boilerplates: react \ vue \ svelte \ solid \ preact \ alpine \ lit \ stencil \ inferno \ vanilla
-
Project mention: Endatix - Form Management Backend for SurveyJS VS formio.js - a user suggested alternative | libhunt.com/r/endatix | 2025-07-19
-
surreal
🗿 Mini jQuery alternative. Dependency-free animations. Locality of Behavior. Use one element or arrays transparently. Pairs with htmx. Vanilla querySelector() but better!
Project mention: Creators of Tailwind laid off 75% of their engineering team | news.ycombinator.com | 2026-01-07I recently had a similar junk PR on my 1,700 star repository: https://github.com/gnat/surreal/pull/56
I'm fairly convinced these are bot / LLM generated; the content is nonsensical garbage.
PS: If an LLM needs a whole seperate fork to understand your content, the LLM is failing at it's job.
PS PS: I want to highlight that the PR itself also seems to be an excuse to get the library quantizor made pulled in as a new dependency. Nasty.
-
watching-you
watching-you is a javascript library for building animations that watch anything on DOM 👀.
-
-
Add to Calendar Button
Reliably create beautiful Add to Calendar Buttons, where people can add events to their calendars. Without the hustle and unsupported cases.
-
jquery-to-javascript-converter
Automatically finds jQuery methods from existing projects and generates vanilla js alternatives.
-
Project mention: Show HN: BewCloud (a simpler Nextcloud alternative) v2.1.0 with SSO and MFA | news.ycombinator.com | 2025-06-17
-
-
-
-
-
-
loading-attribute-polyfill
Fast and lightweight dependency-free vanilla JavaScript polyfill for native lazy loading / the awesome loading='lazy'-attribute.
vanilla-js discussion
vanilla-js related posts
-
Brainmap.js: Vanilla JavaScript Mind Mapping Library
-
Endatix - Form Management Backend for SurveyJS VS formio.js - a user suggested alternative
2 projects | 19 Jul 2025 -
Facet: Web components made simple and declarative
-
Facet: WebComponents Defined in HTML
-
Show HN: ViperIDE – An Innovative MicroPython IDE for Web and Mobile
-
Show HN: Auto-generate JavaScript alternatives for jQuery functions
-
VanJS App Builder: A GPT That Builds Web Apps with VanJS
-
A note from our sponsor - SaaSHub
www.saashub.com | 12 Jun 2026
Index
What are some of the best open-source vanilla-j projects? This list will help you:
| # | Project | Stars |
|---|---|---|
| 1 | vanilla-lazyload | 7,855 |
| 2 | Choices.js | 6,794 |
| 3 | imaskjs | 5,189 |
| 4 | van | 4,379 |
| 5 | body-scroll-lock | 4,103 |
| 6 | basecoat | 3,981 |
| 7 | formio | 2,294 |
| 8 | Artalk | 2,269 |
| 9 | tom-select | 2,172 |
| 10 | create-chrome-ext | 2,119 |
| 11 | formio.js | 2,078 |
| 12 | surreal | 1,712 |
| 13 | watching-you | 1,705 |
| 14 | learn-vanilla-js | 1,524 |
| 15 | Add to Calendar Button | 1,474 |
| 16 | jquery-to-javascript-converter | 1,233 |
| 17 | bewcloud | 1,193 |
| 18 | jkanban | 1,164 |
| 19 | modern-todomvc-vanillajs | 1,159 |
| 20 | svelte-toast | 898 |
| 21 | core | 830 |
| 22 | easytimer.js | 780 |
| 23 | loading-attribute-polyfill | 621 |