100% FREE · NO SIGNUP · UNLIMITED

Free Timing Diagram Maker

Describe your digital signals or communication protocol and get a clear timing diagram in seconds. Perfect for SPI, I2C, UART, FPGA, and embedded systems documentation. No account needed.

timing · every result is a timing  ·  ⌘↵ to run

Free forever · no signup · no credit card · unlimited diagrams

Live sample · SPI transaction timing diagram — type above to make your own
SPI Transaction Digital timing diagram with 4 signals 0xAB0xCD0xEF0x010x020x030x04 CLK CS_N MOSI MISO SPI Transaction

How to make a timing diagram in 4 steps

  1. Describe your signals

    Type a description of your digital signals — name each signal (CLK, CS, MOSI, SDA, etc.), describe its type (clock, logic high/low, bus data, tri-state), and explain the transaction or sequence you want to show. Include timing relationships like setup and hold times if relevant.

  2. Generate the diagram

    Click Generate and the AI produces a WaveDrom-style timing diagram with clock waveforms, logic signals, bus stable and transition states, don't-care periods, and high-impedance (Z) states annotated where appropriate. Bus signals are labeled with data values.

  3. Review timing relationships

    Check that clock-to-data relationships are correct, chip-select assertion and deassertion timing relative to the clock is accurate, and that protocol-specific conditions (START, STOP, ACK in I2C; SS assertion in SPI) are correctly placed.

  4. Export for documentation

    Download the timing diagram for datasheets, application notes, firmware review documents, or FPGA timing specifications. No account or WaveDrom installation required.

What is a timing diagram?

Frequently asked questions

What is WaveDrom?

WaveDrom is an open-source JavaScript library and online editor for creating digital timing diagrams from a JSON description. It defines a standard signal type vocabulary (clock, logic, bus, don't-care, high-impedance) and renders clean SVG waveform diagrams. WaveDrom is widely used in chip datasheets, FPGA documentation, and protocol specifications. Our timing diagram maker uses the WaveDrom rendering conventions.

What is the difference between SPI and I2C timing?

SPI (Serial Peripheral Interface) is a four-wire full-duplex protocol with separate MOSI (master out), MISO (master in), SCLK (clock), and CS (chip select) signals. I2C (Inter-Integrated Circuit) is a two-wire half-duplex protocol using SCL (clock) and SDA (data) with open-drain signaling, START/STOP conditions, and ACK/NACK bits. SPI is faster and simpler; I2C supports multiple masters and devices on the same two wires.

What does high impedance (Z) mean on a timing diagram?

High impedance (Z) means a signal is neither driven high nor driven low — the driver is effectively disconnected from the bus. This state appears on shared buses where only one device drives the line at a time. In SPI, the MISO line is in high impedance when the selected slave is not actively responding. In I2C, the open-drain SDA and SCL lines are pulled high by resistors when no device is pulling them low.

What are setup time and hold time in a timing diagram?

Setup time is the minimum time a data signal must be stable before the active clock edge for the flip-flop or latch to reliably capture it. Hold time is the minimum time the data signal must remain stable after the active clock edge. Both are specified in the device datasheet and shown on timing diagrams with annotated arrows between the data signal transition and the clock edge.

Can I use this for FPGA timing documentation?

Yes. FPGA designers use timing diagrams to specify the intended behavior of interfaces before implementation and to document the actual behavior during verification. Describe your FPGA interface signals — clock, reset, valid, ready, data bus — and the transaction sequence, and the generator will produce a WaveDrom-style diagram you can include in your design specification or review document.

Other diagram types you can make

FreeDiagram supports 25+ types — all free, no signup.