Website review
This review may include AI-generated content and is not individually verified. Domain, certificate and other facts come from the observed data on this page.
What is Kroki?
Kroki is a service that turns plain-text diagram descriptions into rendered images. You send it a diagram definition, and it returns a graphic you can embed in documentation, a README, or a wiki page. Its tagline on the site is "Creates diagrams from textual descriptions!" — the point being that you keep the source in version control as readable text instead of maintaining a binary image file.
What that means in practice
If you write a diagram in a text-based format, Kroki handles the rendering step. The site lists "Diagram types" and "Examples" sections, so it supports multiple diagramming languages rather than only one. That matters because different notations suit different jobs: sequence diagrams for API call flows, flowcharts for decision logic, and entity diagrams for data models.
Who tends to use it
- Developers who want diagrams to live next to code and show up in diffs.
- Technical writers maintaining docs where images otherwise drift out of date.
- Teams that prefer editing a few lines of text over dragging boxes in a GUI editor.
Trade-offs to weigh
| Text-based (Kroki-style) | GUI drawing tools |
|---|---|
| Diffs are readable; easy to review | Visual editing is more immediate |
| Layout is often automatic | Fine control over placement |
| Requires learning syntax | No syntax to learn |
| Good for structured, logic-driven diagrams | Better for freeform or highly styled art |
A concrete next step
Pick one diagram you currently maintain as a screenshot — say an architecture or sequence diagram — and rewrite it in a notation Kroki supports, then compare how it reads in a pull request. If the text version is easier to review and update, that workflow is likely worth adopting for similar diagrams.
Related tools worth knowing
Mermaid is a widely used text-to-diagram notation often rendered through Kroki; PlantUML is another long-established option in the same space; Graphviz covers graph-style layouts; Structurizr focuses on software architecture models. If you want a hosted editor rather than a rendering endpoint, draw.io takes the GUI approach instead.
How do I create a diagram from a textual description using Kroki?
Send Kroki a plain-text diagram description and it returns a rendered image. You can use the public Kroki! instance or run the same service yourself.
The basic workflow
- Write your diagram in a text-based syntax (PlantUML, Mermaid, Graphviz, D2, and others are supported).
- Encode it and send it to Kroki, either through a URL or an HTTP POST.
- Embed the returned image in your documentation, README, or web page.
The simplest method is a GET request where the diagram type and the source are part of the URL. For anything longer than a short snippet, use POST with the source in the request body — this avoids URL-length limits and encoding problems.
Diagram types
Kroki's value is that one endpoint covers many syntaxes, so you don't need a separate rendering service per tool. Its site lists examples and a cheat sheet for each supported type. Common choices:
- PlantUML — UML class, sequence, and use-case diagrams.
- Mermaid — flowcharts and sequence diagrams, popular in Markdown tooling.
- Graphviz (DOT) — graph and network layouts.
- D2 — modern declarative diagrams.
Check the "Diagram types" section for the exact identifiers to put in your request.
A concrete example
A developer documenting a CI pipeline writes a Mermaid flowchart, POSTs it to Kroki, and links the resulting SVG in the project README. When the pipeline changes, they edit the text and the image updates — no drawing tool needed. The same approach works for an analyst sketching a sequence diagram in a design doc.
Choosing between the hosted service and self-hosting
| Public kroki.io | Self-hosted | |
|---|---|---|
| Setup | None; just send requests | You run the service |
| Best for | Prototypes, public docs, quick tests | Private diagrams, internal networks, heavy traffic |
| Trade-off | Your diagram source leaves your machine | More maintenance |
Next step
Pick the syntax closest to what you already know, copy the matching example from the site's Examples section, and send one test request. If your diagrams contain sensitive architecture details, plan to self-host before rolling it out across a team.
What diagram types does Kroki support?
Kroki supports a wide range of diagram types, all generated from textual descriptions rather than manual drawing tools. Its main value is that you write plain text (often using syntaxes like PlantUML, Mermaid, or Graphviz) and Kroki renders it into a diagram image via a URL, API call, or editor plugin.
The diagram families it covers include:
- UML and software design: PlantUML, Mermaid, and similar tools for class, sequence, activity, use-case, component, and state diagrams.
- Graphs and networks: Graphviz (DOT) and similar for dependency graphs, flowcharts, and relationship maps.
- Sequence and flow: Mermaid and PlantUML sequence diagrams, plus flowcharts.
- Structured data and models: ER diagrams, JSON/YAML-style visualizations, and block or architecture diagrams depending on the supported library.
- Other visual notations: BPMN, C4, Ditaa, Excalidraw-style sketches, and more, depending on the current supported list.
Because Kroki wraps many external rendering engines under one service, the exact set can change over time. The safest way to confirm what is currently available is to check the "Diagram types" section on Kroki!, which lists every supported syntax and links to examples.
A practical next step: if you already write documentation in Markdown or a wiki, pick the diagram type that matches your source format (for example, Mermaid for inline Markdown diagrams, PlantUML for detailed UML). Then test it with a small sample by encoding the text into a Kroki URL or calling the API, so you can confirm the output before committing to it across a larger document set.
How can I integrate Kroki into my documentation or CI workflow?
Kroki turns text-based diagram descriptions into rendered images, so you can keep diagrams as plain text in your repository and generate them on demand instead of committing binary files. The site presents it as a service that "creates diagrams from textual descriptions," with sections for trying it, features, examples, diagram types, and a cheat sheet.
Ways to integrate it
- Documentation builds: Send the diagram source to a Kroki endpoint and save the returned SVG or PNG as part of your docs build. This suits static-site generators and wikis where you want diagrams regenerated whenever the source changes.
- CI pipelines: Add a step that renders diagrams and fails the build if rendering errors, so broken diagram syntax is caught before merge. Generated images can be published as build artifacts or committed back by a bot.
- Editor and local preview: Many text-diagram tools and editor plugins can point at a Kroki server, giving you live preview while writing. The site's "Try" and "Cheat sheet" sections are useful for checking syntax quickly.
- Self-hosting: Because Kroki is open source, teams with private diagrams can run their own instance and point integrations at that URL instead of a public one.
Trade-offs to weigh
| Approach | Good for | Watch out for |
|---|---|---|
| Public Kroki instance | Quick setup, public docs | Sending private diagram source to a third party |
| Self-hosted instance | Confidential or internal diagrams | You maintain the service and its dependencies |
| Render in CI | Keeping images in sync with source | Build time and handling generated files |
A concrete next step
Pick one diagram in your docs, paste its source into Kroki's "Try" area to confirm it renders, then add a CI step that calls the same endpoint and writes the output into your docs folder. If the diagram contains anything sensitive, stand up your own instance first and use that URL. For related background, see Kroki! and, if you use a static-site generator, its own documentation for custom build steps.
What are the advantages of using Kroki compared to other diagramming tools?
Kroki's main advantage is that it turns plain text into diagrams through one HTTP API, so you can generate many different diagram types without installing or learning a separate tool for each one. You send a textual description, and the service returns the rendered image.
What that means in practice
- One interface, many diagram languages. The site lists a "Diagram types" section and a "Cheat sheet," which suggests broad coverage rather than a single notation. You can keep using formats like PlantUML, Mermaid, Graphviz or similar text-based syntaxes while pointing at one endpoint.
- Text is versionable. Because the source is a description, diagrams live in Git alongside code, produce readable diffs, and can be reviewed in pull requests. Binary drawing files usually cannot.
- Automation-friendly. Any script, CI job or documentation generator that can make an HTTP request can produce a diagram. This fits docs-as-code pipelines where diagrams must be rebuilt on every change.
- No local rendering stack. You avoid installing Java, Graphviz and multiple CLI tools on every machine or build agent; the server handles rendering.
- Consistent output. The same text yields the same diagram, which reduces the "someone edited the image and nobody knows how" problem.
Trade-offs to weigh
| Consideration | Kroki-style text rendering | Typical GUI diagram editors |
|---|---|---|
| Editing | Type syntax, preview | Drag and drop |
| Learning curve | Must learn notation | Immediate for simple shapes |
| Version control | Excellent, plain-text diffs | Poor for binary files |
| Layout control | Limited to the tool's engine | Fine-grained manual placement |
| Offline use | Needs the service or self-hosting | Works locally |
Who benefits most
Developers, technical writers and platform teams maintaining documentation or architecture diagrams in a repository. If your diagrams are mostly freeform visuals with precise positioning, a GUI editor will still be faster.
Next step
Open the "Examples" and "Cheat sheet" sections on Kroki!, pick the notation closest to what you already use, and render one existing diagram through the API to see whether the output quality and layout suit your docs. If network dependency is a concern, check whether the project can be self-hosted before committing to it in a build pipeline.
Where can I find examples and a cheat sheet for Kroki?
Kroki's own site is where you'll find both. On Kroki!, the page lists an Examples section and a Cheat sheet section alongside a Diagram types list, so you can browse rendered samples and jump straight to syntax references in one place.
What to expect from each section
- Examples — shows rendered diagrams of various kinds, useful for seeing what output looks like before you commit to a syntax.
- Cheat sheet — a quick-reference for the notation itself, best for looking up a specific construct rather than learning a tool from scratch.
- Diagram types — the index that tells you which languages Kroki accepts, so you can confirm your tool is supported before searching for examples.
A practical next step
Pick one diagram type you already use, open its example, then keep the cheat sheet open beside your editor as you write. If your diagram language isn't listed under diagram types, Kroki won't render it, and no amount of example-hunting will help — check that first.
For deeper syntax documentation, the upstream projects are more thorough: PlantUML, Mermaid, and Graphviz each maintain their own reference material, which complements Kroki's quick-reference approach.
User reviews (0)