Skip to contents

This function puts an outline of consistent style, width, and color around the entire table. It'll write over any existing outside lines so long as the width is larger that of the existing lines. The default value of style ("solid") will draw a solid outline, whereas a value of "none" will remove any present outline.


opt_table_outline(data, style = "solid", width = px(3), color = "#D3D3D3")



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

style, width, color

The style, width, and color properties for the table outline. By default, these are "solid", px(3) (or, "3px"), and "#D3D3D3". If "none" is used then the outline is removed and any values provided for width and color will be ignored (i.e., not set).


An object of class gt_tbl.


Use exibble to create a gt table with a number of table parts added. Have an outline wrap around the entire table by using opt_table_outline().

tab_1 <-
  exibble %>%
  gt(rowname_col = "row", groupname_col = "group") %>%
    groups = "grp_a",
    columns = c(num, currency),
    fns = list(
      min = ~min(., na.rm = TRUE),
      max = ~max(., na.rm = TRUE)
    )) %>%
    columns = currency,
    fns = list(
      total = ~sum(., na.rm = TRUE)
    )) %>%
  tab_source_note(source_note = "This is a source note.") %>%
    footnote = "This is a footnote.",
    locations = cells_body(columns = 1, rows = 1)
  ) %>%
    title = "The title of the table",
    subtitle = "The table's subtitle"
  ) %>%


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

Remove the table outline with the style = "none" option.

tab_1 %>% opt_table_outline(style = "none")

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

Function ID