Recommended Free Tools
To convert a Highcharts chart into an image, load the exporting module and call chart.exportChart(), or use the built-in export menu. Highcharts supports PNG, JPEG, SVG, and PDF. In Highcharts 12.3.0 and later, PNG, JPEG, and SVG export locally by default; local PDF export needs additional libraries, while a self-hosted Node export server is an option when browser export does not fit your needs.
Choose the right export method
The best route depends on the output you need, where conversion should happen, and the Highcharts version and browser you support.
| Need | Method | Important trade-off |
|---|---|---|
| Download a PNG, JPEG, or SVG from a browser chart | Load modules/exporting.js and use its menu or chart.exportChart(). |
Local export is the default for these formats from Highcharts 12.3.0, but browser support and chart features can affect results. |
| Create a vector image | Export SVG. | SVG scales without raster pixelation, but it is vector markup, not a bitmap. |
| Create a PDF in the browser | Add modules/offline-exporting.js and the required jsPDF and svg2pdf libraries. |
Those are third-party dependencies, not covered by the Highcharts license; client-side PDF has limitations, including image handling. |
| Convert on a server | Use Highcharts’ Node export server, which can render chart configuration or SVG to PNG, JPG, PDF, or SVG. | Server-side rendering adds deployment work. A remote export service also receives the generated SVG. |
| Transform chart markup yourself | Call chart.getSVG(), then process the SVG in a separate workflow. |
getSVG() returns markup; rasterizing or creating a PDF is a separate step. |
Official guides: export module overview, client-side export, Chart API: exportChart, and Node export server.
Enable export controls and download a chart
Load the exporting module
Include modules/exporting.js after Highcharts (or Highstock) in your page. The module enables the standard context-button export menu and chart export methods. If you build your own interface, its button can call those methods instead.
#1 Best Overall
- CRISP CLARITY: This 23.8″ Philips V line monitor delivers crisp Full HD 1920x1080 visuals. Enjoy movies, shows and videos with remarkable detail
- INCREDIBLE CONTRAST: The VA panel produces brighter whites and deeper blacks. You get true-to-life images and more gradients with 16.7 million colors
- THE PERFECT VIEW: The 178/178 degree extra wide viewing angle prevents the shifting of colors when viewed from an offset angle, so you always get consistent colors
- WORK SEAMLESSLY: This sleek monitor is virtually bezel-free on three sides, so the screen looks even bigger for the viewer. This minimalistic design also allows for seamless multi-monitor setups that enhance your workflow and boost productivity
- A BETTER READING EXPERIENCE: For busy office workers, EasyRead mode provides a more paper-like experience for when viewing lengthy documents
<script src="https://code.highcharts.com/highcharts.js"></script>
<script src="https://code.highcharts.com/modules/exporting.js"></script>
For production, use the Highcharts scripts and versioning approach already established in your application rather than casually switching a deployed chart to a different release. Export behavior changes by version.
Call exportChart() for a download
Once the chart has been created and the exporting module is loaded, call exportChart(). The export options set the output type and filename; optional chart options can set export dimensions or other chart-specific settings.
const chart = Highcharts.chart('container', {
title: { text: 'Monthly sign-ups' },
series: [{
type: 'line',
data: [12, 18, 15, 27, 31, 29]
}]
});
// Download as PNG. The filename is supplied without an extension.
chart.exportChart({
type: 'image/png',
filename: 'monthly-signups'
});
Use image/jpeg for JPEG or image/svg+xml for SVG. The export API also supports PDF output; whether it is handled in the browser or remotely depends on configuration and dependencies. Consult the exportChart API for the current parameters supported by the Highcharts release you use.
Use the built-in menu or a custom button
The exporting module provides a context button by default. If your interface has its own download button, call chart.exportChart() from its click handler after the chart is ready. Keep a reference to the chart instance so the handler exports the intended chart, especially when a page contains several charts.
Crashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minutePC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 11Rank #2
- CRISP CLARITY: This 22 inch class (21.5″ viewable) Philips V line monitor delivers crisp Full HD 1920x1080 visuals. Enjoy movies, shows and videos with remarkable detail
- 100HZ FAST REFRESH RATE: 100Hz brings your favorite movies and video games to life. Stream, binge, and play effortlessly
- SMOOTH ACTION WITH ADAPTIVE-SYNC: Adaptive-Sync technology ensures fluid action sequences and rapid response time. Every frame will be rendered smoothly with crystal clarity and without stutter
- INCREDIBLE CONTRAST: The VA panel produces brighter whites and deeper blacks. You get true-to-life images and more gradients with 16.7 million colors
- THE PERFECT VIEW: The 178/178 degree extra wide viewing angle prevents the shifting of colors when viewed from an offset angle, so you always get consistent colors
document.querySelector('#download-chart').addEventListener('click', () => {
chart.exportChart({ type: 'image/png', filename: 'monthly-signups' });
});
Control dimensions and image quality
Export dimensions are based on the chart’s source dimensions and the export scale. Highcharts illustrates this with a 600 × 400 chart exported at scale 2, producing a 1200 × 800 image. That is an example, not a promise that every chart configuration will render identically.
Decide the final display or print size first. Increase the scale when you need more pixels from a chart of the same source dimensions; use explicit source width and height when the exported composition itself must change. Verify labels, legends, and tooltips at the target size. A larger bitmap contains more pixels but does not correct cramped chart layout or unreadable source labels.
SVG is a useful choice for later graphics editing or resizing because it is vector output. Use PNG or JPEG when the receiving application expects raster imagery, and PDF when the deliverable should be a document. The chart’s rendered appearance can still depend on browser support, loaded fonts, and chart features.
Export locally, use a server, or process SVG
Local PNG, JPEG, and SVG
From Highcharts 12.3.0, exporting.js handles PNG, JPEG, and SVG locally by default. This avoids sending chart content to Highsoft’s public export service for supported local conversions. Set exporting.local: false to choose remote server conversion instead.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Rank #3
- Clear visuals. Fluid motion: A 144Hz refresh rate and 1ms MPRT deliver smooth, tear‑free motion across work, gaming, and streaming for clearer, more fluid viewing.
- Eye comfort: TÜV Rheinland 3‑star* certification reduces harmful blue light while preserving stunning color quality without compromise. *TÜV Rheinland 3-star eye comfort certification.
- Wide viewing angle: Get consistent views across a wide 178° /178° viewing angle.
- In-Plane Switching (IPS): See excellent color accuracy and consistency across wide viewing angles with In-plane Switching (IPS) technology.
- Ultra-thin bezels: Maximize your viewing experience with thin bezels.
Highcharts.chart('container', {
exporting: {
local: true
},
series: [{ data: [3, 5, 2, 8] }]
});
Local conversion depends on the browser and chart content. The client-side guide documents support variations, including combinations involving embedded images, CORS, and output format. A browser may fall back to the export server, open a data URI, or produce a result that is not ideal for your use case. Test the exact browsers and chart features deployed in your application.
Local PDF
For PDF export in the browser, load offline-exporting.js after exporting.js and make jsPDF and svg2pdf available, either by preloading those libraries or configuring their library URL. These are third-party dependencies and are not included under the Highcharts license. Client-side PDF export has limitations; the documented local route does not support images in the PDF and can fall back to the server.
Version details matter: the API fallback documentation says that from Highcharts 13, PDF client-side dependencies are not automatically loaded unless exporting.libURL is defined or the scripts are already present. Check the documentation for your exact version before assuming that a configuration copied from an older release will work.
Self-hosted Node export server
If browser-side export is unsuitable or you prefer conversion on your infrastructure, Highcharts documents a Node export server. It accepts chart configuration or SVG and uses Puppeteer to render PNG, JPG, PDF, or SVG. This is a different deployment model from calling chart.exportChart() in a user’s browser: you need to install, operate, and secure the server and arrange how chart options or SVG reach it.
Rank #4
- CURVED FOR ENHANCED ENGAGEMENT: An immersive viewing experience with a curved monitor that wraps more closely around your field of vision; It creates a wider view, enhancing depth perception and minimizing peripheral distraction
- SMOOTH PERFORMANCE FOR SEAMLESS CONTENT: Stay in the action when playing games, watching videos, or working on creative projects; The 100Hz refresh rate reduces lag and motion blur so you don't miss a thing in fast-paced moments¹
- MORE GAMING POWER: Gain the edge with optimizable game settings; Color and image contrast can be adjusted to see scenes more vividly and spot enemies hiding in the dark; Game Mode adjusts any game to fill the screen so you can view every detail²
- KEEP IT EASY ON THE EYES: Care for your eyes and stay comfortable, even during long sessions; Advanced eye comfort technology certified by TÜV reduces eye strain by minimizing blue light and reducing irritating screen flicker²
- INCREASED VERSATILITY: Connect to more; Plug devices straight into your monitor for increased flexibility, making your computing environment even more convenient
A self-hosted server is relevant when you need server-side processing or do not want to send chart content to a third party. Highcharts’ client-side FAQ says the generated SVG is sent to its export service when that service is used. Review the current terms and fair-use policy of any public service before relying on it.
Get SVG for custom processing
Call chart.getSVG() when the next stage of your pipeline should receive SVG markup rather than trigger a browser download. You can then sanitize, store, transform, or pass the markup to a separate renderer. This call does not by itself turn SVG into PNG or PDF; choose and implement that conversion step separately.
Capture a whole web page instead of only the chart
Highcharts export is the appropriate path when you want the chart itself as a file. If you need a screenshot of the entire page—such as the chart together with surrounding headings, filters, or explanatory text—that is a browser-page capture problem, not just chart export. A screenshot captures the rendered page rather than exporting the chart’s underlying graphic.
Or skip the browser setup
ScreenshotNeo is a website screenshot API and MCP server for developers. One GET request can return a PNG, JPEG, WebP, or PDF of a URL. It is a page screenshot service, so it complements Highcharts export when you want the rendered webpage rather than a chart-only export. The API and options are documented at ScreenshotNeo and the ScreenshotNeo API docs.
Best Value
- 【INTEGRATED SPEAKERS】Whether you're at work or in the midst of an intense gaming session, our built-in speakers provide rich and seamless audio, all while keeping your desk clutter-free.
- 【EASY ON THE EYES】 Protect your eyes and enhance your comfort with Blue-Light Shift technology. This feature reduces harmful blue light emissions from your screen, helping to alleviate eye strain during long hours of use and promoting healthier viewing habits.
- 【WIDEN YOUR PERSPECTIVE】Our sleek minimal bezel design ensures undivided attention. The nearly bezel-free display seamlessly connects in a dual monitor arrangement, delivering an unobstructed view that lets you focus on more at once, completely distraction-free.
curl -G "https://api.screenshotneo.com/v1/shot"
-d access_key=YOUR_API_KEY
--data-urlencode url=https://example.com/dashboard
-o dashboard.webp
The same endpoint accepts the usual request in Python:
import requests
r = requests.get(
"https://api.screenshotneo.com/v1/shot",
params={"access_key": "YOUR_API_KEY", "url": "https://example.com/dashboard"},
timeout=90,
)
open("dashboard.webp", "wb").write(r.content)
Or Node.js:
const q = new URLSearchParams({
access_key: 'YOUR_API_KEY',
url: 'https://example.com/dashboard'
});
const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);
ScreenshotNeo removes cookie and consent banners, newsletter popups, and chat widgets before capture; each step can be turned off. Bot checks or CAPTCHAs, blank pages, timeouts, failed loads, and cache hits are not billed, with response headers identifying page verdict and billing status. Its MCP server provides take_screenshot, get_page_info, and capture_pdf tools for AI agents and MCP clients. The free plan includes 1,000 screenshots monthly without a card; paid plans start at $5 for 3,000 screenshots. Sign up for ScreenshotNeo’s free plan.
Troubleshoot export failures
- No export menu or method: Confirm that
modules/exporting.jsloads after Highcharts and that the chart is created with the intended Highcharts instance. Check the browser console for a failed script request or a version mismatch. - PNG, JPEG, or SVG behaves differently across browsers: Check the client-side export support guide for the browser and chart features involved. Embedded images and CORS can affect output; test with the actual chart assets and browser policy.
- Unexpected server use: In 12.3.0 and later, local export is the default for PNG, JPEG, and SVG, but fallback behavior and configuration matter. Check whether
exporting.localis false and whether the browser route fell back. - PDF export fails locally: Ensure offline-exporting.js is loaded after exporting.js and that jsPDF and svg2pdf are available. For Highcharts 13 and later, define
exporting.libURLor preload the dependencies; do not assume automatic dependency loading. - Images disappear in a local PDF: The client-side PDF route has image limitations. Test whether server export or another rendering workflow is appropriate for the chart’s embedded imagery.
- Download dimensions are wrong: Set the desired source dimensions or export scale deliberately, then inspect the resulting file. Scale changes pixel output; it does not redesign a crowded chart.
- Users see a silent failure: If you disable
exporting.fallbackToExportServer, define anexporting.errorhandler so your application can report export errors instead of leaving the user without feedback.
For detailed behavior and version-specific settings, use the client-side export guide and the exporting options API reference.
FAQ
Does SVG count as an image?
Yes. SVG is an image format, but it stores vector markup rather than a raster grid of pixels.
Can I export a chart without showing the standard context button?
Yes. Use your own interface and call the chart instance’s export method from its event handler.
Does Highcharts export save the complete webpage?
No. It exports the chart. To include surrounding page content, capture the rendered webpage with a page screenshot workflow.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




