How to Adjust Font Size in Tailwind CSS

Learn how to change font sizes in Tailwind CSS

by Yücel Faruk Şahan
8 min read
Updated on

Tailwind CSS is a utility-first CSS framework that provides low-level utility classes to build custom designs without leaving your HTML.

Default Tailwind Font Sizes

One of its strengths is the ease with which you can customize various design aspects, including font sizes. This guide will walk you through the best practices and methods to customize font sizes in Tailwind CSS to create a cohesive design.

Setting Up Tailwind CSS

Before diving into customization, ensure you have Tailwind CSS installed in your project. You can install it via npm:

npm install tailwindcss

Create a Tailwind configuration file:

npx tailwindcss init

This will generate a tailwind.config.js file where you can define your custom configurations.

Understanding Tailwind CSS Font Size Utilities

Tailwind provides a set of predefined font size classes that you can use right out of the box.

These classes range from .text-xs for extra-small text to .text-9xl for extra-large text. Here are some examples:

<p class="text-xs">This is extra-small text.</p>
<p class="text-base">This is base text.</p>
<p class="text-2xl">This is 2xl text.</p>

Customizing Font Sizes

To customize font sizes, you can extend the default font size scale in the tailwind.config.js file. This is particularly useful if you need specific sizes that are not included in the default scale.

Customizing Tailwind config 

Basic Customization

Add a custom font size scale in the theme section of your tailwind.config.js file:

module.exports = {
  theme: {
    extend: {
      fontSize: {
        'tiny': '0.625rem', // 10px
        'huge': '4rem', // 64px

Now you can use these custom font sizes in your HTML:

<p class="text-tiny">This is tiny text.</p>
<p class="text-huge">This is huge text.</p>

Responsive Font Sizes

Tailwind also allows you to apply different font sizes at different breakpoints for a responsive design.

Here’s how you can define responsive font sizes:

<p class="text-base md:text-lg lg:text-xl">This text size changes based on screen size.</p>

In this example, the text size will be base by default, lg on medium screens, and xl on large screens.

Using Scalable Units

Using scalable units like rem and em instead of fixed units like px is a best practice for responsive design. Tailwind’s default font sizes are defined using rem, making them scalable. You can continue this practice in your custom configurations.

module.exports = {
  theme: {
    extend: {
      fontSize: {
        'small': '0.875rem', // 14px
        'medium': '1rem', // 16px
        'large': '1.25rem', // 20px

Advanced Techniques

1. Combining Font Size with Other Utilities

You can combine font size classes with other utility classes to create complex styles easily:

<p class="text-lg font-bold text-gray-700">This is bold and gray large text.</p>

2. Creating a Custom Font Size Scale

If you need a specific set of font sizes for your project, you can create a completely custom scale:

module.exports = {
  theme: {
    fontSize: {
      'xs': '.75rem', // 12px
      'sm': '.875rem', // 14px
      'base': '1rem', // 16px
      'lg': '1.125rem', // 18px
      'xl': '1.25rem', // 20px
      '2xl': '1.5rem', // 24px
      '3xl': '1.875rem', // 30px
      '4xl': '2.25rem', // 36px
      '5xl': '3rem', // 48px
      '6xl': '4rem', // 64px

Case Studies

Before and After Customization


<p class="text-sm">This is small text.</p>

After customization:

<p class="text-sm">This is small text.</p>

Real-World Example

A blog post might need varying font sizes for different sections.

Using Tailwind, you can easily apply these:

<h1 class="text-4xl">Main Heading</h1>
<h2 class="text-2xl">Subheading</h2>
<p class="text-base">This is the body text of the blog post.</p>


Customizing font sizes in Tailwind CSS is straightforward and flexible, allowing you to create responsive and accessible designs with ease. 

Explore Tailwind’s documentation for more details and start customizing your font sizes to perfectly suit your project’s needs.