The function lets add hyperlinks within flextable objects.

It is used to add it to the content of a cell of the flextable with the functions compose(), append_chunks() or prepend_chunks().

URL are not encoded, they are preserved 'as is'.

hyperlink_text(x, props = NULL, formatter = format_fun, url, ...)



text or any element that can be formatted as text with function provided in argument formatter.


an fp_text_default() or officer::fp_text() object to be used to format the text. If not specified, it will be the default value corresponding to the cell.


a function that will format x as a character vector.


url to be used


additional arguments for formatter function.


This chunk option requires package officedown in a R Markdown context with Word output format.

See also


Other chunk elements for paragraph: as_bracket(), as_b(), as_chunk(), as_equation(), as_highlight(), as_image(), as_i(), as_sub(), as_sup(), as_word_field(), colorize(), gg_chunk(), grid_chunk(), linerange(), lollipop(), minibar(), plot_chunk()


dat <- data.frame(
  col = "Google it",
  href = "",
  stringsAsFactors = FALSE)

ftab <- flextable(dat)
ftab <- compose( x = ftab, j = "col",
  value = as_paragraph(
    "This is a link: ",
    hyperlink_text(x = col, url = href ) ) )
#> a flextable object.
#> col_keys: `col`, `href` 
#> header has 1 row(s) 
#> body has 1 row(s) 
#> original dataset sample: 
#>         col                                                         href
#> 1 Google it