Quick reference

underline-offset-autotext-underline-offset: auto;
underline-offset-0text-underline-offset: 0px;
underline-offset-1text-underline-offset: 1px;
underline-offset-2text-underline-offset: 2px;
underline-offset-4text-underline-offset: 4px;
underline-offset-8text-underline-offset: 8px;

Basic usage

Setting the underline offset

Use the underline-offset-{width} utilities to change the offset of a text underline.


The quick brown fox jumps over the lazy dog.


The quick brown fox jumps over the lazy dog.


The quick brown fox jumps over the lazy dog.


The quick brown fox jumps over the lazy dog.

<p class="underline underline-offset-1 ...">The quick brown fox...</p>
<p class="underline underline-offset-2 ...">The quick brown fox...</p>
<p class="underline underline-offset-4 ...">The quick brown fox...</p>
<p class="underline underline-offset-8 ...">The quick brown fox...</p>

Applying conditionally

Hover, focus, and other states

Tailwind lets you conditionally apply utility classes in different states using variant modifiers. For example, use hover:underline-offset-4 to only apply the underline-offset-4 utility on hover.

<p class="underline hover:underline-offset-4">
  <!-- ... -->

For a complete list of all available state modifiers, check out the Hover, Focus, & Other States documentation.

Breakpoints and media queries

You can also use variant modifiers to target media queries like responsive breakpoints, dark mode, prefers-reduced-motion, and more. For example, use md:underline-offset-4 to apply the underline-offset-4 utility at only medium screen sizes and above.

<p class="underline md:underline-offset-4">
  <!-- ... -->

To learn more, check out the documentation on Responsive Design, Dark Mode and other media query modifiers.

Using custom values

Customizing your theme

You can customize the underline-offset-{width} utilities by editing theme.textUnderlineOffset or theme.extend.textUnderlineOffset in your tailwind.config.js file.

module.exports = {
  theme: {
    extend: {
      textUnderlineOffset: {
        3: '3px',

Learn more about customizing the default theme in the theme customization documentation.

Arbitrary values

If you need to use a one-off text-underline-offset value that doesn’t make sense to include in your theme, use square brackets to generate a property on the fly using any arbitrary value.

<p class="underline-offset-[3px]">
  <!-- ... -->

Learn more about arbitrary value support in the arbitrary values documentation.