Last updated: 3 July 2025

Tailwind CSS Border Radius

The tailwind border radius utility enables you to apply rounded corners to various sides of an element such as buttons, cards, or containers. To apply tailwind border radius, simply add rounded-[size].


Tailwind Border Radius

Whether you're just getting started with Tailwind CSS or you're deep into building reusable components, handling border radius correctly makes a real difference in how polished your UI feels. Rounded corners soften layouts, guide attention, and improve clarity—when used intentionally.

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

In Tailwind, border radius can be applied using utility classes in the format of rounded-{size}. By default, Tailwind provides the following border radius sizes: sm, md, lg, xl, and 2xl, where sm is the smallest radius and 2xl is the largest.

For example, to apply a medium border radius to a div, you would use the rounded-md class as shown below:

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 can apply radius to a side or even a single corner:

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

Border Radius Top

The rounded-t-_ classes in Tailwind CSS are used to apply a rounded border to the top corners of an element, where _ can be a size like sm, lg, or full.

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

Border Radius Bottom

The rounded-b-\* classes apply a rounded border to the bottom corners of an element.

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

Border on one side

The rounded-ee, rounded-es, rounded-ss, rounded-se, rounded-tl etc . classes add a border to one specific side of an element.

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

Tailwind supports responsive design out of the box. Use breakpoint prefixes to change border radius based on screen size:

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

Start with smaller values on mobile, scale up as needed. This is especially helpful for:

  • Cards or panels with tighter spacing on mobile

  • Modals that expand on larger screens

Using Arbitrary Values

If the default values don’t match your design, use arbitrary values:

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-[6px]">
6px border radius
</div>
<div
class=" bg-indigo-500 p-3 text-white text-center font-bold rounded-tr-[1.5rem]"
>
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

You can modify border radius on interaction using state variants:

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

Adding transition-all ensures the change is animated and feels intentional

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.

📂 Modal Header

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

  • Use semantic rounded-* classes first before arbitrary values
  • Maintain visual consistency by defining custom tokens in your config
  • Use rounded-none to override unwanted rounding in nested components
  • Combine with shadow-* and ring-* for layered UI
  • Animate radius changes with transitions for interactive elements

Accessibility Considerations

  • Rounded corners have no direct accessibility implications
  • However, combined with color and contrast, they improve visual grouping
  • Use focus:outline-none + focus:ring-* to maintain keyboard accessibility on buttons or links with rounded-*

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 a drag and drop builder for rapidly building tailwind css websites and UIs

Start building stunning tailwind UIs! 

Build from scratch or select prebuilt tailwind templates