lt: Lightweight Tables via JSON Specs and JavaScript

A lightweight grammar of tables. Build a table by declaring a JSON spec (titles, spanners, row groups, footnotes, formatting functions, etc.); a tiny vanilla JavaScript runtime builds the HTML table from the spec on page load. Cells can hold inline plots (error bars, dot plots, mini line and bar charts) drawn as SVG in the browser from the numbers alone. Tables can optionally be made interactive (sorting, searching, filtering, pagination, column hiding, expandable row detail, and CSV download) via a separate extension loaded only when requested. No 'sass', no 'V8', no 'htmlwidgets' — just base R and 'xfun' ('htmltools' is used only for the optional Shiny binding and for embedding tables in other HTML output).

Version: 0.5
Depends: R (≥ 4.1.0)
Imports: grDevices, xfun (≥ 0.62)
Suggests: chromote, htmltools, knitr, litedown, magick, repr, shiny, testit
Published: 2026-10-17
DOI: 10.32614/CRAN.package.lt
Author: Yihui Xie ORCID iD [aut, cre, cph] (URL: https://yihui.org)
Maintainer: Yihui Xie <xie at yihui.name>
BugReports: https://github.com/yihui/lt/issues
License: MIT + file LICENSE
URL: https://github.com/yihui/lt
NeedsCompilation: no
Materials: README, NEWS
CRAN checks: lt results [issues need fixing before 2026-11-07]

Documentation:

Reference manual: lt.html , lt.pdf

Downloads:

Package source: lt_0.5.tar.gz
Windows binaries: r-devel: lt_0.4.zip, r-release: lt_0.4.zip, r-oldrel: lt_0.4.zip
macOS binaries: r-release (arm64): lt_0.5.tgz, r-oldrel (arm64): lt_0.5.tgz, r-release (x86_64): lt_0.5.tgz, r-oldrel (x86_64): lt_0.5.tgz
Old sources: lt archive

Reverse dependencies:

Reverse imports: simtrial
Reverse suggests: gtxlsx

Linking:

Please use the canonical form https://CRAN.R-project.org/package=lt to link to this page.