D3.js is a JavaScript library for manipulating documents based on data. D3 helps you bring data to life using HTML, SVG, and CSS.




Cairo is described as 'Open source programming library that provides a vector graphics-based, device-independent API for software developers' and is a Vector Graphic app in the development category. There are more than 10 alternatives to Cairo for a variety of platforms, including Mac, Windows, Linux, Self-Hosted and Web-based apps. The best Cairo alternative is D3.js, which is both free and Open Source. Other great apps like Cairo are p5.js, Processing.js, Raphaël and Skia.
D3.js is a JavaScript library for manipulating documents based on data. D3 helps you bring data to life using HTML, SVG, and CSS.




Processing.js is an open programming language, port of the Processing Visualization Language, for people who want to program images, animation, and interactions for the web without using Flash or Java applets. Processing.

Raphaël is a small JavaScript library that should simplify your work with vector graphics on the web. If you want to create your own specific chart or image crop and rotate widget, for example, you can achieve it simply and easily with this library.




Skia is an open source 2D graphics library which provides common APIs that work across a variety of hardware and software platforms. It serves as the graphics engine for Google Chrome and Chrome OS, Android, Mozilla Firefox and Firefox OS, and many other products.




Paper.js is an open source vector graphics scripting framework that runs on top of the HTML5 Canvas. It offers a clean Scene Graph / Document Object Model and a lot of powerful functionality to create and work with vector graphics and bezier curves, all neatly wrapped up in a...



PlotDevice is a Macintosh application that lets you write Python scripts to generate 2D graphics using simple drawing commands.

Anti-Grain Geometry (AGG) is a high-quality 2D rendering library written in C++. It features anti-aliasing and sub-pixel resolution. It is not a graphics library, per se, but rather something to build a graphics library upon.
The drawing engine supports rendering vector graphics (such as lines, curves, and figures) and text (in a variety of fonts, sizes, and styles) onto raster images in all commonly used graphics file formats. Can be used in web, mobile, desktop, cloud and IoT scenarios.
Snap.svg is a brand new JavaScript library for working with SVG. Snap provides web developers with a clean, streamlined, intuitive, and powerful API for animating and manipulating both existing SVG content, and SVG content generated with Snap.