Last updated: 10 March 2026

Tailwind CSS Border Radius

Apply rounded corners in Tailwind CSS with rounded-sm to rounded-full. Learn per-side rounding, responsive border radius, and custom arbitrary values.


Rounded corners are a small detail that makes a UI feel considered. In Tailwind CSS, the rounded-* utilities control border radius without custom CSS. Use them to soften layouts, make components stand out, and keep your design language consistent.

This guide gives you complete control over rounded-* classes—from basics to responsive tricks, custom values, and layout patterns used in modern interfaces.

How to apply Border Radius in Tailwind CSS

Format: rounded-{size}. Tailwind ships with sm, md, lg, xl, 2xl, and full (for perfect circles).

html
<div class="rounded ..."></div>
<div class="rounded-md ..."></div>
<div class="rounded-lg ..."></div>
<div class="rounded-full ..."></div>

Preview

Rounded

Rounded-md

Rounded-lg

Rounded-full

Targeting Specific Corners

You don’t always want every corner rounded. Tailwind lets you target sides and single corners.

Tailwind No Rounded Button

html
<button class=" border-none rounded-none....">Button</button>

Preview

Tailwind Border Pill Button

html
<button type="button" class="rounded-full....">Click me</button>

Preview

Top and Bottom Only

rounded-t-* rounds the top corners. rounded-b-* rounds the bottom corners.

html
<div
class="flex space-x-4 justify-center items-center p-5 text-white font-bold bg-indigo-100 rounded-t-md"
>
<div class="rounded-t-md bg-indigo-500 p-4">Top borders Only</div>
</div>

Preview

Top borders Only
html
<div
class="flex space-x-4 justify-center items-center p-5 text-white font-bold bg-indigo-100 rounded-t-md"
>
<div class="rounded-b-lg bg-indigo-500 p-4">bottom borders Only</div>
</div>

Preview

bottom borders Only

One-Sided / Single Corner Radius

For precise control: rounded-tl-*, rounded-tr-*, and the logical versions rounded-ss-*, rounded-se-*, rounded-es-*, rounded-ee-*.

html
<div
class="flex space-x-4 justify-center items-center p-5 text-white font-bold bg-indigo-100 rounded-t-md"
>
<div class="rounded-es-md bg-indigo-500 p-4">bottm End Start Border Only</div>
<div class="rounded-tr-md bg-indigo-500 p-4">Top right end border</div>
</div>

Preview

bottm End Start Border Only
Top right end border

Responsive Border Radius

Scale corners by breakpoint like any other utility.

html
<div class="bg-indigo-50 flex-1 justify-center items-center p-4 rounded-t">
<div
class=" bg-indigo-500 max-w-md text-center text-white p-3 rounded-sm md:rounded-md lg:rounded-2xl"
>
Responsive border radius
</div>
</div>

Preview

Responsive border radius

Using Arbitrary Values

When you need exact values, use bracket notation.

html
<div class="bg-indigo-50 p-4 space-y-5 rounded-t ">
<div class="bg-indigo-500 p-3 text-white text-center font-bold rounded-md">
6px border radius
</div>
<div
class=" bg-indigo-500 p-3 text-white text-center font-bold rounded-tr-3xl"
>
Top-right 1.5rem
</div>
</div>

Preview

6px border radius

Top-right 1.5rem

You can use any CSS-compatible unit like em, rem, px, %.

Custom Border Radius in Tailwind Config

To maintain consistency across your project, define custom sizes in tailwind.config.js:

js
module.exports = {
theme: {
extend: {
borderRadius: {
card: "0.75rem",
cta: "1.25rem",
},
},
},
};
html
<div class="bg-indigo-50 p-4 flex justify-center items-center rounded-t ">
<div class="flex-col bg-white p-4 rounded-card max-w-md">
<h1 class="font-bold text-2xl mb-2">Card</h1>
<p class="text-gray-500">This cards a Custom card radius</p>
</div>
</div>

Preview

Card

This cards a Custom card radius

Interaction States: Hover and Focus

Radius can change on interaction like color or shadow.

html
<div class="bg-indigo-50 p-4 flex justify-center items-center rounded-t ">
<button
class="bg-indigo-500 p-3 text-white font-bold rounded-md hover:rounded-lg focus:rounded-full transition-all"
>
Hover me
</button>
</div>

Preview

transition-all keeps the change smooth instead of jumpy.

Real-World UI Component Examples

Card Layout

