Small HTML/CSS components, built by the community. Buttons, cards, navbars, modals, footers — pick an issue, build a component, open a PR. It takes 5–10 minutes.
A perfect first open-source contribution.
A growing gallery of small, reusable UI components (buttons, cards, navbars,
modals, footers, badges, toggles…) contributed by developers of all skill levels.
Every component is one self-contained HTML file in the components/
folder. The gallery page loads them all automatically and renders a live preview.
No framework. No build step. No server required. Just HTML, CSS, and a little vanilla JavaScript.
Or run it locally:
# with Python
python -m http.server 8000
# with Node
npx serve .Then visit http://localhost:8000.
Note:
script.jsreadscomponents.jsonwithfetch(), so you need a local server (any of the above) instead of opening the file directly.
- Fork this repo and clone it to your machine.
- Pick or create an issue labeled
good first issue. If there is none, suggest a new component! - Create a component — add a self-contained
.htmlfile incomponents/, e.g.components/button-rgb.html. Your component must have its own<style>block so it looks correct anywhere. - Register it — add one entry to
components.json:{ "file": "components/button-rgb.html", "name": "RGB Button", "category": "button", "author": "your-github-username", "github": "https://github.com/your-github-username", "description": "A rainbow-animated button." } - Open a pull request. That's it — you're in the gallery! 🎉
📖 Full details, tips and checklist: see CONTRIBUTING.md.
| # | Component | Category | Author |
|---|---|---|---|
| 1 | Glow Button | button | Abdellox |
| 2 | Profile Card | card | Abdellox |
| 3 | Glassmorphism Navbar | navbar | Abdellox |
| 4 | Animated Modal | modal | Abdellox |
| 5 | Simple Footer | footer | Abdellox |
Count updates automatically as components are added.
ComponentGallery/
├── index.html # The gallery page
├── style.css # Styles for the gallery page (not components)
├── script.js # Loads components.json + renders previews
├── components.json # Manifest: every component listed here
├── components/ # ← add your component file here
├── README.md
└── CONTRIBUTING.md
- One self-contained
.htmlfile (own<style>block). - Something visual — you can see it in the gallery.
- No external libraries (keep it pure HTML/CSS).
- Category already exists (button, card, navbar, modal, footer…) or suggest a new one.
- Register it in
components.json.
- Found a bug? Open an issue.
- Want to chat? Join us on Discord / share on r/webdev and r/opensource!
Thanks to everyone who contributes — this project is what you make it. 💙
Released under the MIT License — use the components anywhere you like. See LICENSE.