Describe your system architecture with code. Visualize, validate and share — all from a single source of truth.
A streamlined workflow that takes you from architecture definition to shareable diagrams in three simple steps.
Define your architecture using a simple, expressive DSL. Describe components, relationships and boundaries as code.
model { customer = actor 'Customer' cloud = system 'Our SaaS' { ui = component 'Frontend' api = component 'Backend' ui -> api 'requests' } customer -> ui}Get instant visual diagrams generated from your code. Explore different views of your system at any level of detail.
Export diagrams, embed in docs, or share interactive views with your team. Keep everyone aligned on architecture.
$ likec4 build
Building static site...
$ likec4 generate react
Generated React components
$ likec4 serve
Serving at http://localhost:5173 A complete toolkit for modeling, visualizing, and validating your software architecture — all from code.
Define your system with a clean DSL, designed for clarity and control. LLM-friendly syntax that AI agents understand natively.
specification { element actor { style { shape person } } element system element component relationship async}Store diagrams in Git, track changes, and collaborate using familiar workflows.
Expose your architecture context to AI agents via MCP server or API — no extra effort.
Navigate and explore your architecture diagrams interactively. Drill down into components and relationships.
Embed interactive diagrams into docs, websites or apps — via Vite Plugin, React or Web Components.
Validate changes automatically. Catch architectural drift and breaking changes before they ship.
model { customer = actor 'Customer' { description 'A user of our product' } cloud = system 'Our SaaS' { description 'Our product' } customer -> cloud 'uses to manage data'}model { customer = actor 'Customer' { description 'A user of our product' } cloud = system 'Our SaaS' { description 'Our product' ui = component 'Frontend' customer -> ui 'opens in browser' } customer -> cloud 'uses to manage data'}model { customer = actor 'Customer' { description 'A user of our product' } cloud = system 'Our SaaS' { description 'Our product' ui = component 'Frontend' customer -> ui 'opens in browser' backend = component 'Backend' ui -> backend 'requests via HTTPS' } customer -> cloud 'uses to manage data'}Thanks to everyone who has contributed to LikeC4.