components
Tailwind CSS Button
Browse and customize beautiful Tailwind CSS buttons in various styles and states, from active to disabled, allowing users to take actions or make choices.
The standard format for button is component class btn
, accompanied by modifier class btn-{semantic-color}
.
<button class="btn">Default</button>
<button class="btn btn-primary">Primary</button>
<button class="btn btn-secondary">Secondary</button>
<button class="btn btn-accent">Accent</button>
<button class="btn btn-info">Info</button>
<button class="btn btn-success">Success</button>
<button class="btn btn-warning">Warning</button>
<button class="btn btn-error">Error</button>
Add modifier class btn-soft
for soft colored buttons.
<button class="btn btn-soft">Default</button>
<button class="btn btn-soft btn-primary">Primary</button>
<button class="btn btn-soft btn-secondary">Secondary</button>
<button class="btn btn-soft btn-accent">Accent</button>
<button class="btn btn-soft btn-info">Info</button>
<button class="btn btn-soft btn-success">Success</button>
<button class="btn btn-soft btn-warning">Warning</button>
<button class="btn btn-soft btn-error">Error</button>
Add modifier class btn-outline
for outline colored buttons.
<button class="btn btn-outline">Default</button>
<button class="btn btn-outline btn-primary">Primary</button>
<button class="btn btn-outline btn-secondary">Secondary</button>
<button class="btn btn-outline btn-accent">Accent</button>
<button class="btn btn-outline btn-info">Info</button>
<button class="btn btn-outline btn-success">Success</button>
<button class="btn btn-outline btn-warning">Warning</button>
<button class="btn btn-outline btn-error">Error</button>
Add modifier class btn-text
for text colored buttons.
<button class="btn btn-text">Default</button>
<button class="btn btn-text btn-primary">Primary</button>
<button class="btn btn-text btn-secondary">Secondary</button>
<button class="btn btn-text btn-accent">Accent</button>
<button class="btn btn-text btn-info">Info</button>
<button class="btn btn-text btn-success">Success</button>
<button class="btn btn-text btn-warning">Warning</button>
<button class="btn btn-text btn-error">Error</button>
Add modifier class btn-gradient
for gradient colored buttons.
<button class="btn btn-gradient">Default</button>
<button class="btn btn-gradient btn-primary">Primary</button>
<button class="btn btn-gradient btn-secondary">Secondary</button>
<button class="btn btn-gradient btn-accent">Accent</button>
<button class="btn btn-gradient btn-info">Info</button>
<button class="btn btn-gradient btn-success">Success</button>
<button class="btn btn-gradient btn-warning">Warning</button>
<button class="btn btn-gradient btn-error">Error</button>
Add modifier class waves
for wave effect in buttons.
<button class="btn btn-primary waves waves-light">Primary</button>
<button class="btn btn-soft btn-primary waves waves-primary">Primary</button>
<button class="btn btn-outline btn-primary waves waves-primary">Primary</button>
<button class="btn btn-text btn-primary waves waves-primary">Primary</button>
<button class="btn btn-gradient btn-primary waves waves-light">Primary</button>
Use the rounded-full
utility class to make buttons circular. The default shape of the button but can be altered by using TailwindCSS Border Radius utility classes.
<button class="btn btn-primary rounded-full">Primary</button>
<button class="btn btn-soft btn-primary rounded-full">Primary</button>
<button class="btn btn-outline btn-primary rounded-full">Primary</button>
<button class="btn btn-gradient btn-primary rounded-full">Primary</button>
This is the default shape of button.
<button class="btn btn-primary">Primary</button>
<button class="btn btn-soft btn-primary">Primary</button>
<button class="btn btn-outline btn-primary">Primary</button>
<button class="btn btn-gradient btn-primary">Primary</button>
Use the btn-active
class to force the button to show the active state and the btn-disabled
class to force the button to show the disabled state.
Use state classes with any button variants.
<button class="btn btn-primary">Default</button>
<button class="btn btn-primary btn-active">Active</button>
<button class="btn btn-primary btn-disabled">Disabled</button>
Add responsive class btn-{size}
where {size} = xs|sm|md|lg|xl
for button of different sizes.
<button class="btn btn-primary btn-xs">Tiny</button>
<button class="btn btn-primary btn-sm">Small</button>
<button class="btn btn-primary">Default</button>
<button class="btn btn-primary btn-lg">Large</button>
<button class="btn btn-primary btn-xl">Extra Large</button>
To create a wide button, add the btn-wide
class which provides additional horizontal padding.
<button class="btn btn-primary btn-wide">Wide</button>
To create a wide button, add the btn-block
class which occupies the full width of the parent container.
<button class="btn btn-primary btn-block">Block</button>
This button will have different sizes on different browser viewpoints.
<button class="btn btn-primary btn-sm md:btn-md lg:btn-lg">Responsive</button>
Use any icons at start/end the button.
<div class="flex w-full flex-wrap gap-2">
<button class="btn btn-primary"> <span class="icon-[tabler--star] size-4.5 shrink-0"></span> Primary </button>
<button class="btn btn-soft btn-primary"> <span class="icon-[tabler--star] size-4.5 shrink-0"></span> Primary </button>
<button class="btn btn-outline btn-primary"> <span class="icon-[tabler--star] size-4.5 shrink-0"></span> Primary </button>
<button class="btn btn-gradient btn-primary"> <span class="icon-[tabler--star] size-4.5 shrink-0"></span> Primary </button>
</div>
<div class="flex w-full flex-wrap gap-2">
<button class="btn btn-primary"> Primary <span class="icon-[tabler--star] size-4.5 shrink-0"></span></button>
<button class="btn btn-soft btn-primary"> Primary <span class="icon-[tabler--star] size-4.5 shrink-0"></span></button>
<button class="btn btn-outline btn-primary"> Primary <span class="icon-[tabler--star] size-4.5 shrink-0"></span></button>
<button class="btn btn-gradient btn-primary"> Primary <span class="icon-[tabler--star] size-4.5 shrink-0"></span></button>
</div>
Use btn-square
or btn-circle
to create circle/square button with a 1:1 ratio.
<button class="btn btn-square btn-primary" aria-label="Icon Button"> <span class="icon-[tabler--star] size-4.5 shrink-0"></span></button>
<button class="btn btn-square btn-soft btn-primary" aria-label="Soft Icon Button"> <span class="icon-[tabler--star] size-4.5 shrink-0"></span></button>
<button class="btn btn-square btn-outline btn-primary" aria-label="Outline Icon Button"> <span class="icon-[tabler--star] size-4.5 shrink-0"></span></button>
<button class="btn btn-square btn-gradient btn-primary" aria-label="Gradient Icon Button"> <span class="icon-[tabler--star] size-4.5 shrink-0"></span></button>
<button class="btn btn-circle btn-primary" aria-label="Circle Icon Button"> <span class="icon-[tabler--star] size-4.5 shrink-0"></span></button>
<button class="btn btn-circle btn-soft btn-primary" aria-label="Circle Soft Icon Button"> <span class="icon-[tabler--star] size-4.5 shrink-0"></span></button>
<button class="btn btn-circle btn-outline btn-primary" aria-label="Circle Outline Icon Button"> <span class="icon-[tabler--star] size-4.5 shrink-0"></span></button>
<button class="btn btn-circle btn-gradient btn-primary" aria-label="Circle Gradient Icon Button"> <span class="icon-[tabler--star] size-4.5 shrink-0"></span></button>
You can use btn
class on <button>
, <input>
, <a>
, etc…
<a role="button" class="btn">Link</a>
<button type="submit" class="btn">Button</button>
<input type="button" value="Input" class="btn" />
<input type="submit" value="Submit" class="btn" />
<input type="radio" aria-label="Radio" class="btn" />
<input type="checkbox" aria-label="Checkbox" class="btn" />
<input type="reset" value="Reset" class="btn" />
Use the following sample code to build custom Social, Payment, and other types of buttons. This example also demonstrates how to create a custom button using two variables: --btn-color
and --btn-fg
.
<!-- Solid -->
<div class="flex w-full flex-wrap gap-2">
<button class="btn [--btn-color:#1877F2] text-white" >
<span class="icon-[tabler--brand-facebook] size-4.5 shrink-0"></span> Facebook
</button>
<button class="btn [--btn-color:#000] text-white" >
<span class="icon-[tabler--brand-x] size-4.5 shrink-0"></span> Twitter
</button>
<button class="btn [--btn-color:#0a66c2] text-white" >
<span class="icon-[tabler--brand-linkedin] size-4.5 shrink-0"></span> LinkedIn
</button>
<button class="btn [--btn-color:#2b3137] text-white" >
<span class="icon-[tabler--brand-github] size-4.5 shrink-0"></span> Github
</button>
</div>
<!-- Soft -->
<div class="flex w-full flex-wrap gap-2">
<button class="btn btn-soft [--btn-color:#1877F2]">
<span class="icon-[tabler--brand-facebook] size-4.5 shrink-0"></span> Facebook
</button>
<button class="btn btn-soft [--btn-color:#000]">
<span class="icon-[tabler--brand-x] size-4.5 shrink-0"></span> Twitter
</button>
<button class="btn btn-soft [--btn-color:#0a66c2]">
<span class="icon-[tabler--brand-linkedin] size-4.5 shrink-0"></span> LinkedIn
</button>
<button class="btn btn-soft [--btn-color:#2b3137]">
<span class="icon-[tabler--brand-github] size-4.5 shrink-0"></span> Github
</button>
</div>
<!-- Outline -->
<div class="flex w-full flex-wrap gap-2">
<button class="btn btn-outline [--btn-color:#1877F2]">
<span class="icon-[tabler--brand-facebook] size-4.5 shrink-0"></span> Facebook
</button>
<button class="btn btn-outline [--btn-color:#000]">
<span class="icon-[tabler--brand-x] size-4.5 shrink-0"></span> Twitter
</button>
<button class="btn btn-outline [--btn-color:#0a66c2]">
<span class="icon-[tabler--brand-linkedin] size-4.5 shrink-0"></span> LinkedIn
</button>
<button class="btn btn-outline [--btn-color:#2b3137]">
<span class="icon-[tabler--brand-github] size-4.5 shrink-0"></span> Github
</button>
</div>
<!-- Text -->
<div class="flex w-full flex-wrap gap-2">
<button class="btn btn-text [--btn-color:#1877F2]">
<span class="icon-[tabler--brand-facebook] size-4.5 shrink-0"></span> Facebook
</button>
<button class="btn btn-text [--btn-color:#000]">
<span class="icon-[tabler--brand-x] size-4.5 shrink-0"></span> Twitter
</button>
<button class="btn btn-text [--btn-color:#0a66c2]">
<span class="icon-[tabler--brand-linkedin] size-4.5 shrink-0"></span> LinkedIn
</button>
<button class="btn btn-text [--btn-color:#2b3137]">
<span class="icon-[tabler--brand-github] size-4.5 shrink-0"></span> Github
</button>
</div>
Use btn-square
or btn-circle
to create circle/square buttons.
<!-- Solid -->
<div class="flex w-full flex-wrap gap-2">
<button class="btn btn-square [--btn-color:#1877F2] text-white" aria-label="Facebook Icon Button" >
<span class="icon-[tabler--brand-facebook] size-4.5 shrink-0"></span>
</button>
<button class="btn btn-square [--btn-color:#000] text-white" aria-label="X Icon Button" >
<span class="icon-[tabler--brand-x] size-4.5 shrink-0"></span>
</button>
<button class="btn btn-circle [--btn-color:#0a66c2] text-white" aria-label="Linkedin Icon Button" >
<span class="icon-[tabler--brand-linkedin] size-4.5 shrink-0"></span>
</button>
<button class="btn btn-circle [--btn-color:#2b3137] text-white" aria-label="Github Icon Button" >
<span class="icon-[tabler--brand-github] size-4.5 shrink-0"></span>
</button>
</div>
<!-- Soft -->
<div class="flex w-full flex-wrap gap-2">
<button class="btn btn-square btn-soft [--btn-color:#1877F2]" aria-label="Facebook Soft Icon Button">
<span class="icon-[tabler--brand-facebook] size-4.5 shrink-0"></span>
</button>
<button class="btn btn-square btn-soft [--btn-color:#000]" aria-label="X Soft Icon Button">
<span class="icon-[tabler--brand-x] size-4.5 shrink-0"></span>
</button>
<button class="btn btn-circle btn-soft [--btn-color:#0a66c2]" aria-label="Linkedin Soft Icon Button">
<span class="icon-[tabler--brand-linkedin] size-4.5 shrink-0"></span>
</button>
<button class="btn btn-circle btn-soft [--btn-color:#2b3137]" aria-label="Github Soft Icon Button">
<span class="icon-[tabler--brand-github] size-4.5 shrink-0"></span>
</button>
</div>
<!-- Outline -->
<div class="flex w-full flex-wrap gap-2">
<button class="btn btn-square btn-outline [--btn-color:#1877F2]" aria-label="Facebook Outline Icon Button">
<span class="icon-[tabler--brand-facebook] size-4.5 shrink-0"></span>
</button>
<button class="btn btn-square btn-outline [--btn-color:#000]" aria-label="X Outline Icon Button">
<span class="icon-[tabler--brand-x] size-4.5 shrink-0"></span>
</button>
<button class="btn btn-circle btn-outline [--btn-color:#0a66c2]" aria-label="Linkedin Outline Icon Button">
<span class="icon-[tabler--brand-linkedin] size-4.5 shrink-0"></span>
</button>
<button class="btn btn-circle btn-outline [--btn-color:#2b3137]" aria-label="Github Outline Icon Button">
<span class="icon-[tabler--brand-github] size-4.5 shrink-0"></span>
</button>
</div>
<!-- Text -->
<div class="flex w-full flex-wrap gap-2">
<button class="btn btn-square btn-text [--btn-color:#1877F2]" aria-label="Facebook Outline Icon Button">
<span class="icon-[tabler--brand-facebook] size-4.5 shrink-0"></span>
</button>
<button class="btn btn-square btn-text [--btn-color:#1da1f2]" aria-label="X Outline Icon Button">
<span class="icon-[tabler--brand-x] size-4.5 shrink-0"></span>
</button>
<button class="btn btn-circle btn-text [--btn-color:#0a66c2]" aria-label="Linkedin Outline Icon Button">
<span class="icon-[tabler--brand-linkedin] size-4.5 shrink-0"></span>
</button>
<button class="btn btn-circle btn-text [--btn-color:#2b3137]" aria-label="Github Outline Icon Button">
<span class="icon-[tabler--brand-github] size-4.5 shrink-0"></span>
</button>
</div>
Use loading component to add a loader to the button.
<button class="btn btn-square btn-primary" aria-label="Loading Button">
<span class="loading loading-spinner"></span>
</button>
<button class="btn btn-primary">
<span class="loading loading-spinner"></span>
loading
</button>
Use class glass
to create a button with glass effect.
<button class="btn glass">Glass button</button>
You can achieve this style by combining the border-dashed
utility class with the btn-outline
modifier class.
<button class="btn btn-outline border-dashed">Default</button>
<button class="btn btn-outline border-dashed btn-primary">Primary</button>
<button class="btn btn-outline border-dashed btn-secondary">Secondary</button>
<button class="btn btn-outline border-dashed btn-accent">Accent</button>
<button class="btn btn-outline border-dashed btn-info">Info</button>
<button class="btn btn-outline border-dashed btn-success">Success</button>
<button class="btn btn-outline border-dashed btn-warning">Warning</button>
<button class="btn btn-outline border-dashed btn-error">Error</button>
Group a series of buttons together on a single line or stack them in a vertical/horizontal column
<div class="join">
<button class="btn btn-soft btn-primary join-item">Button</button>
<button class="btn btn-soft btn-primary join-item">Button</button>
<button class="btn btn-soft btn-primary join-item">Button</button>
</div>