HTML <td> Tag

Learn about the HTML <td> tag (in both tl;dr and normal format), including its definition, syntax, use-cases and plenty of examples to go along with it.
Josh Hartman
Josh Hartman
Last updated: Apr 04, 2024

Purpose and Function

The <td> HTML tag plays a pivotal role in structuring tables by defining individual data cells. Unlike <th> elements, which denote table headers, <td> is specifically designed for standard data cells. Each <td> element represents a unique piece of information within the body of the table, defining the content that users see in the cells.


The implementation of the <td> tag is straightforward. It is utilized within a <tr> (table row) element to encapsulate the data you wish to display. Consider the following basic example:

<table> <tr> <td>Data 1</td> <td>Data 2</td> </tr> </table>
Data 1 Data 2

In this instance, two <td> elements are used to represent distinct data cells within a table row.

Real-World Use-Cases and Examples

Basic Table Data

Let's consider a scenario where you have a table displaying information about individuals:

<table> <thead> <tr> <th>Name</th> <th>John Doe</th> </tr> </thead> <tbody> <tr> <td>Age</td> <td>30</td> </tr> </tbody> </table>
Name John Doe
Age 30

In this example, the <td> tag is employed to represent different types of data, such as names and ages.

Data with Hyperlinks

You can enhance the interactivity of your table by incorporating hyperlinks within <td> elements:

<table> <thead> <tr> <th>Website 1</th> <th>Website 2</th> </tr> </thead> <tbody> <tr> <td><a href="https://facebook.com">Visit Facebook</a></td> <td><a href="https://twitter.com">Visit Twitter</a></td> </tr> </tbody> </table>
Website 1 Website 2
Visit Facebook Visit Twitter

Here, the content within the <td> elements is linked, providing users with clickable options.

Styling and Formatting

Styling <td> elements allows for a more refined visual presentation of your table data. For example:

td { border: 1px solid #ddd; padding: 12px; text-align: center; font-size: 14px; }

This CSS snippet applies borders, padding, center alignment, and adjusts the font size for a polished appearance.

Accessibility and SEO

For accessibility, it's imperative that the content within <td> elements is meaningful and follows a logical order. Screen readers utilize this structure to convey information to users with disabilities, so maintaining a coherent flow of data enhances accessibility.

For SEO, utilize descriptive and relevant data within <td> elements. Search engines use the content of these cells to understand the context of your table, ultimately improving the relevance of your site in search results.

Common Mistakes

While the <td> HTML tag is crucial for defining data cells within tables, developers may encounter common mistakes that can impact the structure and accessibility of their tables. Here are some pitfalls to avoid:

1. Incorrect Placement Outside <table>

Placing <td> elements outside of a <table> structure is a common mistake. Ensure that <td> is always a child of either <tr> (table row) within <tbody> or <thead>/<tfoot> for header or footer cells.

<!-- Incorrect: td outside a table --> <td>Data 1</td>

2. Nesting Block-Level Elements Directly

Similar to <tr>, nesting block-level elements directly within a <td> can lead to unexpected behavior. It's recommended to use inline or other appropriate elements within <td>.

<!-- Incorrect: Nesting a div directly within td --> <td> <div>Data 1</div> </td>

3. Using <td> Outside of a Table Row (<tr>)

<td> elements should always be within a <tr> to maintain the proper table structure. Placing <td> directly within a <table> is incorrect.

<!-- Incorrect: td outside a tr --> <table> <td>Data 1</td> </table>

4. Omitting <tr> for Data Cells

Each data cell (<td>) should be within a table row (<tr>). Omitting the <tr> element can result in an incomplete table structure.

<!-- Incorrect: Missing tr for td --> <td>Data 1</td>

5. Not Using Semantic Elements

Avoid using <td> solely for styling purposes. Instead, consider using semantic HTML elements or classes for styling, and reserve <td> for actual data content.

<!-- Incorrect: Using td for styling only --> <td style="font-weight: bold;">Styled Data</td>

By steering clear of these common mistakes, you can harness the full potential of the <td> tag, ensuring well-structured and accessible tables in your web development projects.


In summary, the <td> HTML tag is a fundamental building block for creating well-structured and informative tables. Its simplicity, when combined with thoughtful use-cases, styling techniques, and considerations for accessibility and SEO, empowers web developers to craft tables that are both visually appealing and functionally effective. As you incorporate <td> elements into your projects, keep these principles in mind to enhance the overall user experience.

Josh Hartman

Josh Hartman

I'm Josh, the founder of HTML Tables and eklipse Development, a Webflow Professional Partner. I've always loved seamless web experiences and take pride in merging code with creative design. Aside from this website, I'm currently building How Much Concrete, a state-of-the-art concrete calculator. Beyond the digital realm, I love the outdoors & fitness. Find me on a trail or in the gym!

More HTML Table Tags

Tag Description
<table> Creates a table element
<th> Creates a header cell in a <table>
<tr> Creates a row in a <table>
<td> Creates a cell for data in a <table>
<caption> Creates a caption in a <table>
<colgroup> Specifies a set of one or more columns within a <table> for formatting purposes
<col> Creates a column within a <colgroup> element
<thead> Groups the header content in a <table>
<tbody> Groups the body content in a <table>
<tfoot> Groups the footer content in a <table>