← Back to news

Show HN: TikZ Editor – WYSIWYG editor for figures in LaTeX

tikz.dev|219 points|39 comments|by DominikPeters|Jun 23, 2026

Show HN: TikZ Editor – A WYSIWYG Approach to LaTeX Figures

Welcome, everyone! I am excited to introduce TikZ Editor, a tool designed to transform how we create figures for LaTeX.

For too long, creating diagrams in TikZ has been a process of blind guessing iterative trial and error. You write a line of code, compile the entire document, realize the node is 2mm too far to the left, and repeat. It is a tedious cycle that kills creative flow.

The Vision

The goal of TikZ Editor is to bridge the gap between the precision of code and the intuition of visual design. Instead of manually calculating coordinates like (x,y)(x, y) or θ\theta in your head, you can simply move elements on a canvas.

"The objective is to make figure creation as intuitive as drawing on a whiteboard, while maintaining the professional output of LaTeX\LaTeX."

How the Workflow Changes

Below is a conceptual look at how the tool streamlines the production of figures:

Key Features

The editor provides a comprehensive suite of tools to handle both simple and complex diagrams:

  • Interactive Canvas: Move nodes and edges with your mouse.
  • Live Synchronization: As you drag an object, the underlying \draw command updates instantly.
  • Precision Control: While you can drag, you can still manually enter exact values for mathematical rigor, such as abf(x)dx\int_{a}^{b} f(x) \, dx.
  • Export Options: Copy the raw code directly into your .tex file.

Manual Coding vs. TikZ Editor

FeatureManual TikZ CodingTikZ Editor
Coordinate AdjustmentManual editing \rightarrow RecompileInstant Drag-and-Drop
Visual FeedbackDelayedReal-time
Learning CurveSteep (Requires Syntax Mastery)Low (Intuitive UI)
PrecisionAbsoluteAbsolute + Visual

Technical Implementation

The editor parses TikZ syntax into a visual graph representation. For example, if you have a simple circle:

\begin{tikzpicture}
    \draw[blue, thick] (0,0) circle (1cm);
    \node at (0,0) {Center};
\end{tikzpicture}

The software interprets the (0,0) coordinate and the 1cm radius to render a manipulatable object on the screen.

TikZ Editor Interface Example

Roadmap & Future Goals

I am still refining the tool and would love your feedback. Here is what is currently on the agenda:

  • Basic shape implementation (circles, rectangles, lines)
  • Real-time code generation
  • Support for advanced TikZ libraries (e.g., shapes.geometric)
  • Collaborative real-time editing
  • Integration with Overleaf via API

I believe this will significantly reduce the friction of academic writing. Please let me know what features you would find most useful!