En tabell är en rektangel. Den innehåller rader, som också är rektanglar. De i sin tur innehåller celler (också de rektanglar). Cellerna bildar dessutom kolumner, där alla celler i en viss kolumn har lika stor bredd.
Taggen för tabell heter <TABLE>. Taggen för en rad heter <TR> (Table Row). Taggen för en cell heter <TD> (Table Data). Dessutom kan man vilja ha celler som är "viktigare" än andra och som har en sorts "rubrik-funktion" i förhållande till de andra cellerna. Såna celler anges med taggen <TH> (Table Header) i stället för <TD> (Såna celler brukar presenteras i fetstil och centrerade. Ibland kan det se konstigt och ologiskt ut med centrerad text och då får man lägga till attributet ALIGN="LEFT" i TH-taggen).
Det är praktiskt att sätta BORDER="1" i tabeller när man skriver och testar dem eftersom det kan vara lite bökigt att få alla taggarna att hamna rätt. Om man sen inte vill ha en kant på tabellen i det slutliga dokumentet är det bara att sätta BORDER="0".
| 1 | 2 |
| 3 | 4 |
<table border="1">
<tr>
<td>
1
</td>
<td>
2
</td>
</tr>
<tr>
<td>
3
</td>
<td>
4
</td>
</tr>
</table>
Ibland vill man ha en cell som så att säga "spänner över flera rader" i förhållande till andra celler. Då kan man använda sig av ROWSPAN-attributet. Motsvarande för celler som "spänner över flera kolumner" heter COLSPAN.
| 1 | 2 |
| 4 |
<table border="1">
<tr>
<td rowspan="2">
1
</td>
<td>
2
</td>
</tr>
<tr>
<td>
4
</td>
</tr>
</table>