🌊 Digital timing diagram rendering engine
JavaScript HTML CSS Perl
Latest commit ad5cc36 Jan 20, 2017 @drom committed on GitHub Update README.md


Build Status NPM version Built with Grunt Analytics PayPal donate button



WaveDrom is Free and Open Source online digital timing diagram (waveform) rendering engine that uses javascript, HTML5 and SVG to convert WaveJSON input text description into SVG vector graphics.

WaveJSON is an application of the JSON format. The purpose of WaveJSON is to provide a compact exchange format for digital timing diagrams utilized by digital HW / IC engineers.

The engine using WaveDromSkin skin mechanism to render complete picture.


alt text

Web usage

WaveDrom timing diagrams can be embedded into the web pages, blogs, wikis to be rendered by the most of modern browsers:

alt text 4+ alt text 10+ alt text 5.1+ alt text 12+ alt text 11

HTML pages

There are 3 steps to insert WaveDrom diagrams directly into your page:

1) Put following line into your HTML page <header> or <body>:

<script src="http://wavedrom.com/skins/default.js" type="text/javascript"></script>
<script src="http://wavedrom.com/wavedrom.min.js" type="text/javascript"></script>

or from CDN:

<script src="https://cdnjs.cloudflare.com/ajax/libs/wavedrom/1.4.1/skins/default.js" type="text/javascript"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/wavedrom/1.4.1/wavedrom.min.js" type="text/javascript"></script>

2) Set onload event for HTML body.

<body onload="WaveDrom.ProcessAll()">

3) Insert WaveJSON source inside HTML <body> wrapped with <script> tag:

<script type="WaveDrom">
{ signal : [
  { name: "clk",  wave: "p......" },
  { name: "bus",  wave: "x.34.5x",   data: "head body tail" },
  { name: "wire", wave: "0.1..0." },

Script will find all <script type="WaveDrom"> instances and insert timing diagram at that point.



Blogs & Wikis

Blogger integration: (http://wavedrom.blogspot.com/2011/08/wavedrom-digital-timing-diagram-in-your.html)


WaveDromEditor is online real-time editor of digital timing diagrams based on WaveDrom engine and WaveJSON format.

Standalone WaveDromEditor


  1. Download latest wavedrom-editor-v1.3.0-win-{ia32|ia64}.zip release from here: releases
  2. Unzip it into working direactory.
  3. run the editor: WaveDromEditor.exe


  1. Download latest wavedrom-editor-v1.3.0-linux-{ia32|x64}.tar.gz release from here: releases
  2. unzip-untar the package: tar -xvzf wavedrom-editor-v1.3.0-linux-x64.tar.gz
  3. run the editor: ./WaveDromEditor/linux64/WaveDromEditor


  1. Download latest wavedrom-editor-v1.3.0-osx-ia64.zip release:
  2. unzip
  3. run


Please use WaveDrom user group for discussions, questions, ideas, whatever.