Let anyone restyle
any page — live, in one click.

Design Customizer adds a slide-out theme panel to any website with a single script tag. Colors, fonts, spacing, radius, shadows, dark mode, a click-to-select element inspector and live custom CSS — then export everything as production-ready CSS.

No account · No build step · No framework required

12color presets
40+live controls
1script tag install
0dependencies
<!-- paste before </body> — that's the whole install -->
<script src="https://vetrisuriya.github.io/design-customizer/design-customizer.js"></script>
◉

This page is running the real tool right now. Click the THEME tab on the right edge of your screen — every section below (cards, buttons, tables, this banner) reacts live. That is the product, not a mockup.

HTMLReactNext.jsVueSvelteWordPressShopifyAnything with CSS

Everything a reviewer wants to touch, in one panel

Three tabs — Design, Inspect and CSS — cover every way someone might want to change a page, from one-click presets to hand-written styles.

Design tab
🎨

Universal color system

12 curated presets plus individual pickers for primary, accent, background, surface, text, border — and semantic success, warning, error and info tokens.

Design tab
✍️

Typography lab

Twelve heading/body pairings, five monospace stacks, plus sliders for base size, heading scale, weight, line height and letter spacing.

Design tab
▢

Shape, spacing & layout

Independent radii for buttons, cards and inputs, border width, density, content width, shadow depth, backdrop blur and animation speed.

Inspect tab
◎

Click-to-select inspector

Pick literally any element on the page and restyle its background, text, size, radius, padding or margin — or hide it. Overrides persist with the theme.

CSS tab
{ }

Live custom CSS

A built-in editor for gradients, keyframes and one-off tweaks. Applies instantly and ships inside Export theme.css.

Everywhere
🌙

Dark mode that respects brand

One toggle swaps only neutral surfaces. Your preset's primary and accent carry over untouched, so brand stays consistent after dark.

Handoff
⤓

Export, copy, import

Download a :root {} block, copy it to the clipboard, or import a teammate's theme JSON to keep iterating.

Zero friction
⚡

Search, shuffle, reset

Fuzzy search across all 40+ controls, a “Surprise me” randomizer for exploration, runtime addPreset() for client brands, and one-click reset.

Persistence
💾

Remembered everywhere

Choices save to a cookie (365 days) with a localStorage fallback, so a theme picked on one page follows visitors across the whole site.

What exactly can visitors change?

Every row below is a live control in the panel — try them with the THEME tab open and watch this page respond.

Color presets

Navy & Gold, Teal & Coral, Mono Ink, Violet & Mint and 8 more — one click repaints the page.

12 presets
Color tokens

Primary, accent, background, surface, text, muted text, border, muted bg, success, warning, error, info.

12 pickers
Typography

12 pairings · 5 mono stacks · base size · heading scale · weight · line height · letter spacing. Click any value badge to type an exact number.

19 controls
Shape & border

Global radius plus separate button, card and input radii, and border width — sharp to fully round.

5 sliders
Spacing & layout

Density multiplier that compresses or airs out every section, plus max content width.

2 sliders
Effects

Shadow depth (flat → deep), backdrop blur, animation speed, and 4 icon-tile treatments.

4 controls
Inspector

Select one element — or a whole group with Pick multiple — then edit background, text, size, weight, align, opacity, radius, padding, margin, shadow, visibility + extra CSS. Included in Export.

∞ elements
Custom CSS

Freeform stylesheet with live apply — gradients, animations, overrides, anything.

∞ rules

From embed to handoff in three steps

No design tool, no screenshots, no “can you try it in blue?” email threads.

1

Embed one script tag

Paste it before </body> on any page whose CSS uses custom properties. The panel, styles and logic inject themselves — nothing else to copy.

2

Let anyone customize live

You, a client, a teammate — they open the panel and tune colors, type, spacing and effects, or click any element to restyle it directly. Every change is instant.

3

Export production CSS

One click downloads theme.css — a clean :root {} block plus any custom CSS — ready to paste into the real stylesheet. Or do nothing: choices persist automatically.

Built for the messy middle of design feedback

Wherever a static mockup currently stands in for a conversation, put a live page instead.

Client sign-off without the screenshot ping-pong

Send the staging URL, not a PDF. Clients try palettes and fonts themselves, then you export exactly what they landed on. What they approved is what ships.

White-label & multi-brand products

Register each client's brand with addPreset() at runtime. Prospects can preview their own identity on your product during a sales call.

Design-system prototyping on real UI

Tune radius, density, type scale and elevation against actual components — buttons, tables, dialogs — instead of guessing in Figma and re-implementing later.

Themeable docs, templates & starters

Ship the panel with a template or docs site. Every user gets a personalized reading experience, and every theme they export advertises your starter.

Why not just…?

Honest trade-offs against the usual alternatives.

Design CustomizerHand-editing CSSPage-builder theming
Editable by non-developers✓ Live panel✕ Code only✓ But locked to that builder
Works on any stack✓ Any HTML page✓✕ One platform
Per-element overrides✓ Inspector✓ Manual✕ Theme-level only
Export clean CSS✓ :root block + custom CSS✓ It's already CSS✕ Proprietary format
Install effort✓ One script tag✕ Dev time per tweak✕ Migration + lock-in
Runtime weight✓ ~1 file, 0 deps✓ None✕ Heavy editor bundle

A free CSS customizer for the whole web

Design Customizer is a free, open-source CSS customizer and website theme editor. Unlike a traditional CSS theme generator that outputs code you paste blindly, it runs live on your real pages: open the panel, adjust the design system — colors, typography, spacing, radius, elevation — and watch every component update in real time.

When the design is right, export production-ready CSS with one click. Designers use it to prototype, developers use it to collect client feedback, and product teams use it to preview white-label themes — all without touching a build step.

Frequently asked questions

Does it change my whole site or just the page?

Just the page the script is embedded on. Each page runs its own instance and writes variables onto its own <html> element. To roll a result out site-wide, export the CSS and paste it into your shared stylesheet — that step is deliberately yours to control.

What does my site need for the panel to work?

Your CSS should already be driven by custom properties (var(--primary), var(--radius), …). The panel sets ~30 standard tokens; anything already referencing them updates live. For the rest — arbitrary elements, third-party markup — the Inspector and Custom CSS tabs cover everything else with no prerequisites at all.

Can visitors break my site with the inspector?

No — all changes are local to their own browser (inline styles + a cookie). Your source files are never touched. Reset restores defaults instantly, and nothing persists anywhere except that visitor's browser.

How do I use my client's exact brand colors?

Either pick them with the color pickers, or register them in code with DesignCustomizer.getInstance().addPreset({ id:'brand', name:'Client', vars:{…} }) — they appear as a first-class swatch next to the built-ins.

Does it need React, Next.js, or any framework?

No. It's vanilla JS with zero dependencies and works inside any stack — static HTML, Next.js, WordPress, Shopify — because it only touches CSS variables, inline styles and one stylesheet for custom CSS.

What happens to the theme if I remove the script?

Export first and the look is permanent: the downloaded theme.css is plain CSS with no dependency on the panel. Without exporting, themes simply stop applying — the page falls back to its authored stylesheet.

Put a live theme panel on your site today.

Open the demo, break it, recolor it, inspect it — then take the same script tag home. Free, dependency-free, yours to keep.


<script src="https://vetrisuriya.github.io/design-customizer/design-customizer.js"></script>