A complete hand-drawn UI kit in plain HTML, CSS & vanilla JS. Marker-on-paper aesthetics, no dependencies, dark mode, and real native form controls.
$39
one-time, lifetime use
The whole aesthetic comes from a single feTurbulence + feDisplacementMap pair. Apply it anywhere with filter: url(#hand-drawn).
Every input, select, checkbox and radio is a real <input>. Forms work, autofill works, screen readers work.
One CSS-variable swap flips to chalkboard mode. Mobile layouts collapse cleanly; touch targets stay 44px+.
Modals, toasts, dropdowns, combobox, gallery+lightbox, tabs, accordion, kanban, stepper, rating, skeletons, empty states.
No React, no build step, no npm. Three pieces: sketchy.css, sketchy.js, and a small SVG filter snippet you paste once. ~82 KB unminified, ~58 KB minified.
Theme via CSS custom properties. Crank up the wobble by changing one SVG attribute. Rebrand in five minutes.
Every control in the kit, demo'd live. Inputs, modals, gallery, combobox, tabs, table, and more.
Browse → /how-to-use.phpInstall, the SVG filter, dark mode, every component's API, accessibility notes, and tips.
Read → /example.phpA full sketchbook-app dashboard built from the kit. Stats, kanban, modals, tabs — all wired up.
Try it →// drop three pieces in, you're done
<!-- development -->
<link rel="stylesheet" href="sketchy.css">
<script src="sketchy.js"></script>
<!-- production (minified) -->
<link rel="stylesheet" href="sketchy.min.css">
<script src="sketchy.min.js"></script>
<!-- paste once at the top of body -->
<svg width="0" height="0">
<defs>
<filter id="hand-drawn" ...>...</filter>
</defs>
</svg>
<!-- then use anything -->
<button class="btn primary">Save</button>
<input class="ip" placeholder="Hello" />
<label class="check">
<input type="checkbox" />
<span class="box"></span>
Checkbox
</label>See the full guide on How to use.
$39
One purchase, lifetime use. CSS, JS, full source, all 30+ components, dark mode, example dashboard. License covers unlimited personal and commercial projects, including client work.
Buy now →