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:
<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
<button class=" border-none rounded-none....">Button</button>
Preview
Tailwind Border Pill Button
<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.
<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
Border Radius Bottom
The rounded-b-\*
classes apply a rounded border to the bottom corners of an element.
<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
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.
<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
Responsive Border Radius
Tailwind supports responsive design out of the box. Use breakpoint prefixes to change border radius based on screen size:
<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:
<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
:
module.exports = { theme: { extend: { borderRadius: { card: "0.75rem", cta: "1.25rem", }, }, },};
<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:
<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
<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.
$23Rounded corners make the card visually distinct and tactile.
👤 Avatar Image
<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
<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-*
andring-*
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 withrounded-*
Tailwind Border Radius classes and Properties
Class | Properties |
---|---|
rounded-none | border-radius: 0px; |
rounded-sm | border-radius: 0.125rem; 2px |
rounded | border-radius: 0.25rem; 4px |
rounded-md | border-radius: 0.375rem; 6px |
rounded-lg | border-radius: 0.5rem; 8px |
rounded-xl | border-radius: 0.75rem; 12px |
rounded-2xl | border-radius: 1rem; 16px |
rounded-3xl | border-radius: 1.5rem; 24px |
rounded-full | border-radius: 9999px; |
rounded-s-none | border-start-start-radius: 0px; border-end-start-radius: 0px; |
rounded-s-sm | border-start-start-radius: 0.125rem; border-end-start-radius: 0.125rem; |
rounded-s | border-start-start-radius: 0.25rem; border-end-start-radius: 0.25rem; |
rounded-s-md | border-start-start-radius: 0.375rem; border-end-start-radius: 0.375rem; |
rounded-s-lg | border-start-start-radius: 0.5rem; border-end-start-radius: 0.5rem; |
rounded-s-xl | border-start-start-radius: 0.75rem; border-end-start-radius: 0.75rem; |
rounded-s-2xl | border-start-start-radius: 1rem; border-end-start-radius: 1rem; |
rounded-s-3xl | border-start-start-radius: 1.5rem; border-end-start-radius: 1.5rem; |
rounded-s-full | border-start-start-radius: 9999px; border-end-start-radius: 9999px; |
rounded-e-none | border-start-end-radius: 0px; border-end-end-radius: 0px; |
rounded-e-sm | border-start-end-radius: 0.125rem; border-end-end-radius: 0.125rem; |
rounded-e | border-start-end-radius: 0.25rem; border-end-end-radius: 0.25rem; |
rounded-e-md | border-start-end-radius: 0.375rem; border-end-end-radius: 0.375rem; |
rounded-e-lg | border-start-end-radius: 0.5rem; border-end-end-radius: 0.5rem; |
rounded-e-xl | border-start-end-radius: 0.75rem; border-end-end-radius: 0.75rem; |
rounded-e-2xl | border-start-end-radius: 1rem; border-end-end-radius: 1rem; |
rounded-e-3xl | border-start-end-radius: 1.5rem; border-end-end-radius: 1.5rem; |
rounded-e-full | border-start-end-radius: 9999px; border-end-end-radius: 9999px; |
rounded-t-none | border-top-left-radius: 0px; border-top-right-radius: 0px; |
rounded-t-sm | border-top-left-radius: 0.125rem; border-top-right-radius: 0.125rem; |
rounded-t | border-top-left-radius: 0.25rem; border-top-right-radius: 0.25rem; |
rounded-t-md | border-top-left-radius: 0.375rem; border-top-right-radius: 0.375rem; |
rounded-t-lg | border-top-left-radius: 0.5rem; border-top-right-radius: 0.5rem; |
rounded-t-xl | border-top-left-radius: 0.75rem; border-top-right-radius: 0.75rem; |
rounded-t-2xl | border-top-left-radius: 1rem; border-top-right-radius: 1rem; |
rounded-t-3xl | border-top-left-radius: 1.5rem; border-top-right-radius: 1.5rem; |
rounded-t-full | border-top-left-radius: 9999px; border-top-right-radius: 9999px; |
rounded-r-none | border-top-right-radius: 0px; border-bottom-right-radius: 0px; |
rounded-r-sm | border-top-right-radius: 0.125rem; border-bottom-right-radius: 0.125rem; |
rounded-r | border-top-right-radius: 0.25rem; border-bottom-right-radius: 0.25rem; |
rounded-r-md | border-top-right-radius: 0.375rem; border-bottom-right-radius: 0.375rem; |
rounded-r-lg | border-top-right-radius: 0.5rem; border-bottom-right-radius: 0.5rem; |
rounded-r-xl | border-top-right-radius: 0.75rem; border-bottom-right-radius: 0.75rem; |
rounded-r-2xl | border-top-right-radius: 1rem; border-bottom-right-radius: 1rem; |
rounded-r-3xl | border-top-right-radius: 1.5rem; border-bottom-right-radius: 1.5rem; |
rounded-r-full | border-top-right-radius: 9999px; border-bottom-right-radius: 9999px; |
rounded-b-none | border-bottom-right-radius: 0px; border-bottom-left-radius: 0px; |
rounded-b-sm | border-bottom-right-radius: 0.125rem; border-bottom-left-radius: 0.125rem; |
rounded-b | border-bottom-right-radius: 0.25rem; border-bottom-left-radius: 0.25rem; |
rounded-b-md | border-bottom-right-radius: 0.375rem; border-bottom-left-radius: 0.375rem; |
rounded-b-lg | border-bottom-right-radius: 0.5rem; border-bottom-left-radius: 0.5rem; |
rounded-b-xl | border-bottom-right-radius: 0.75rem; border-bottom-left-radius: 0.75rem; |
rounded-b-2xl | border-bottom-right-radius: 1rem; border-bottom-left-radius: 1rem; |
rounded-b-3xl | border-bottom-right-radius: 1.5rem; border-bottom-left-radius: 1.5rem; |
rounded-b-full | border-bottom-right-radius: 9999px; border-bottom-left-radius: 9999px; |
rounded-l-none | border-top-left-radius: 0px; border-bottom-left-radius: 0px; |
rounded-l-sm | border-top-left-radius: 0.125rem; border-bottom-left-radius: 0.125rem; |
rounded-l | border-top-left-radius: 0.25rem; border-bottom-left-radius: 0.25rem; |
rounded-l-md | border-top-left-radius: 0.375rem; border-bottom-left-radius: 0.375rem; |
rounded-l-lg | border-top-left-radius: 0.5rem; border-bottom-left-radius: 0.5rem; |
rounded-l-xl | border-top-left-radius: 0.75rem; border-bottom-left-radius: 0.75rem; |
rounded-l-2xl | border-top-left-radius: 1rem; border-bottom-left-radius: 1rem; |
rounded-l-3xl | border-top-left-radius: 1.5rem; border-bottom-left-radius: 1.5rem; |
rounded-l-full | border-top-left-radius: 9999px; border-bottom-left-radius: 9999px; |
rounded-ss-none | border-start-start-radius: 0px; |
rounded-ss-sm | border-start-start-radius: 0.125rem; 2px |
rounded-ss | border-start-start-radius: 0.25rem; 4px |
rounded-ss-md | border-start-start-radius: 0.375rem; 6px |
rounded-ss-lg | border-start-start-radius: 0.5rem; 8px |
rounded-ss-xl | border-start-start-radius: 0.75rem; 12px |
rounded-ss-2xl | border-start-start-radius: 1rem; 16px |
rounded-ss-3xl | border-start-start-radius: 1.5rem; 24px |
rounded-ss-full | border-start-start-radius: 9999px; |
rounded-se-none | border-start-end-radius: 0px; |
rounded-se-sm | border-start-end-radius: 0.125rem; 2px |
rounded-se | border-start-end-radius: 0.25rem; 4px |
rounded-se-md | border-start-end-radius: 0.375rem; 6px |
rounded-se-lg | border-start-end-radius: 0.5rem; 8px |
rounded-se-xl | border-start-end-radius: 0.75rem; 12px |
rounded-se-2xl | border-start-end-radius: 1rem; 16px |
rounded-se-3xl | border-start-end-radius: 1.5rem; 24px |
rounded-se-full | border-start-end-radius: 9999px; |
rounded-ee-none | border-end-end-radius: 0px; |
rounded-ee-sm | border-end-end-radius: 0.125rem; 2px |
rounded-ee | border-end-end-radius: 0.25rem; 4px |
rounded-ee-md | border-end-end-radius: 0.375rem; 6px |
rounded-ee-lg | border-end-end-radius: 0.5rem; 8px |
rounded-ee-xl | border-end-end-radius: 0.75rem; 12px |
rounded-ee-2xl | border-end-end-radius: 1rem; 16px |
rounded-ee-3xl | border-end-end-radius: 1.5rem; 24px |
rounded-ee-full | border-end-end-radius: 9999px; |
rounded-es-none | border-end-start-radius: 0px; |
rounded-es-sm | border-end-start-radius: 0.125rem; 2px |
rounded-es | border-end-start-radius: 0.25rem; 4px |
rounded-es-md | border-end-start-radius: 0.375rem; 6px |
rounded-es-lg | border-end-start-radius: 0.5rem; 8px |
rounded-es-xl | border-end-start-radius: 0.75rem; 12px |
rounded-es-2xl | border-end-start-radius: 1rem; 16px |
rounded-es-3xl | border-end-start-radius: 1.5rem; 24px |
rounded-es-full | border-end-start-radius: 9999px; |
rounded-tl-none | border-top-left-radius: 0px; |
rounded-tl-sm | border-top-left-radius: 0.125rem; 2px |
rounded-tl | border-top-left-radius: 0.25rem; 4px |
rounded-tl-md | border-top-left-radius: 0.375rem; 6px |
rounded-tl-lg | border-top-left-radius: 0.5rem; 8px |
rounded-tl-xl | border-top-left-radius: 0.75rem; 12px |
rounded-tl-2xl | border-top-left-radius: 1rem; 16px |
rounded-tl-3xl | border-top-left-radius: 1.5rem; 24px |
rounded-tl-full | border-top-left-radius: 9999px; |
rounded-tr-none | border-top-right-radius: 0px; |
rounded-tr-sm | border-top-right-radius: 0.125rem; 2px |
rounded-tr | border-top-right-radius: 0.25rem; 4px |
rounded-tr-md | border-top-right-radius: 0.375rem; 6px |
rounded-tr-lg | border-top-right-radius: 0.5rem; 8px |
rounded-tr-xl | border-top-right-radius: 0.75rem; 12px |
rounded-tr-2xl | border-top-right-radius: 1rem; 16px |
rounded-tr-3xl | border-top-right-radius: 1.5rem; 24px |
rounded-tr-full | border-top-right-radius: 9999px; |
rounded-br-none | border-bottom-right-radius: 0px; |
rounded-br-sm | border-bottom-right-radius: 0.125rem; 2px |
rounded-br | border-bottom-right-radius: 0.25rem; 4px |
rounded-br-md | border-bottom-right-radius: 0.375rem; 6px |
rounded-br-lg | border-bottom-right-radius: 0.5rem; 8px |
rounded-br-xl | border-bottom-right-radius: 0.75rem; 12px |
rounded-br-2xl | border-bottom-right-radius: 1rem; 16px |
rounded-br-3xl | border-bottom-right-radius: 1.5rem; 24px |
rounded-br-full | border-bottom-right-radius: 9999px; |
rounded-bl-none | border-bottom-left-radius: 0px; |
rounded-bl-sm | border-bottom-left-radius: 0.125rem; 2px |
rounded-bl | border-bottom-left-radius: 0.25rem; 4px |
rounded-bl-md | border-bottom-left-radius: 0.375rem; 6px |
rounded-bl-lg | border-bottom-left-radius: 0.5rem; 8px |
rounded-bl-xl | border-bottom-left-radius: 0.75rem; 12px |
rounded-bl-2xl | border-bottom-left-radius: 1rem; 16px |
rounded-bl-3xl | border-bottom-left-radius: 1.5rem; 24px |
rounded-bl-full | border-bottom-left-radius: 9999px; |
✨ What's Next?
Now that you’ve mastered Tailwind Border radius, try experimenting with:
Windframe Tailwind blocks
Windframe is a drag and drop builder for rapidly building tailwind css websites and UIs
Start building stunning tailwind UIs!
