BlockDiag

Rather than drawing diagrams manually, users define structures such as block diagrams, sequence diagrams, activity flows, network diagrams and other visual models in a lightweight syntax, which the libraries then render automatically.

This makes BlockDiag especially useful for documentation, architecture notes and version-controlled projects, where diagrams need to be easy to update, review and keep in sync with the surrounding content.