explaingit

frappe/charts

Analysis updated 2026-06-24

15,081JavaScriptAudience · developerComplexity · 2/5Setup · easy

TLDR

A tiny JavaScript library for drawing GitHub-style SVG charts on a web page with zero dependencies and a simple data-in, chart-out API.

Mindmap

mindmap
  root((Frappe Charts))
    Inputs
      Labels array
      Datasets
      Chart type
      Colors
    Outputs
      SVG charts
      Tooltips
      Annotations
    Use Cases
      Sales dashboards
      Admin panels
      Static reports
      Embedded analytics
    Tech Stack
      JavaScript
      SVG
      npm
      ESM
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Add bar, line, pie and heatmap charts to a dashboard without pulling in D3 or Chart.js.

USE CASE 2

Drop a single script tag into a plain HTML page to render a chart with no build step.

USE CASE 3

Update chart data live by adding, removing or swapping points after the chart is drawn.

USE CASE 4

Build a lightweight admin panel that shows sales history or activity heatmaps.

What is it built with?

JavaScriptSVGnpmESM

How does it compare?

frappe/chartsnodebb/nodebbapexcharts/apexcharts.js
Stars15,08115,07815,098
LanguageJavaScriptJavaScriptJavaScript
Setup difficultyeasymoderateeasy
Complexity2/53/52/5
Audiencedeveloperops devopsdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 5min

One npm install or script tag and a div on the page is all you need.

In plain English

Frappe Charts is a small JavaScript library for drawing charts on a web page. It produces SVG graphics, which means the charts stay crisp at any size and respond to the size of the browser window. The library has zero dependencies, so you do not need to pull in other tools to use it. The visual style is inspired by the kind of charts you see on GitHub. The project was started inside Frappe's own product, ERPNext, when the team needed a simple sales history graph. They were using c3.js but felt it did not match their product's look, and other libraries they tried felt either too complex or too rigid. So they wrote their own with a focus on a simple API: feed it pairs of values, get back shapes and positions on a chart. The library supports several chart types. The README lists Axis Charts, Area and Trends, Bar, Line, Pie, Percentage, Mixed Axis, and Heatmap. You can add annotations such as x and y markers, regions on the chart, and tooltips that show extra information when a viewer hovers over a point. Data can be changed after a chart is drawn: you can add, remove, or update individual points, or swap in a whole new dataset. Colors, animations, and titles are configurable. Using it is straightforward. You install it with npm, then import the Chart constructor in your code, or you can drop a single script tag into an HTML page to use it without a build step. You then create a new Chart, point it at an element on the page, and pass an object with labels, datasets, a chart type, height, and colors. The README shows a short example that mixes a bar series and a line series on the same axes. Contributing follows the usual pattern: clone the repo, run npm install, then npm run dev. The README also links to a demo site, a CodeSandbox example, full documentation, and a blog post about why the team built the library in the first place.

Copy-paste prompts

Prompt 1
Set up frappe-charts in my Vite app and render a mixed bar plus line chart from this sales array: <paste data>.
Prompt 2
Show me a plain HTML file that loads frappe-charts from a CDN and draws a GitHub-style heatmap from a date-value map.
Prompt 3
Write a function that takes new sales numbers and updates an existing frappe-charts Chart instance in place every 5 seconds.
Prompt 4
Give me the minimal config to add x-axis markers and tooltip text to a frappe-charts line chart.
Prompt 5
Compare frappe-charts and Chart.js for a small admin dashboard with 5 charts and tell me which to pick.

Frequently asked questions

What is charts?

A tiny JavaScript library for drawing GitHub-style SVG charts on a web page with zero dependencies and a simple data-in, chart-out API.

What language is charts written in?

Mainly JavaScript. The stack also includes JavaScript, SVG, npm.

How hard is charts to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is charts for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.