Description
Meraki UI is a free, open source collection of 228 HTML components built on Tailwind CSS, released under the MIT license and created and maintained by Khatab Wedaa since 2020. The building blocks span 32 categories, with the largest groups being inputs, contact forms, heroes, and avatars, buttons, and footers, complemented by interactive patterns such as modals, dropdowns, tabs, and cookie banners. Each component ships as a standalone HTML file and is picked up through copy and paste into an existing project, framework agnostic and with no npm installation. Compared with many similar libraries, Meraki UI brings two properties across the entire collection: dark mode variants in 220 of the 228 files, plus consistent support for right-to-left languages such as Arabic and Hebrew.
A project with Tailwind CSS already set up is required. Every file also includes a Play CDN script for previewing, which needs to be removed before production use and replaced with the project's regular Tailwind setup. The interactive components additionally need Alpine.js as a runtime dependency, including a one-time initialization through Alpine.start(), without which modals, dropdowns, tabs, and cookie banners stay non-functional. The snippets are written in Tailwind v3 syntax, which is mostly, but not guaranteed to be, compatible with v4 projects. In React projects, Alpine's x-data and x-show attributes do not work, so either only the static markup is taken over and the logic is rebuilt from scratch, or a React-native alternative is used instead.
Within copy-paste Tailwind libraries, the difference from purely static collections lies in the bundled Alpine.js state: anyone who wants dark mode and RTL built in from the start, and looks for interactive components with finished logic rather than plain markup, is well served by Meraki UI. Anyone who instead prefers markup that is as JS-free and framework-neutral as possible, and would rather build interactivity themselves in their own stack, for example in React, will find a better fit in a library without an Alpine dependency.







