Newsletter
Join the Community
Subscribe to our newsletter for the latest news and updates
Nuxt module that registers Highcharts chart, stock, and map components with reactive options and global configuration.
nuxt-highcharts is a Nuxt module that wraps the Highcharts charting library as Vue components, giving Nuxt apps drop-in highchart, highstock, and highmap components with reactive options and module-level configuration.
nuxt-highcharts is an open-source Nuxt module (MIT licensed) created by Richard Schloss that integrates Highcharts into Nuxt applications. It accepts standard Highcharts options objects as props and renders interactive charts in Vue components, while also injecting $highcharts into the Nuxt context for programmatic access. The module requires highcharts as a dependency and supports optional map collections from @highcharts/map-collection. It is installed via npm and configured in the modules array of nuxt.config.js.
nuxt-highcharts stands out by pairing Nuxt module conventions with the Highcharts options API: global defaults live in nuxt.config.js, per-chart overrides come from props, and reactivity can be scoped to specific option paths. The following features are documented on its README:
highchart, highstock, and highmap; highstock and highmap are shorthands for <highchart :modules="['stock']" /> and <highchart :modules="['map']" />.chartOptions, exporting, and setOptions as module options or component props, letting you apply defaults globally and override per chart.update prop takes an array of watched paths like options.title and options.series; only those paths trigger a chart update instead of deep-watching everything.modules prop loads any file in node_modules/highcharts/modules/*.js, and the more prop enables highcharts-more for polar and bubble charts.map prop accepts mapName and mapData (either JSON or a file path), and the optional @highcharts/map-collection package supplies map geometries.animation, oneToOne, and redraw props map directly to Highcharts' Chart.update options.chartLoaded with a chart instance for direct Highcharts API access.$highcharts (exposing chartTypes and components) and $config.nuxtHighcharts (with pluginOptions and hcModNames).nuxt-highcharts is aimed at developers who want Highcharts inside a Nuxt app without writing imperative chart initialization code. It's especially useful for:
With nuxt-highcharts you can build interactive charts using familiar Vue syntax while keeping the full Highcharts options object as the source of truth. Typical uses:
<highchart :options="chartOptions" />.highstock component for time-series data with range selectors and panning, loading the stock module via the modules prop.highmap component, supplying mapData and optionally loading maps from @highcharts/map-collection.:update="['options.title', 'options.series']" to watch only those parts of the options for faster chart updates.nuxt-highcharts works as a Nuxt plugin that registers chart components globally. The setup flow is:
npm i nuxt-highcharts; the highcharts package is a required dependency.'nuxt-highcharts' to the modules section of nuxt.config.js, optionally with module options in a highcharts key.Yes. The module is released under the MIT License, and the repository is open source. There are no paid tiers or subscription requirements.
The documentation specifically warns about Highcharts 11: reactive data such as this.points must be converted from a Proxy type using something like Array.from(this.points) before passing it to Highcharts, so the module works with v11 and earlier versions that follow the same options structure.
Set the update prop to an array of strings such as ["options.title", "options.series"]. The deep watcher that watches all options is the default, but narrowing the paths improves performance.
Yes. Use the modules prop on a highchart component with an array of module names, e.g. ['stock'], or use the built-in highstock and highmap components which are shorthands for those modules.