html
<div class="bg-indigo-50 p-4 flex justify-center items-center rounded-t ">
<div class="rounded-lg shadow-md p-3 bg-white max-w-md pb-5">
<img
class="object-cover rounded"
src="https://images.unsplash.com/photo-1602143407151-7111542de6e8?w=500&auto=format&fit=crop&q=60&ixlib=rb-4.1.0&ixid=M3wxMjA3fDB8MHxzZWFyY2h8N3x8cHJvZHVjdHxlbnwwfHwwfHx8MA%3D%3D"
/>
<div class="flex-col">
<h1 class="font-bold my-3 text-2xl">Product Card</h1>
<p class="text-gray-600 my-2">
This describes the different aspect of the product listed to allow you
make better decison on whether to buy it or not.
</p>
<span class="flex my-2 text-gray-800 font-medium">$23</span>
<button
class="bg-indigo-500 w-full text-center font-bold text-white rounded-2xl py-2"
>
Buy
</button>
</div>
</div>
</div>

Preview

Product Card

This describes the different aspect of the product listed to allow you make better decison on whether to buy it or not.

$23

Rounded corners make the card visually distinct and tactile.

Avatar Image

html
<div class="bg-indigo-50 p-4 flex justify-center items-center rounded-t ">
<div class="rounded-lg shadow-md p-3 bg-white max-w-md pb-5">
<img
src="https://images.unsplash.com/photo-1534528741775-53994a69daeb?w=200&auto=format&fit=crop&q=60&ixlib=rb-4.1.0&ixid=M3wxMjA3fDB8MHxzZWFyY2h8MTB8fHByb2ZpbGV8ZW58MHx8MHx8fDA%3D"
class="w-24 h-24 rounded-full"
/>
</div>
</div>

Preview

Perfect for circular profile photos or initials.

html
<div class="bg-indigo-50 p-4 flex justify-center items-center rounded-t ">
<div class="rounded-lg shadow-md p-3 bg-white max-w-md pb-5">
<div class="rounded-t-lg bg-indigo-400 p-4 text-white font-bold">
Modal Title
</div>
</div>
</div>

Preview

Modal Title

Top corners only for modals that sit on rectangular content areas.

Best Practices

  • Prefer semantic rounded-* sizes before jumping to arbitrary values.

  • Define tokens in your config to keep a consistent system.

  • Use rounded-none to reset unwanted rounding in nested UIs.

  • Pair with shadow-* or ring-* for depth.

  • Animate radius changes on hover/focus with transition-*.

Tailwind Border Radius classes and Properties

