How to Change Text Size in HTML

Controlling the size and appearance of text is a fundamental aspect of web design and development. HTML provides several ways to change the text size, allowing you to create visually appealing and accessible content for your website visitors. In this article, we'll explore various techniques to adjust the text size in HTML, along with best practices and examples.

Using HTML Tags

HTML offers several tags specifically designed for modifying the size of text. These tags provide a straightforward way to change the text size relative to the browser's default font size.

1. Heading Tags (<h1> to <h6>)

The heading tags, <h1> to <h6>, are primarily used for creating hierarchical structure within your content. By default, these tags render the text in different sizes, with <h1> being the largest and <h6> being the smallest.

<h1>Heading 1</h1>

<h2>Heading 2</h2>

<h3>Heading 3</h3>

<h4>Heading 4</h4>

<h5>Heading 5</h5>

<h6>Heading 6</h6>

2. Font Size Tags (<font>)

The <font> tag allows you to specify the size of the text directly. However, this tag is deprecated in HTML5 and should be avoided in favor of CSS-based solutions.

<font size="6">This text is very large.</font>

<font size="3">This text is medium-sized.</font>

<font size="1">This text is very small.</font>

Using CSS

While HTML tags provide a basic way to change text size, Cascading Style Sheets (CSS) offer much more control and flexibility. CSS allows you to style text with precise size values, units, and responsive techniques.

1. Setting Font Size with Pixels (px)

The font-size property in CSS can be set using pixels (px). This approach specifies an absolute size for the text, which remains consistent across different devices and screen resolutions.

/* Set the font size to 16 pixels */

p {

  font-size: 16px;


2. Setting Font Size with Relative Units (em, rem)

CSS also provides relative units for font size, such as em and rem. These units are based on the font size of the parent or root element, respectively, making them responsive to changes in the base font size.

/* Set the font size to 1.2 times the size of the parent element */

p {

  font-size: 1.2em;


/* Set the font size to 1.5 times the size of the root element */

h1 {

  font-size: 1.5rem;


3. Setting Font Size with Viewport Units (vw, vh)

Viewport units (vw and vh) are relative to the viewport size (width and height) of the browser window. This approach can be useful for creating responsive text sizes that adapt to different screen sizes.

/* Set the font size to 3% of the viewport width */

h1 {

  font-size: 3vw;


4. Using Responsive Font Sizing

You can combine CSS techniques for truly responsive text sizing, such as media queries and viewport units. This allows you to define different font sizes based on the screen size or device characteristics.

/* Default font size */

body {

  font-size: 16px;


/* Increase font size for larger screens */

@media (min-width: 768px) {

  body {

    font-size: 18px;



/* Decrease font size for smaller screens */

@media (max-width: 480px) {

  body {

    font-size: 14px;



Best Practices

When changing text size in HTML and CSS, it's important to follow best practices to ensure accessibility, readability, and consistency across your website.

  1. Use Semantic HTML Elements: Instead of relying solely on CSS for text sizing, utilize semantic HTML elements like headings (<h1> to <h6>) to convey the structure and hierarchy of your content.
  2. Ensure Sufficient Contrast: Make sure there is adequate contrast between the text color and the background color, especially for larger or smaller text sizes. This improves readability and accessibility.
  3. Consider Responsive Design: As more users access websites on various devices with different screen sizes, it's crucial to implement responsive design techniques to ensure text sizes adapt appropriately.
  4. Maintain Consistency: Strive for consistency in text sizes across your website. Define a typographic scale and stick to it throughout your design to maintain a cohesive and professional look.
  5. Test on Different Devices and Browsers: Always test your website on multiple devices, screen sizes, and browsers to ensure the text sizes render correctly and provide an optimal user experience.


1. What is the recommended font size for body text on a website?

The recommended font size for body text on a website is typically around 16 pixels (or 1 rem). This size provides a good balance between readability and legibility for most users and devices.

2. Can I use both pixels and relative units for font sizing?

Yes, you can use a combination of pixels and relative units for font sizing. For example, you could set the base font size in pixels and then use relative units like em or rem for other text elements, allowing them to scale proportionally.

3. How do I change the font size for a specific element only?

To change the font size for a specific element, you can use CSS selectors to target that element and set the font-size property accordingly. For example:

/* Change font size for all paragraphs */

p {

  font-size: 18px;



/* Change font size for a specific paragraph with an ID */

#special-paragraph {

  font-size: 24px;


4. Can I change the font size based on the user's browser settings?

Yes, you can use the font-size-adjust property in CSS to adjust the font size based on the user's browser settings or preferences. This property attempts to preserve the legibility of the text by adjusting the font size accordingly.

body {

  font-size-adjust: 0.5; /* Adjust font size based on browser settings */


5. What is the difference between em and rem units?

Both em and rem are relative units for font sizing, but they have a subtle difference:

  • em: The em unit is relative to the font size of the parent element. If an element has a font size of 1.2em and its parent has a font size of 16px, the element's font size will be 19.2px (1.2 * 16px).
  • rem: The rem (root em) unit is relative to the font size of the root element, typically the <html> element. This makes it easier to maintain a consistent font size across different components of your website.
Share On