# Beste UI

> Beautiful, accessible blocks, pieces and components for shadcn/ui and Tailwind CSS, built for React and Next.js. Install one with the shadcn CLI and the code is yours to edit: no runtime dependency, nothing to upgrade.

Markdown rendition of https://ui.beste.co/tools/css-gradient. Every page on the site has one: add `.md` to any address, or send `Accept: text/markdown`.

Whole catalog for LLMs: https://ui.beste.co/llms.txt. Registry index: https://ui.beste.co/r/registry.json

---
[tools](/tools)/[css](/tools/category/css)

# CSS gradient generator

Build a linear, radial or conic gradient by dragging its stops, then copy it as plain CSS, as a Tailwind arbitrary value, or as a theme variable.

Type

LinearRadialConic

Angle135°

Stop 1#ffb703

Position0%

Stop 2#fb8500

Position46%

Stop 3#9d0208

Position100%

Add a stop

gradient.csscss

.hero {
  background-image: linear-gradient(135deg, #ffb703 0%, #fb8500 46%, #9d0208 100%);
}

usage.tsxtsx

<div class="bg-[linear-gradient(135deg,_#ffb703_0%,_#fb8500_46%,_#9d0208_100%)]" />

theme.csscss

@theme {
  --background-image-hero: linear-gradient(135deg, #ffb703 0%, #fb8500 46%, #9d0208 100%);
}

/* then: <div class="bg-hero" /> */

[Made something you like?Hero blocks to put it behind](/blocks/hero)

## Questions

Why does the Tailwind class use underscores?+

Tailwind arbitrary values cannot contain spaces, so every space in the gradient becomes an underscore. Tailwind turns them back into spaces when it writes the CSS, so bg-\[linear-gradient(135deg,\_#fb7185\_0%,\_#8b5cf6\_100%)\] is the gradient you built.

When is a theme variable better than a class?+

When the gradient is used more than once. A --background-image-\* entry in @theme gives you a named utility, so the gradient lives in one place and every use of it changes together.

Can I make a hard edge instead of a fade?+

Yes. Drag one stop past the next so the two sit at the same position, or place them a percent apart. Stops are written in the order you set them and are never sorted, which is what makes stripes possible.

Why does my gradient show visible bands?+

Because 8 bits per channel cannot hold every step of a slow, wide ramp, so it steps instead. The usual fix is a faint noise overlay, a couple of percent at most, which breaks the bands up. Wider gradients and low-contrast pairs band the worst.

## Related tools

[Box shadow generatorBuild a layered box-shadow the way real interfaces use it, a tight edge under a wide soft lift, then copy it as CSS, a Tailwind class or a theme token.](/tools/box-shadow)[Tailwind color scale generatorTurn one hex color into a full 50 to 950 Tailwind scale in OKLCH, with the @theme block and the shadcn tokens ready to paste.](/tools/tailwind-color-scale)[Border radius generatorSet each corner on its own, read the shorthand as it collapses, and copy it as CSS, a Tailwind arbitrary value or a theme token.](/tools/border-radius)

Ship it · Ship it · Ship it · Ship it · Ship it · Ship it · Ship it · Ship it · Ship it · Ship it · Ship it · Ship it · Ship it · Ship it · Ship it · Ship it · 

## The tools are free. So is most of the library.

1935 blocks and 989 pieces for shadcn/ui and Tailwind, built on the same tokens these tools write. Install one with a command and the code is yours.

[Browse the blocksBrowse the blocks](/blocks)

No signup for the tools. MIT for free blocks, commercial licence for Pro.

## Ship the interface, keep the code.

New blocks, pieces and components every week. Install one with a command and it is yours to edit. No runtime dependency, no upgrade path to fight.

[Browse the libraryBrowse the library](/blocks)[See pricingSee pricing](/pricing)

### Library

* [Blocks](/blocks)
* [Pages](/pages)
* [Pieces](/pieces)
* [Components](/components)
* [Search](/search)

### Learn

* [Docs](/docs)
* [AI & MCP](/docs/mcp)
* [Blog](/blog)
* [Free tools](/tools)
* [What's new?](/changelog)
* [Website Builder](https://beste.co)

### More

* [Pricing](/pricing)
* [Referrals](/referrals)
* [License](/license)
* [GitHub](https://github.com/beste-co/beste-ui)

### Shadcn Blocks

* [Shadcn Hero Blocks](/blocks/hero)
* [Shadcn Feature Blocks](/blocks/feature)
* [Shadcn Pricing Blocks](/blocks/pricing)
* [Shadcn CTA Blocks](/blocks/cta)
* [Shadcn FAQ Blocks](/blocks/faq)
* [Shadcn About Blocks](/blocks/about)
* [Shadcn Stats Blocks](/blocks/stats)
* [Shadcn Footer Blocks](/blocks/footer)
* [Shadcn Navigation Blocks](/blocks/navigation)
* [Shadcn Auth Blocks](/blocks/auth)
* [Shadcn Ecommerce Blocks](/blocks/ecommerce)
* [Shadcn Portfolio Blocks](/blocks/portfolio)
* [Shadcn Showcase Blocks](/blocks/showcase)
* [Shadcn Careers Blocks](/blocks/careers)
* [Shadcn Onboarding Blocks](/blocks/onboarding)
* [Shadcn Coming Soon Blocks](/blocks/coming-soon)
* [Shadcn Post Blocks](/blocks/post)
* [Shadcn Legal Blocks](/blocks/legal)
* [Shadcn Workflow Blocks](/blocks/workflow)
* [Shadcn News Blocks](/blocks/news)

© 2026, [Beste](https://beste.co). All rights reserved.