Tools· Design & Creative

    Meraki UI

    Free, open source collection of 228 Tailwind CSS HTML components with built-in dark mode and RTL support, where interactive building blocks ship with ready-wired Alpine.js state.

    designingexecutableOpen Source

    Description

    Strengths

    Free and open source
    MIT-licensed (copyright Khatab Wedaa), maintained since 2020, and available at no cost directly through the website and GitHub.
    Dark mode built in
    220 of the 228 HTML files already include dark: variants, without needing to be retrofitted one by one.
    Consistent RTL support
    The entire library supports right-to-left languages such as Arabic and Hebrew.
    Interactive components with finished state
    Modals, dropdowns, tabs, and cookie banners come with already wired Alpine.js logic rather than plain markup alone.
    Broad building block collection
    228 HTML files across 32 categories, with the largest groups being inputs, contact forms, heroes, and avatars, buttons, and footers.

    Assessment

    AI features

    • Static markup with no compiled layer Every component ships as plain HTML and Tailwind markup, with no build artifacts or proprietary component format, which lets an AI coding assistant read and adapt the structure and classes directly.

    Suitable for

    • Projects that need ready-made Tailwind building blocks with dark mode and RTL support already built in, without setting every dark: variant by hand
    • Interactive app elements such as modals, dropdowns, tabs, or cookie banners, where finished Alpine.js logic is wanted instead of plain markup
    • Standard app UI and forms such as inputs, contact forms, heroes, avatars, buttons, and footers, for fast prototypes without a separate design iteration
    • Less suitable for Less suitable for React projects with their own state management, because Alpine.js conceptually clashes with React's state model; there, static markup without Alpine or a React-native library is a better fit

    Limitations and notes

    • Play CDN is for preview only Every file includes the Tailwind Play CDN script by default, which needs to be removed for production and replaced with a regular Tailwind setup.
    • Alpine.js as a runtime dependency Interactive components such as modals, dropdowns, tabs, and cookie banners need Alpine.js, including a one-time initialization through Alpine.start(), otherwise they stay non-functional.
    • Not compatible with React state Alpine attributes such as x-data and x-show do not work in React; the markup must either be taken over statically with the logic rebuilt, or a React-native alternative such as flowbite-react used instead.
    • Snippets in Tailwind v3 syntax The library is written for Tailwind v3; mostly compatible with v4 projects, but individual utility classes should be checked before use.

    Quick start

    1. Browse the desired component category on merakiui.com, such as heroes, inputs, contact forms, or alerts.
    2. Copy the HTML markup of the chosen component.
    3. Paste it into your own project, remove the Play CDN script tag, and use the project's regular Tailwind setup instead.
    4. For interactive components such as modals, dropdowns, tabs, or cookie banners, install Alpine.js and initialize it once through Alpine.start().
    5. Swap color and accent classes for your own brand palette and wire the dark mode toggle mechanism through class="dark" into the project.

    Tips

    • Remove the Play CDN script tag from every copied snippet, otherwise it collides with the project's own Tailwind setup.
    • Do not forget Alpine.js for interactive components and call Alpine.start() once in the project, otherwise the component stays non-functional.
    • In React projects, take over the static markup and rebuild the interactivity yourself with React state, because Alpine attributes are ineffective there, or alternatively switch to a React-native library such as flowbite-react.
    • Before production use in a Tailwind v4 project, check individual utility classes of the v3 snippets, since not every class is compatible unchanged.

    Access

    Last reviewed: · Pricing, plans and features are a snapshot in time. Check the provider's own page before deciding.

    In the workshop this becomes your method.

    Whoever sees this process run once wants the agent behind it next. We build that in the workshop From Process to Agent.

    View workshops

    Related resources

    Browse all resources

    Conversation, not pitch

    Understand first, then decide. We take time for an initial conversation, without sales pressure, without obligation.

    Schedule a call