ClassProperties
rounded-noneborder-radius: 0px;
rounded-smborder-radius: 0.125rem; 2px
roundedborder-radius: 0.25rem; 4px
rounded-mdborder-radius: 0.375rem; 6px
rounded-lgborder-radius: 0.5rem; 8px
rounded-xlborder-radius: 0.75rem; 12px
rounded-2xlborder-radius: 1rem; 16px
rounded-3xlborder-radius: 1.5rem; 24px
rounded-fullborder-radius: 9999px;
rounded-s-noneborder-start-start-radius: 0px;
border-end-start-radius: 0px;
rounded-s-smborder-start-start-radius: 0.125rem;
border-end-start-radius: 0.125rem;
rounded-sborder-start-start-radius: 0.25rem;
border-end-start-radius: 0.25rem;
rounded-s-mdborder-start-start-radius: 0.375rem;
border-end-start-radius: 0.375rem;
rounded-s-lgborder-start-start-radius: 0.5rem;
border-end-start-radius: 0.5rem;
rounded-s-xlborder-start-start-radius: 0.75rem;
border-end-start-radius: 0.75rem;
rounded-s-2xlborder-start-start-radius: 1rem;
border-end-start-radius: 1rem;
rounded-s-3xlborder-start-start-radius: 1.5rem;
border-end-start-radius: 1.5rem;
rounded-s-fullborder-start-start-radius: 9999px;
border-end-start-radius: 9999px;
rounded-e-noneborder-start-end-radius: 0px;
border-end-end-radius: 0px;
rounded-e-smborder-start-end-radius: 0.125rem;
border-end-end-radius: 0.125rem;
rounded-eborder-start-end-radius: 0.25rem;
border-end-end-radius: 0.25rem;
rounded-e-mdborder-start-end-radius: 0.375rem;
border-end-end-radius: 0.375rem;
rounded-e-lgborder-start-end-radius: 0.5rem;
border-end-end-radius: 0.5rem;
rounded-e-xlborder-start-end-radius: 0.75rem;
border-end-end-radius: 0.75rem;
rounded-e-2xlborder-start-end-radius: 1rem;
border-end-end-radius: 1rem;
rounded-e-3xlborder-start-end-radius: 1.5rem;
border-end-end-radius: 1.5rem;
rounded-e-fullborder-start-end-radius: 9999px;
border-end-end-radius: 9999px;
rounded-t-noneborder-top-left-radius: 0px;
border-top-right-radius: 0px;
rounded-t-smborder-top-left-radius: 0.125rem;
border-top-right-radius: 0.125rem;
rounded-tborder-top-left-radius: 0.25rem;
border-top-right-radius: 0.25rem;
rounded-t-mdborder-top-left-radius: 0.375rem;
border-top-right-radius: 0.375rem;
rounded-t-lgborder-top-left-radius: 0.5rem;
border-top-right-radius: 0.5rem;
rounded-t-xlborder-top-left-radius: 0.75rem;
border-top-right-radius: 0.75rem;
rounded-t-2xlborder-top-left-radius: 1rem;
border-top-right-radius: 1rem;
rounded-t-3xlborder-top-left-radius: 1.5rem;
border-top-right-radius: 1.5rem;
rounded-t-fullborder-top-left-radius: 9999px;
border-top-right-radius: 9999px;
rounded-r-noneborder-top-right-radius: 0px;
border-bottom-right-radius: 0px;
rounded-r-smborder-top-right-radius: 0.125rem;
border-bottom-right-radius: 0.125rem;
rounded-rborder-top-right-radius: 0.25rem;
border-bottom-right-radius: 0.25rem;
rounded-r-mdborder-top-right-radius: 0.375rem;
border-bottom-right-radius: 0.375rem;
rounded-r-lgborder-top-right-radius: 0.5rem;
border-bottom-right-radius: 0.5rem;
rounded-r-xlborder-top-right-radius: 0.75rem;
border-bottom-right-radius: 0.75rem;
rounded-r-2xlborder-top-right-radius: 1rem;
border-bottom-right-radius: 1rem;
rounded-r-3xlborder-top-right-radius: 1.5rem;
border-bottom-right-radius: 1.5rem;
rounded-r-fullborder-top-right-radius: 9999px;
border-bottom-right-radius: 9999px;
rounded-b-noneborder-bottom-right-radius: 0px;
border-bottom-left-radius: 0px;
rounded-b-smborder-bottom-right-radius: 0.125rem;
border-bottom-left-radius: 0.125rem;
rounded-bborder-bottom-right-radius: 0.25rem;
border-bottom-left-radius: 0.25rem;
rounded-b-mdborder-bottom-right-radius: 0.375rem;
border-bottom-left-radius: 0.375rem;
rounded-b-lgborder-bottom-right-radius: 0.5rem;
border-bottom-left-radius: 0.5rem;
rounded-b-xlborder-bottom-right-radius: 0.75rem;
border-bottom-left-radius: 0.75rem;
rounded-b-2xlborder-bottom-right-radius: 1rem;
border-bottom-left-radius: 1rem;
rounded-b-3xlborder-bottom-right-radius: 1.5rem;
border-bottom-left-radius: 1.5rem;
rounded-b-fullborder-bottom-right-radius: 9999px;
border-bottom-left-radius: 9999px;
rounded-l-noneborder-top-left-radius: 0px;
border-bottom-left-radius: 0px;
rounded-l-smborder-top-left-radius: 0.125rem;
border-bottom-left-radius: 0.125rem;
rounded-lborder-top-left-radius: 0.25rem;
border-bottom-left-radius: 0.25rem;
rounded-l-mdborder-top-left-radius: 0.375rem;
border-bottom-left-radius: 0.375rem;
rounded-l-lgborder-top-left-radius: 0.5rem;
border-bottom-left-radius: 0.5rem;
rounded-l-xlborder-top-left-radius: 0.75rem;
border-bottom-left-radius: 0.75rem;
rounded-l-2xlborder-top-left-radius: 1rem;
border-bottom-left-radius: 1rem;
rounded-l-3xlborder-top-left-radius: 1.5rem;
border-bottom-left-radius: 1.5rem;
rounded-l-fullborder-top-left-radius: 9999px;
border-bottom-left-radius: 9999px;
rounded-ss-noneborder-start-start-radius: 0px;
rounded-ss-smborder-start-start-radius: 0.125rem; 2px
rounded-ssborder-start-start-radius: 0.25rem; 4px
rounded-ss-mdborder-start-start-radius: 0.375rem; 6px
rounded-ss-lgborder-start-start-radius: 0.5rem; 8px
rounded-ss-xlborder-start-start-radius: 0.75rem; 12px
rounded-ss-2xlborder-start-start-radius: 1rem; 16px
rounded-ss-3xlborder-start-start-radius: 1.5rem; 24px
rounded-ss-fullborder-start-start-radius: 9999px;
rounded-se-noneborder-start-end-radius: 0px;
rounded-se-smborder-start-end-radius: 0.125rem; 2px
rounded-seborder-start-end-radius: 0.25rem; 4px
rounded-se-mdborder-start-end-radius: 0.375rem; 6px
rounded-se-lgborder-start-end-radius: 0.5rem; 8px
rounded-se-xlborder-start-end-radius: 0.75rem; 12px
rounded-se-2xlborder-start-end-radius: 1rem; 16px
rounded-se-3xlborder-start-end-radius: 1.5rem; 24px
rounded-se-fullborder-start-end-radius: 9999px;
rounded-ee-noneborder-end-end-radius: 0px;
rounded-ee-smborder-end-end-radius: 0.125rem; 2px
rounded-eeborder-end-end-radius: 0.25rem; 4px
rounded-ee-mdborder-end-end-radius: 0.375rem; 6px
rounded-ee-lgborder-end-end-radius: 0.5rem; 8px
rounded-ee-xlborder-end-end-radius: 0.75rem; 12px
rounded-ee-2xlborder-end-end-radius: 1rem; 16px
rounded-ee-3xlborder-end-end-radius: 1.5rem; 24px
rounded-ee-fullborder-end-end-radius: 9999px;
rounded-es-noneborder-end-start-radius: 0px;
rounded-es-smborder-end-start-radius: 0.125rem; 2px
rounded-esborder-end-start-radius: 0.25rem; 4px
rounded-es-mdborder-end-start-radius: 0.375rem; 6px
rounded-es-lgborder-end-start-radius: 0.5rem; 8px
rounded-es-xlborder-end-start-radius: 0.75rem; 12px
rounded-es-2xlborder-end-start-radius: 1rem; 16px
rounded-es-3xlborder-end-start-radius: 1.5rem; 24px
rounded-es-fullborder-end-start-radius: 9999px;
rounded-tl-noneborder-top-left-radius: 0px;
rounded-tl-smborder-top-left-radius: 0.125rem; 2px
rounded-tlborder-top-left-radius: 0.25rem; 4px
rounded-tl-mdborder-top-left-radius: 0.375rem; 6px
rounded-tl-lgborder-top-left-radius: 0.5rem; 8px
rounded-tl-xlborder-top-left-radius: 0.75rem; 12px
rounded-tl-2xlborder-top-left-radius: 1rem; 16px
rounded-tl-3xlborder-top-left-radius: 1.5rem; 24px
rounded-tl-fullborder-top-left-radius: 9999px;
rounded-tr-noneborder-top-right-radius: 0px;
rounded-tr-smborder-top-right-radius: 0.125rem; 2px
rounded-trborder-top-right-radius: 0.25rem; 4px
rounded-tr-mdborder-top-right-radius: 0.375rem; 6px
rounded-tr-lgborder-top-right-radius: 0.5rem; 8px
rounded-tr-xlborder-top-right-radius: 0.75rem; 12px
rounded-tr-2xlborder-top-right-radius: 1rem; 16px
rounded-tr-3xlborder-top-right-radius: 1.5rem; 24px
rounded-tr-fullborder-top-right-radius: 9999px;
rounded-br-noneborder-bottom-right-radius: 0px;
rounded-br-smborder-bottom-right-radius: 0.125rem; 2px
rounded-brborder-bottom-right-radius: 0.25rem; 4px
rounded-br-mdborder-bottom-right-radius: 0.375rem; 6px
rounded-br-lgborder-bottom-right-radius: 0.5rem; 8px
rounded-br-xlborder-bottom-right-radius: 0.75rem; 12px
rounded-br-2xlborder-bottom-right-radius: 1rem; 16px
rounded-br-3xlborder-bottom-right-radius: 1.5rem; 24px
rounded-br-fullborder-bottom-right-radius: 9999px;
rounded-bl-noneborder-bottom-left-radius: 0px;
rounded-bl-smborder-bottom-left-radius: 0.125rem; 2px
rounded-blborder-bottom-left-radius: 0.25rem; 4px
rounded-bl-mdborder-bottom-left-radius: 0.375rem; 6px
rounded-bl-lgborder-bottom-left-radius: 0.5rem; 8px
rounded-bl-xlborder-bottom-left-radius: 0.75rem; 12px
rounded-bl-2xlborder-bottom-left-radius: 1rem; 16px
rounded-bl-3xlborder-bottom-left-radius: 1.5rem; 24px
rounded-bl-fullborder-bottom-left-radius: 9999px;

✨ What's Next?

Now that you’ve mastered Tailwind Border radius, try experimenting with:

Windframe Tailwind blocks

Content

Windframe is an AI visual editor for rapidly building stunning web UIs & websites

Start building stunning web UIs & websites!

Build from scratch or select prebuilt tailwind templates