Skip to contents

We can add a table header to the gt table with a title and even a subtitle. A table header is an optional table part that is positioned above the column labels. We have the flexibility to use Markdown formatting for the header's title and subtitle. Furthermore, if the table is intended for HTML output, we can use HTML in either of the title or subtitle.


tab_header(data, title, subtitle = NULL, preheader = NULL)



A table object that is created using the gt() function.

title, subtitle

Text to be used in the table title and, optionally, for the table subtitle. We can elect to use the md() and html() helper functions to style the text as Markdown or to retain HTML elements in the text.


Optional preheader content that is rendered above the table. Can be supplied as a vector of text.


An object of class gt_tbl.


Use gtcars to create a gt table. Add a header part with the tab_header() function so that we get a title and a subtitle for the table.

gtcars %>%
  dplyr::select(mfr, model, msrp) %>%
  dplyr::slice(1:5) %>%
  gt() %>%
    title = md("Data listing from **gtcars**"),
    subtitle = md("`gtcars` is an R dataset")

This image of a table was generated from the first code example in the `tab_header()` help file.

Function ID


See also