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)



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.


An object of class gt_tbl.


Function ID


See also


# Use `gtcars` to create a gt table;
# add a header part to contain a title
# and subtitle
tab_1 <-
  gtcars %>%
  dplyr::select(mfr, model, msrp) %>%
  dplyr::slice(1:5) %>%
  gt() %>%
    title = md("Data listing from **gtcars**"),
    subtitle = md("`gtcars` is an R dataset")