Understand complicated SQL without tracing every branch by hand.
ProcFlow turns SQL into diagrams for control flow, query structure, object dependencies, column lineage, and report dependencies. It runs locally in the browser: no backend, database connection, sign-in, or installation is required.
Accuracy warning: ProcFlow is a deterministic heuristic analyser, not a database compiler. Treat diagrams as investigation aids and verify important findings against the source SQL and target database.
- DBAs: review procedures, functions, triggers, views, transactions, exception paths, reads, writes, and calls.
- SQL/report engineers: import SSRS/RDL definitions, connect datasets to their queries, and trace report → dataset → object → column dependencies.
- Application teams: inspect multi-object scripts, temporary-table flow, catalogue-backed object resolution, and conservative column lineage.
- Reviewers: export deterministic Mermaid, SVG, or editable draw.io diagrams with source provenance.
- Download the
v1.14.1runtime ZIP from the GitHub release, or clone this repository. - Open
index.htmlin a current Chromium, Firefox, or Edge browser. - Paste SQL or import local files, select a dialect or Auto, and choose Refresh.
- Choose an object and scope, then inspect the source spans and diagnostics before relying on a relationship.
For development, see Development. For a simple served
run, use python -m http.server 8000 from the runtime directory and open
http://127.0.0.1:8000/.
Open the app and choose Load sample to explore a representative procedure, query, report-shaped dependency, or SQLite trigger without preparing any input. The logo above is the bundled project mark; all sample and user analysis stays in the browser.
IF/ELSE/CASE, loops, exits, labels,GOTO, cursors, transactions, savepoints, returns, and exception handling;- statement and result-set structure, CTEs, joins, unions, subqueries, table
reads/writes,
MERGE,APPLY, derived tables, and query references; - procedure/function calls and object dependencies;
- temporary-table producer → consumer data flow;
- conservative column lineage with explicit ambiguity;
- report and dataset dependency chains;
- dynamic SQL as an explicit opaque step rather than an invented dependency.
ProcFlow v1.14.1 supports Microsoft T-SQL, IBM DB2 SQL PL, PostgreSQL PL/pgSQL, and SQLite. Detection is automatic but can be overridden. Vendor extensions outside these tested constructs may produce diagnostics or reduced coverage; see Accuracy.
Runtime analysis is local-only. Nothing is submitted to ProcFlow. Browser storage is opt-in through Save to this browser; workspace export and clipboard actions are explicit. Mermaid uses strict rendering in the security suite, and hostile labels are escaped for diagram/XML output. Read the full Security and privacy policy before using sensitive data.
- User guide — workflows, imports, filters, workspaces, large inputs, and exports.
- Accuracy — confidence, coverage, diagnostics, and limits.
- Architecture — pipeline, modules, and invariants.
- Security — data handling and hostile-input boundaries.
- Development — build, browser suites, benchmarks, and packaging.
- Benchmarks — scale fixtures and indicative observations.
- Release history — versioning and release notes.
- v1.14.1 release note — current patch details.
- Roadmap — planned convergence work.
Keep runtime code local-only, preserve source spans and conservative semantics,
add deterministic fixtures for behavior changes, and rebuild dist/ before a
commit. Run the commands in Development, including the
browser and package smoke suites. Use the issue forms for anonymised parser
reports, bugs, and feature requests; never include confidential SQL.
ProcFlow is released under the MIT License. Mermaid is vendored under
its own MIT license in vendor/mermaid/LICENSE.