Learn R Programming

⚠️There's a newer version (5.8.0) of this package.Take me there.

h

u

x

t

a

b

l

e

Huxtable is an R package to create styled tables in multiple output formats, with a friendly, modern interface. Features include:

  • Control over text styling, number format, background colour, borders, padding and alignment.
  • Table cells can span multiple rows and/or columns.
  • Table manipulation via standard R subsetting, or using dplyr.
  • Automatic formatting for knitr/rmarkdown documents.
  • huxreg() function for quick creation of regression tables.
  • Output to HTML, LaTeX, RTF, and Microsoft Word/Excel/Powerpoint, using the officer and openxlsx packages.
  • Quick one-liners to print data frames into a new PDF, HTML page, RTF or Microsoft document.
  • Formatted table display in the R console, including borders, colour, and text styles.

Installing

To install from CRAN:

install.packages('huxtable')

To install the latest version from github:

install.packages('remotes')
remotes::install_github('hughjonesd/huxtable')

Learning more

Check out the website, read the documentation or read the vignette in HTML or PDF.

Fund huxtable development

If you find huxtable useful, fund me on Patreon.

Copy Link

Version

Install

install.packages('huxtable')

Monthly Downloads

12,309

Version

4.7.1.9000

License

MIT + file LICENSE

Maintainer

David Hugh-Jones

Last Published

November 7th, 2025

Functions in huxtable (4.7.1.9000)

as_huxtable

Convert objects to huxtables
align

Set the horizontal alignment of cell content
add_footnote

Add a row with a footnote
bold

Make cell text bold or italic
add_colnames

Add column or row names
as_Workbook

Convert a huxtable for Excel
add_rows

Insert one huxtable into another.
background_color

Set cell background color
border-colors

Set border colors
as_flextable

Convert a huxtable for Word/Powerpoint
border-styles

Set border styles
brdr_thickness

brdr

Create a border object
by_function

Map cell contents to cell properties using a function or scale
borders

Set borders
by_values

Map specific cell values to cell properties
by_rows

Set cell properties by row or column
caption_width

Set the width of the table caption
by_ranges

Map numeric ranges to cell properties
caption

Set the table caption
[.huxtable

Subset a huxtable
cbind.huxtable

Combine rows or columns
by_regex

Map cells matching a string or regex to cell properties
escape_contents

Escape or unescape text in cells
by_quantiles

Map numeric quantiles to cell properties
hux_logo

Huxtable logo
huxreg

Create a huxtable to display model output
caption_pos

Position the table's caption
font

Set the font for cell text
fmt_pretty

Use prettyNum() to format numbers
height

Set the table height
header_cols

Mark rows or columns as headers
col_width

Set the width of table columns
final

Return the last n rows or columns
fmt_percent

Format numbers as percent
mutate.huxtable

Dplyr verbs for huxtable
by_cases

Map cell contents to properties using case_when
by_colorspace

Map numeric cell contents smoothly to colors
font_size

Make text larger or smaller
guess_knitr_output_format

Guess knitr output format
jams

Prices of 3 jams
huxtable-package

Quick introduction to huxtable
huxtable-options

Package options
insert_column

Insert a row or column
huxtable

Create a huxtable
knit_print.data.frame

Print data frames in knitr using huxtable
position

Set the table's position with respect to surrounding content.
huxtable-FAQ

Frequently Asked Questions, including how to get help
huxtable-news

Changes to the huxtable package
padding

Set padding
markdown

Format cell content as markdown
knit_print.huxtable

Print a huxtable within knitr
label

Set a table label for external referencing
latex_float

Set the position of the table float in LaTeX
mapping-functions

How to set cell properties variably by cell contents
na_string

Change how NA values are printed
number_format

Set how numbers are formatted in cells
print.huxtable

Default print method for huxtables
reexports

Objects exported from other packages
quick-output

Quickly print objects to a PDF, TeX, HTML, Microsoft Office or RTF document.
row_height

Set the height of table rows
set_default_properties

Default huxtable properties
set_contents

Set cell contents
report_latex_dependencies

Tools for LaTeX dependencies
style-functions

Set multiple properties on headers
rowspecs

Different ways to select rows and columns
set-multiple

Set left, right, top and bottom properties
set-outer

Set borders and padding around a rectangle of cells
merge_across

Merge cells across rows or down columns
[<-.brdr

Replace a subset of a brdr object
merge_cells

Merge a range of cells
sanitize

Escape text for various formats
print_md

Create Markdown representing a huxtable
width

Set the table width
print_latex

Create LaTeX representing a huxtable
rtf_fc_tables

Create RTF font and color tables
text_color

Set the color of text in cells
wrap

Wrap cell content over multiple lines
valign

Set the vertical alignment of cell content
themes

Theme a huxtable
restack-across-down

Restack huxtables across/down the page.
t.huxtable

Transpose a huxtable
tabular_environment

Set the table's tabular environment in LaTeX
split-across-down

Split a huxtable into multiple huxtables.
merge_repeated_rows

Merge repeated rows into multirow cells
stripe

Return every n row or column numbers
rotation

Rotate text within cells
print_rtf

Create RTF representing a huxtable
print_screen

Print a huxtable on screen
spans

Extend cells over multiple rows and/or columns
tidy_override

Change a model's tidy output
set_markdown_contents

Set cell contents to markdown
print_html

Create HTML representing a huxtable