HTML <tr> Tag

Learn about the HTML <tr> 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: May 28, 2024

Purpose and Function

The primary purpose of the <tr> HTML tag is to define a table row, organizing and structuring data in a horizontal manner within an HTML table. This tag acts as a container for table cells (<th> for headers or <td> for data), grouping them together to form a coherent row. The <tr> tag plays a crucial role in establishing the structure of tables, making it easier for browsers and assistive technologies to interpret and present tabular data.


Implementing the <tr> tag involves placing it within the <table> element and enclosing the table cells (<th> or <td>) within it. Here's a basic example:

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

In this example, a <tr> tag encapsulates a row with two data cells.

Real-World Use-Cases and Examples

Basic Table Row

Consider a scenario where you have a table to display basic information:

<table> <tr> <td>Name</td> <td>Age</td> <td>Occupation</td> </tr> </table>
Name Age Occupation

This simple table row contains cells for name, age, and occupation.

Alternating Row Colors

Enhance the visual appeal of your table by using CSS to style alternating rows differently:

<table> <tr class="even"> <td>Data 1</td> <td>Data 2</td> </tr> <tr class="odd"> <td>Data 3</td> <td>Data 4</td> </tr> </table>
Data 1 Data 2
Data 3 Data 4

This CSS class-based styling alternates background colors for even and odd rows.

Styling and Formatting

While direct styling of <tr> elements is limited, you can achieve desired aesthetics by styling the cells within the rows. For example, applying styles to odd and even rows:

tr.even { background-color: #f2f2f2; } tr.odd { background-color: #ffffff; }

This CSS snippet targets alternating rows and sets background colors for improved visual separation.

Accessibility and SEO

For accessibility, focus on the semantic structure within each row. Use <th> tags for headers and <td> tags for data. This ensures that assistive technologies can convey the tabular information more effectively.

For SEO, incorporate meaningful content within your rows. Descriptive and relevant data not only aids search engines in understanding the context of your tables but also contributes to improved ranking and user experience.

Common Mistakes

While the <tr> HTML tag is fundamental for creating table rows, there are common mistakes that developers should avoid to ensure proper implementation and maintain best practices:

1. Incorrect Placement Outside <table>

Placing <tr> elements outside of a <table> structure is a common mistake. <tr> should always be a child of <table>.

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

2. Nesting Block-Level Elements Directly

Nesting block-level elements directly within a <tr> can lead to unexpected behavior. It's recommended to use <td> or <th> as children of <tr>.

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

3. Using <tr> Without <td> or <th>

A <tr> should always contain table data cells (<td>) or table header cells (<th>). Omitting these cells can result in an incomplete table structure.

<!-- Incorrect: Using tr without td or th --> <tr> Data 1 </tr>

4. Mismatched Number of Cells

Ensure that the number of cells in each row (<tr>) matches the number of header cells (<th>) or data cells (<td>) in the table. Mismatched counts can lead to misalignment.

<!-- Incorrect: Mismatched number of cells --> <tr> <td>Data 1</td> </tr>

5. Not Considering Responsive Design

Neglecting to consider responsive design can lead to issues on smaller screens. Tables should be designed to be readable and user-friendly across various devices.

<!-- Incorrect: Not considering responsive design --> <tr> <td>Long Data Text That Might Get Cut Off</td> </tr>

By avoiding these common mistakes, you can effectively use the <tr> tag to structure your tables, ensuring proper rendering and maintaining a positive user experience.


The <tr> HTML tag serves as the backbone for organizing data horizontally within tables. Its simplicity makes it easy to implement, and when combined with proper styling, semantic markup, and meaningful content, it contributes to the creation of well-structured, visually appealing, and accessible tables. Keep these considerations in mind as you work with table structures in your web development projects.

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>