Classic Blue CSS Button
Solid · Rounded
253 presets · MIT licensed · no sign-up
Start from a hand-written button style instead of an empty canvas. Change the label, class name, color, corner radius and size, watch the result on the background it will actually ship on, then copy the code as CSS, HTML, React, styled-components or SCSS.
.btn-sunset {
display: inline-block;
padding: 13px 28px;
border: none;
border-radius: 12px;
background: linear-gradient(135deg, #f97316 0%, #ec4899 100%);
color: #ffffff;
font-family: inherit;
font-size: 15px;
font-weight: 600;
cursor: pointer;
transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.btn-sunset:hover {
transform: translateY(-2px);
box-shadow: 0 8px 20px rgba(236, 72, 153, 0.4);
}
.btn-sunset:active {
transform: translateY(0);
box-shadow: 0 4px 10px rgba(236, 72, 153, 0.3);
}
.btn-sunset:focus-visible {
outline: 2px solid #f97316;
outline-offset: 3px;
}
Loaded with the Sunset preset. Every style in the catalog opens in the same workbench.
Browse all 253 styles →The generator edits the stylesheet itself, not a screenshot of it. Every control below rewrites the CSS you copy, so the code you paste is the button you just looked at.
Put the button on the style's own background, or on a dark, light, colored, photographic or article-text surface. You can drop in your own image too — it is read locally in the browser and never uploaded.
The hover toggle holds the button in its hover state, so you can read a transition or an animated border without keeping the pointer still.
Change the visible text, then rename the CSS class. The rename covers every occurrence — selectors, keyframe names and the animation references that point at them — so the snippet stays self-consistent.
Pick a hue and every saturated color in the stylesheet rotates to it, keeping its own saturation, lightness and alpha. Neutral grays, near-white and near-black stay put, so shadows, borders and label text survive the change.
A 0–48px slider plus a pill toggle that jumps to fully rounded corners. Both rewrite the border-radius declarations in the exported CSS, not just the preview.
S, M and L scale every px value inside padding, font-size, width and height by 0.85, 1 and 1.2 — the proportions of the original design are preserved.
Every tab is generated from the CSS you just customized: a hue shift or a size change is already baked into the CSS, SCSS and styled-components output, while the HTML and React tabs carry the class name and label you chose. One click copies the active tab to the clipboard.
The radius control needs a simple single-value border-radius in the source CSS. It is available on 228 of the 253 styles; on the other 25 — asymmetric corners, percentage radii and organic shapes — the slider is disabled and marked n/a, because rewriting those values would break the silhouette the style is built on. Every other control stays live, and you can still adjust the corners by hand in the exported CSS.
The generator also customizes existing designs rather than composing arbitrary CSS from scratch: you pick the direction from the catalog, then tune it.
Keep the native button element, check the label and focus contrast against your real background rather than the preview stage, and add a visible :focus-visible state. If you keep the motion, pair it with a prefers-reduced-motion override. A generated style is a visual starting point, not an accessibility audit.
Starting points
Solid · Rounded
Solid · Rounded
Gradient · Rounded
Gradient · Rounded
Outline & Ghost · Rounded
Outline & Ghost · Rounded
3D & Tactile · Rounded
3D & Tactile · Pill
Neumorphic · Rounded
Neumorphic · Rounded
Glassmorphism · Rounded
Glassmorphism · Rounded
Neon & Glow · Rounded
Neon & Glow · Rounded
Retro · Square
Retro · Square
Brutalist · Rounded
Brutalist · Square
Pastel · Rounded
Pastel · Rounded
Dark UI · Rounded
Dark UI · Rounded
Minimal · Rounded
Minimal · Square
Futuristic · Cut Corner
Futuristic · Cut Corner
Playful · Rounded
Playful · Rounded
Each collection groups the styles that share a visual language, with notes on where the treatment works best. Any style you open there loads into this same generator.
Yes. Every one of the 253 styles opens in the same workbench with no account, sign-up or export limit. ButtonCraft Pro is a separate paid product for matching UI kits; it does not gate anything in the generator.
Colour, corner radius, a pill toggle, size, the button's label and its CSS class name. The generator rewrites the style's own stylesheet rather than layering overrides on top, so what you copy is the whole rule and nothing depends on ButtonCraft at runtime.
Yes. The workbench keeps your changes in the address bar, so copying the link and sending it reproduces the exact button you were looking at — no account and nothing saved on our side.
Plain CSS and HTML, a React component, styled-components and SCSS. The CSS can also be minified, and any button can be opened in CodePen in one click.
Licensing, browser support and framework questions are answered once, on the ButtonCraft FAQ.
Need the rest of the interface to match the button you generated?
See matching UI kits →Two optional extras load only if you allow them. Every button, preview and line of code works exactly the same either way. What each one does