WaveDrom is a digital timing diagram rendering engine that converts WaveJSON text descriptions into SVG vector graphics using JavaScript, HTML5, and SVG.
The tool solves the problem of creating and sharing digital timing diagrams, which are essential for hardware and IC engineers. Rather than drawing diagrams manually or using specialized proprietary tools, WaveDrom uses a JSON-based format called WaveJSON as a compact, human-readable exchange format for timing diagrams. The engine processes this text input and renders it as scalable vector graphics, with appearance controlled through a skin mechanism that determines how the final diagram looks.
WaveDrom suits engineers and technical documentation authors who need to create timing diagrams programmatically or embed them in web pages, blogs, wikis, and presentations. The tool works as a web-based editor for real-time diagram creation, as a command-line utility for batch conversion of WaveJSON files to SVG, and as an embeddable JavaScript library that renders diagrams directly in HTML pages. A standalone editor is available for Windows, Linux, and macOS. The project integrates with platforms like MediaWiki, Blogger, and ObservableHQ, making it flexible for different documentation workflows.
The project maintains an active online editor and tutorial alongside the core rendering engine. Development includes regular updates to the standalone editor across multiple platforms, and the codebase accepts community contributions through established channels. The tool has established itself as a reference implementation for the WaveJSON specification, with the format documented in a separate schema repository.