Tables make complex information easier to understand by presenting it in a clear structure. In a table, data is arranged into two or more rows (plus a header row) and two or more columns. Don't use a table just to present a list of items that are similar. Use a list instead.

Tables are sometimes useful for Example
Data or values Text formats and their associated HTML codes
Simple instructions User interface actions and their associated keyboard shortcuts
Categories of things with examples SKUs and the products they include
Collections of things with two or more attributes Event dates with times and locations


Make sure the purpose of the table is clear. If necessary, include a table title or brief introduction.

Place information that identifies the contents of a row in the leftmost column of the table. For example, in a table that describes commands, put the command names in the left column.

Make entries in a table parallel. For example, make all the items within a column a noun or a phrase that starts with a verb.


Function Description
AddUsersToEncryptedFile Adds user keys to the specified encrypted file
Cancello Cancels all pending input and output (I/O) operations that are issued by the calling thread for the specified file
CancelloEx Marks any outstanding I/O operations for the specified file handle
GetTempFileName Creates a name for a temporary file

Don’t leave a cell blank or use an em dash to indicate there’s no entry for that cell. Instead, use Not applicable or None.

Keep responsive design in mind. Limit the number of columns and keep the text in each cell brief—ideally one line. To learn more, see Responsive content.

Balance row height by increasing the width of text-heavy columns and reducing the width of columns with minimal text.

Header rows

If the first row of your table contains column headers, you have a header row. Distinguish the text in the header row from the rest of the text in the table. For example, make it larger, bolder, or a different color.

Column headers identify the data each column contains. Make headers precise for usability. For example, don't use "Name". Instead, make column headers specific as in "Group" or "Employee". (While screen readers use header information to identify rows and columns, specificity helps all users find the information they're looking for.)

Don’t organize a table so that the column header forms a complete sentence when combined with the cell contents. This can make the table difficult to localize.

In long tables, make sure the header row is always visible. For example, on the web, use a fixed header row that stays in place during scrolling. Or, in a downloadable document, occasionally repeat the header row. Some authoring tools provide a way to do this automatically. In Microsoft Word, select the header row. On the Layout tab under Table Tools, select Repeat Header Rows.


Use sentence-style capitalization for the table title and each column header. Use sentence-style capitalization for the text in cells unless there’s a reason not to (for example, keywords that must be lowercase).


If there’s text that introduces the table, it should be a complete sentence and end with a period, not a colon.

Don’t use ellipses at the end of column headers.

For the text in cells, use periods or other end punctuation only if the cells contain complete sentences or a mixture of fragments and sentences.