Overview
Build a complete button style - label text, font size and weight, text and background color, border width/style/color/radius, vertical and horizontal padding, and an optional multi-value box-shadow - with a live preview you can actually hover over to see the real hover transition, not just a static mockup. Hover styling (background and text color) is optional and only appears in the generated CSS when you've actually customized it, keeping the output minimal rather than padding it with an identical, pointless `:hover` block. Copy the CSS and the matching HTML snippet separately, since you'll often want to drop the HTML into a template while keeping the CSS in a stylesheet. Runs entirely client-side.
Best for: Prototyping a button style with a real hover preview before pasting CSS into a stylesheet
How to use this tool
- Set label, colors, and sizing. Font size/weight, text and background color, padding.
- Add border, radius, and shadow. All optional, each with its own controls.
- Customize the hover state. Hover over the live preview to see it - only appears in the CSS output if changed from the base state.
- Copy CSS and HTML separately. Two separate copy buttons for the two separate things you'll paste.
Frequently asked questions
Yes - hovering the preview button triggers the same hover color change the generated CSS `:hover` block will produce, using the component's own hover state rather than requiring a click.
No - the `:hover` block only appears when the hover background or hover text color is actually different from the base state, so the output stays minimal instead of including a no-op hover rule.