Data Lineage Designer

Data Lineage Designer

Connect fields and inspect where a change to one column can propagate.

Everything stays in this page’s memory. There is no autosave; download project JSON to keep your work.

Project

Project 256KiB · 40 nodes · 20 fields per node · 400 fields total · 800 mappings. Names: 80 characters; notes: 240.

After editing a name or mapping, press its save button. The graph and project exports use the last saved structure. Draft form or JSON edits immediately clear the previous analysis.

Import project JSON

A successful import replaces the saved project. Errors and cancellation preserve it. Duplicate JSON properties and unknown properties are rejected.

Nodes and fields

The classification chooses a diagram column. All kinds allow connections in either direction and cycles.

Deleting a node or field also removes mappings incident to that item.

Fields in selected node

Field mappings

A connection says the source field is an input to the destination. Add each input separately. Notes are never executed, and dependencies do not automatically propagate to sibling fields.

Impact and origin analysis

Reached fields exclude the starting field. Another field in the starting node can make that node appear in the result. Distance counts mappings, not runtime or severity.

Add a node or start with the example.

Lineage graph and reference tables

Columns are source, transform and consumer classifications, not a topological sort. Arrows are saved field mappings. Purple marks the start; blue marks reached fields. Long diagram labels are shortened; the reference tables contain complete names and connections. SVG uses a readable light background.

Saved nodes: 0 · fields: 0 · mappings: 0

A graph of the saved field connections. Complete names and relationships are available in the reference tables below.
Complete field and mapping reference tables
All fields
NodeNode classificationField
All mappings
IDSource fieldDestination fieldMapping note (up to 240 characters)

Comments & questions

Data Lineage Designer

Document where a field comes from and where its value is used. Create source, transformation and consumer nodes, connect explicit field dependencies, and trace downstream impact or upstream origins. This is a manual design workspace; it does not connect to databases or execute SQL.

Key features

  • Separate node and field editors with source, transform and consumer classifications
  • Explicit fan-in and fan-out mappings with notes for each dependency
  • Downstream and upstream field reachability with shortest mapping counts
  • Field-level cycle groups, isolated-field counts and complete reference tables
  • Strict project JSON round-trips, a portable SVG drawing and impact CSV export

How to use

  1. Open the example or enter a node name and classification to add a node.
  2. Add fields to the selected node, then save mappings with source, destination and notes.
  3. Choose a starting field and run downstream impact or upstream origins.
  4. Review reached fields, affected nodes, shortest distances and cycle groups in the table and graph.
  5. Save project JSON for later editing, or export the current SVG and impact CSV.

Use cases

  • Review revenue summaries and dashboards before changing the raw order amount field
  • Trace a reporting metric back to its explicitly recorded input fields
  • Explain merge and branching dependencies during an ETL migration review
  • Share a manually documented lineage model as JSON and reopen it for editing

Frequently asked questions

How does this differ from a SQL formatter or ER diagram?

It does not format queries or define table-key relationships. It follows field dependencies that you explicitly record to calculate origins and potential impact. That also differs from the existing SQL formatter’s FROM/JOIN table reference summary.

Does a change affect every field in the same transformation node?

No. Only explicit field connections propagate impact. In the example, the raw amount reaches cleaned amount, revenue summary and dashboard revenue, while customer_id remains independent even when it belongs to the same node. Add every dependency you want considered.

Can I analyze a project that contains cycles?

Yes. Each field is visited once during reachability analysis. Actual field-level cycle groups and self-loops are listed separately. Opposite node-level arrows between unrelated fields do not automatically form a field cycle. Source, transform and consumer kinds are display classifications, not restrictions on direction.

What project JSON is accepted?

The local-data-lineage-v1 format requires exact properties, valid IDs and existing field endpoints. Duplicate decoded JSON properties, unknown properties, duplicate IDs, dangling endpoints and duplicate directed mappings are rejected. Limits are 256KiB, 40 nodes, 20 fields per node, 400 fields in total and 800 mappings.

What do the SVG and CSV contain?

SVG draws the saved nodes, fields and mappings and highlights the starting and reached fields after analysis. Long diagram labels are shortened; the project and reference tables retain their full text. CSV lists reached fields, excluding the starting field, with IDs, names, shortest distances and the first mapping that reached them. Formula-like strings receive an apostrophe prefix.

Does this discover real lineage or modify a pipeline?

No database connection, SQL inference, runtime-log collection or pipeline modification occurs. Results describe potential dependencies in your declared connections. Missing relationships and the actual execution of conditional transformations are not verified.

Privacy

