Post Title
Readable paragraph with optimal vertical rhythm.
Tailwind line height utility classes controls the line height to an element. These utility classes are named using the format leading-{keyword}, where {keyword} represents the line height value.
Controlling line-height or leading-*
is critical for text clarity and visual rhythm — especially across breakpoints, font sizes, and UI components. With Tailwind's line-height class, you can adjust the spacing between lines to achieve the desired line height and improve the readability of your text.
Relative line heights are based on the font size of the element. For example, leading-tight
with a relative value of 1.25 means the line height will be 1.25 times the font size.
To apply tailwind line height to an element, you can use the leading-{value}
utility class, where {value}
represents the line height value.
leading-none
: Sets the line height to none, causing the lines to overlap.leading-tight
: Sets a tight line height, reducing the spacing between lines.leading-snug
: Sets a snug line height, slightly reducing the spacing between lines.leading-normal
: Sets the default line height.leading-relaxed
: Sets a relaxed line height, increasing the spacing between lines.leading-loose
: Sets a loose line height, further increasing the spacing between lines.<p class="leading-loose"> Lorem ipsum dolor sit amet, consectetur adipisicing elit. Assumenda, quia temporibus eveniet a libero incidunt suscipit.</p><p class="leading-snug"> Lorem ipsum dolor sit amet, consectetur adipisicing elit. Assumenda, quia temporibus eveniet a libero incidunt suscipit.</p>
Leading-relaxed
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Assumenda, quia temporibus eveniet a libero incidunt suscipit.
Leading-tight
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Assumenda, quia temporibus eveniet a libero incidunt suscipit.
Fixed line heights are specified in absolute units, such as pixels. This ensures that the line height remains consistent regardless of the font size.
<p class="text-base leading-[42px]"> This paragraph has a fixed line height of 32 pixels.</p><p class="text-base leading-[24px]"> This paragraph has a fixed line height of 32 pixels.</p>
Leading-relaxed
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Assumenda, quia temporibus eveniet a libero incidunt suscipit.
Leading-tight
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Assumenda, quia temporibus eveniet a libero incidunt suscipit.
Tailwind CSS allows you to apply line height classes responsively at different breakpoints. To use responsive line height classes, you can append the breakpoint prefix to the utility class. For example, md:leading-snug sets a snug line height starting from the medium breakpoint and above.
<p class="leading-normal md:leading-loose">Lorem ipsum dolor sit amet.</p>
Lorem ipsum dolor sit amet.
In the above example, the line height is set to normal by default (leading-normal), but starting from the medium breakpoint and above, the line height is changed to snug (md:leading-loose).
For precise control beyond the default scale, use arbitrary values:
<p class="leading-[2.45]">Exact numerical line-height</p><p class="leading-[32px]">Pixel-specific line-height</p>
Exact numerical line-height
Pixel-specific line-height
Helpful for matching Figma specs or applying specific typographic rules.
Tailwind CSS allows for adding custom line heights. This is particularly useful when you need specific spacing that isn't covered by the default classes.
module.exports = { theme: { extend: { lineHeight: { "extra-tight": "1.1", "extra-loose": "3.5", // Adding a custom line height }, }, },};
Use these custom classes in your HTML:
<p class="leading-extra-tight"> This paragraph has a custom line height of 1.1.</p><p class="leading-extra-loose"> This paragraph has a custom line height of 2.5.</p>
This paragraph has a custom line height of 1.1.
This paragraph has a custom line height of 3.5.
<article class="prose prose-lg leading-relaxed"> <h1 class="text-3xl leading-tight font-bold">Post Title</h1> <p>Readable paragraph with optimal vertical rhythm.</p></article>
Readable paragraph with optimal vertical rhythm.
<label class="block text-sm leading-snug text-gray-600 mb-1"> Email address</label><input class="w-full p-2 border rounded" />
Remember me
Don't have account? Signup
Tighter spacing on labels keeps forms compact without sacrificing clarity.
<h1 class="text-5xl leading-none font-extrabold tracking-tight"> Make bold moves.</h1>
Make bold moves.
Zero vertical space between lines — creates strong, impactful headlines.
Use leading-normal or leading-relaxed for most body text.
Use leading-tight or leading-none for large headings or banners.
Avoid overusing leading-loose — it may reduce readability if the lines are too far apart.
Combine with responsive font sizes for optimal typography.
Extend with semantic names (leading-article, leading-form) for maintainable design systems.
Line-height affects readability, especially for users with dyslexia or cognitive conditions.
Avoid overlapping text or clipping caused by line-height that's too tight.
Class | Properties |
---|---|
leading-3 | line-height: .75rem; |
leading-4 | line-height: 1rem; |
leading-5 | line-height: 1.25rem; |
leading-6 | line-height: 1.5rem; |
leading-7 | line-height: 1.75rem; |
leading-8 | line-height: 2rem; |
leading-9 | line-height: 2.25rem; |
leading-10 | line-height: 2.5rem; |
leading-none | line-height: 1; |
leading-tight | line-height: 1.25; |
leading-snug | line-height: 1.375; |
leading-normal | line-height: 1.5; |
leading-relaxed | line-height: 1.625; |
leading-loose | line-height: 2; |
Now that you’ve mastered Tailwind line Height, try experimenting with:
Windframe is a drag and drop builder for rapidly building tailwind css websites and UIs