# highcharter puts the Highcharts API behind R data frames

> highcharter is an R wrapper for the Highcharts JavaScript library delivered as an htmlwidget, so a data frame becomes an interactive chart through hchart and the rest of the API is reachable from R. It suits analysts who want Highcharts specifically, and it inherits Highcharts' commercial licensing, which is the constraint to check first.

**jbkunst/highcharter** — R wrapper for highcharts

- Repository: https://github.com/jbkunst/highcharter
- Website: http://jkunst.com/highcharter/
- Stars: 740 · Forks: 156
- Language: R
- License: NOASSERTION
- Published: 2026-10-21 · Updated: 2026-10-21 · Language: en
- Canonical page: https://hysenlabs.com/projects/jbkunst-highcharter

## One function turns the usual R objects into charts

highcharter is an R wrapper for the Highcharts JavaScript library and its modules, and the README describes Highcharts as a very flexible and customizable JavaScript charting library with a rich API. The motivation paragraph is the cleanest statement of what the package does. It brings the Highcharts JavaScript library to R through an htmlwidget, making its interactive charts, maps, stock charts and customization options available through an R friendly interface. The headline feature is that a single function charts the objects an analyst already has. With hchart(x) you can chart data.frames, numeric or character vectors, ts, xts, forecast and survfit objects. That list matters because it covers the modelling and time series objects that come out of the rest of an R workflow, so the chart is not a separate export step but a continuation of the analysis. The delivery mechanism is an htmlwidget, which is the R package standard for interactive output, so the result is an HTML object you can print, save, or hand to Shiny.

## Highstock, Highmaps and the exported themes

The feature list splits into three areas and they map to the Highcharts modules. Support for Highstock is listed with the note that you can create candlestick charts in 2 lines of code, and it supports the xts class from the quantmod package, so a quantmod time series can become a financial chart without reshaping it first. Support for Highmaps covers creating choropleth charts or adding information in geojson format, which is the usual way to shade a region by a value. Themes are the third area, and the README says you configure your chart in multiple ways, with implemented themes including economist, financial times, google and 538 among others. Those names are a hint about the audience, since a 538 style theme is the visual language of a data journalism outlet. The list of extra features and plugins names motion, draggable points, font-awesome, tooltips and annotations, which is where the Highcharts module ecosystem gets used. The theme and plugin approach is what separates this from a plot you could make in base R, since a printed chart cannot animate.

## Installation, and where the documentation actually lives

Installation is the standard pair of commands, one for the released version and one for the development version from GitHub:

```r
install.packages("highcharter")
```

```r
remotes::install_github("jbkunst/highcharter")
```

The learning material is in vignettes rather than in a manual page, and the README names five of them by the exact command to run. The highcharter vignette explores the basics of the package. The first-steps one shows how to make a visualization from a data frame. One vignette demonstrates Highcharts flexibility in terms of customization and design. The highcharts-api one shows the main functions used to configure charts with the implemented Highcharts API. And the highchartsjs-api-basics one explains the relationship between the highchartsJS API and highcharter, which is the vignette to read if you already know Highcharts and want to know how the R layer maps onto it. That last point is the one that determines how you will work with it, because the R functions are a thin layer over a JavaScript API and a wrapper that hides the JS layer will feel like a different library from the one you already know.

## The licence is the first thing to read

This is the constraint that decides adoption, and the README puts it in a section of its own. Highcharter has a dependency on Highcharts, a commercial JavaScript charting library, and Highcharts offers both a commercial license as well as a free non-commercial license. The instruction is to review the licensing options and terms before using this software, as the highcharter license neither provides nor implies a license for Highcharts. The repository facts classify the project licence as a custom one that GitHub cannot classify, so the LICENSE file at the root is the authority on the wrapper itself, and it is separate from the question of Highcharts. The README adds that Highcharts is a Highsoft product which is not free for commercial and Governmental use. For an analyst in a research setting that is a non-commercial use and the free licence may cover it. For a company embedding a chart in a customer facing dashboard, the terms are different, and the wrapper's MIT style licensing does not change that. This is the single question to settle before writing any code, because it determines whether the approach is viable at all.

## Package shape, release history and what has not changed

The repository is laid out as a conventional R package with an R/ directory for the code, man/ for the documentation, tests/, vignettes/, inst/, dev/, data/ and data-raw/, a pkgdown/ directory for the site and a _pkgdown.yml for its configuration, plus DESCRIPTION, NAMESPACE, NEWS.md and a CRAN-SUBMISSION file. The presence of a CRAN-SUBMISSION file and a cran-comments.md tells you the package is published on CRAN, and the badges in the README confirm it with a CRAN status badge for highcharter, along with an R-CMD-check workflow badge, a codecov coverage badge and a repostatus badge marking the project as active and its lifecycle as stable. The release history is where the useful detail is. The most recent release is v0.9.4.9, labelled a beta, published on 2025-05-29, while v0.9.4 dates from 2022-01-03 and 0.8.2 from 2020-07-26. So the stable line is old and the recent work is on a beta, and the last push was on 2026-09-28. A developer who needs the newest Highcharts features should look at the development version, while a team that values CRAN stability should know that the CRAN build is several years behind the beta.

## Conclusion

Adopt highcharter when your team already works in R, when you need the Highcharts feature set specifically such as Highstock candlesticks, Highmaps choropleths or the exported themes, and when the licensing terms fit your use. Do not adopt it for a commercial product without reading the Highcharts licence, because the package licence neither provides nor implies one, and do not expect it to replace a native plotting library for static output. Verify first whether your use counts as commercial under the Highcharts terms, that your R version and the package dependencies install cleanly from CRAN, and that the vignettes cover the chart types you need before you commit to the approach.

## FAQ

### How do I install highcharter?

For the CRAN version run install.packages("highcharter"), and for the development version run remotes::install_github("jbkunst/highcharter"). The package is published on CRAN and its documentation is a set of vignettes rather than a manual, starting with vignette("highcharter") and vignette("first-steps").

### Which R objects can highcharter chart?

The hchart function charts data.frames, numeric or character vectors, ts, xts, forecast and survfit objects. The xts support comes from the quantmod package, so a quantmod time series can be charted directly, and Highstock candlestick charts can be created in two lines of code.

### Can I use highcharter in a commercial product?

Not without checking Highcharts terms. The README states that Highcharts is a commercial JavaScript charting library which is not free for commercial and Governmental use, and that the highcharter license neither provides nor implies a license for Highcharts, so review the Highcharts licensing options before using it commercially.

### What themes and plugins are available in highcharter?

Implemented themes include economist, financial times, google and 538 among others, and the package supports plugins and features such as motion, draggable points, font-awesome, tooltips and annotations, along with the Highstock and Highmaps modules.

## Sources

- [Issues](https://github.com/jbkunst/highcharter/issues)
- [jbkunst/highcharter on GitHub](https://github.com/jbkunst/highcharter)
- [Project website](http://jkunst.com/highcharter/)
- [README](https://github.com/jbkunst/highcharter/blob/main/README.md)
- [Releases](https://github.com/jbkunst/highcharter/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/jbkunst-highcharter