Titles, fields, mappings, notes and files stay in this page’s memory. This tool does not upload them or automatically save them to a URL or browser storage. Download project JSON before reloading or leaving. A native file read cannot be stopped at the operating-system stage, but cancellation and newer input prevent its late result from being applied.

Related Tools

SQL FormatterJSON FormatterOnline NotepadWasm Module InspectorHreflang Matrix CheckerAST Query PlaygroundContainer Build GraphDependency Graph ExplorerSemver Range LabCron Schedule AuditorPatch Review WorkbenchSource Map ExplorerLocalization Catalog AuditorStructured Data ReviewerHTTP Archive AnalyzerWebhook Signature LabProtobuf Schema WorkbenchGraphQL Schema LabAvro Schema EvolutionLocal SQL WorkbenchSchema Form BuilderMesh Repair WorkbenchPipe Network LabRobot Arm Kinematics LabThermal Network LabBeam Response LabGear Train DesignerTolerance Stackup LabSensor Calibration FitPCB Stackup PlannerDigital Filter DesignerNetwork Reachability MapSun Shadow MapGPS Error SimulatorDigital Logic SimulatorAnalog Circuit LabMechanism Linkage LabAnalysis Mesh GeneratorOpenAPI Contract InspectorDatabase Migration PlannerDimensional Equation CheckerTruss Force LabBoolean Minimization LabControl Response LabQueueing Simulation LabGeofence Event SimulatorCoordinate Reference LabSurvey Traverse LabRaster Classification LabChoropleth Design LabMap Print ComposerRaster Reprojection LabElevation Contour MakerTerrain Viewshed LabWatershed DelineatorMap Tile PackagerText File Encoding WorkbenchFilesystem Portability AuditorSBOM License ExplorerFile Signature Auditornpm Lockfile Conflict ResolverSource Secret AuditorOffline Web Package BuilderCertificate Chain InspectorTorrent Metainfo InspectorChunked File PackagerEncrypted File VaultDuplicate File FinderArchive WorkbenchDesign Token ManagerSpacing Token DesignerResponsive Type SystemPackaging Dieline DesignerSVG Icon Sprite PackerFlex Layout PlaygroundCSS Grid PlaygroundRegex Equivalence LabMarkdown Repository AuditorLog Template MinerResponsive Layout AuditorEmail Template PreviewInternal Link GraphState Machine TesterPetri Net SimulatorGit History VisualizerCurl Request WorkbenchBinary Protocol DesignerHex File EditorBinary Patch WorkbenchFile Signature WorkbenchAPI Mock SandboxSchema Column MapperEvent Log SessionizerER Diagram DesignerTime Series Gap AuditorStratified Data SplitterDecision Tree LabData Anonymization WorkbenchData Expectation RunnerJSON Schema ValidatorBasket Pattern AnalyzerRobots Policy TesterSEO HTML AuditorAccessibility Structure AuditorSyndication Feed WorkbenchIndexNow Payload BuilderCrawl Log AnalyzerCSP Policy WorkbenchSearch Performance AnalyzerCSV Formula Risk AuditorCORS Response SimulatorCache Header LabCookie Policy InspectorWeb Vitals Trace LabSitemap Health AuditorBatch File RenamerFile Manifest VerifierFolder Space MapFolder Difference ReviewerRoute Order OptimizerGeoJSON Map EditorPolygon Overlay LabCartographic Label PlacerSpatial Table JoinGeoJSON Topology AuditorGPX Track AnalyzerTrack Privacy RedactorCSV Table JoinCSV Pivot WorkbenchScientific Data ProfilerTabular Cleaning WorkbenchRecord ReconciliationData Dictionary BuilderCanonical Graph AuditorRedirect Plan TesterHTTP response and ping reference testBrowser and System InformationJSON ↔ YAML ConverterXML ↔ JSON ConverterHTML FormatterJavaScript MinifierMock Data Generator.gitignore GeneratorLicense GeneratorUser-Agent ParserPassword Strength CheckerCode to ImageXML FormatterHTTP Status Code LookupMIME Type LookupJS & SQL String EscapeCSS Box Shadow GeneratorCSS Gradient GeneratorIndent ConverterNumber Base ConverterUnicode Escape ConverterUnicode InspectorJSON Structure DiffMarkdown Table GeneratorBase64 EncoderURL EncoderCron Expression GeneratorRegex TesterUUID GeneratorHash GeneratorTimestamp ConverterJWT DecoderHTML Entity ConverterMarkdown PreviewCSS MinifierMeta Tag GeneratorJSON ↔ CSVCase ConverterImage to Base64
Explore all Dev Tools tools →Image/Media →Text/Convert →Life/Fun →