A GUI Visualization Toolkit
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Limn — a GUI Visualization Toolkit

Limn is a GUI for constructing beautiful visualizations without need of programming skills.

[![Limn Screenshot][limn_screenshot]][wmf_reportcard]

Play with it! The Wikimedia Reportcard site is powered by Limn — check it out!


  • Graphical interface to create and customize visualizations
  • Beautiful results, easy to use
  • Easily added to any existing project as either a single script tag, or via node middleware
  • Works with a simple data format that is agnostic to the backing data-source

Check out the Feature Walkthrough for more info!

Why Limn?

There are a great many JavaScript graphing libraries, and Limn isn't one: if you're a programmer looking to stick some graphs on your site, you already have a ton of options (ps. use d3.js).

But what about your non-programmers? They don't have many options: they email somebody, maybe try some shoddy web tools, and eventually reach for Excel. Ew. Worse, the time and energy expended in getting a single chart is so great that they're seriously discouraged from playing around. In the age of big data, this is a big problem. Exploration is a huge component of success. You need to iterate. You need to be open to inspiration. If you think you know what you're looking for, you're probably wrong. This is the niche Limn aims to fill: a drop-in component that enables self-service visualizations for your team.

The "drop-in" part is important: we want it to be easy for programmers to enable these features in existing applications with minimal changes. If you already have a datasource that provides data in CSV or JSON format (be it files on disk or a REST API) you're mostly good to go. Limn can run entirely as a client-side application simply by including limn.js, or as node.js middleware using either Connect or Express, in which case graphs can be persisted on disk. The only real work is to configure Limn to know about your datasources, though in the future we aim for the client to be able introspect this information from the data.

Work in Progress

Limn is a work-in-progress. This means it some things are harder than they should be (though it's still pretty easy to use!); it means it's missing some otherwise sensible features and configuration options; it means there's some code that probably needs to be cleaned up. When you find these things, help us out by opening a ticket (or, if you're feeling ambitious, a pull request ;)). It means you probably shouldn't use Limn in production unless you're ready to submit patches. We work on the develop branch and promote to master only when we have significant progress.

Learn More

Excited? Here are some good places to go from here:


The fastest way to get Limn up and running:

  • On Mac or Linux, make sure you have nodejs and npm installed
git clone git@github.com:wikimedia/limn.git
cd limn
npm install
npm i -g coco
npm start


Limn is made with love by the Wikimedia Foundation's Analytics team, and we'd love to hear from you, whether it's because you found a bug, have suggestions, or want to contribute! For mundane things, open a ticket (or fork the project!) on GitHub. You can also send Dave a charming email at dsc@wikimedia.org.


Limn is open-source software, freely available under the MIT License.