TikZ Editor: a WYSIWYG that edits coordinates in your existing TikZ source
Contents
When you build figures for a paper in TikZ, nudging a line or a node by a hair means another round trip of editing the coordinates and recompiling.
TikZ Editor turns that round trip into a canvas operation in the browser.
It puts the code and the rendered result side by side, and dragging a shape changes the coordinates on the TikZ code side too.
The big part isn’t being “a drawing tool that exports TikZ.” It’s that it reads your existing TikZ code and rewrites only the numbers, keeping the original line breaks and spacing as much as possible.
The GitHub README also explains that you can open an actual .tex file directly and edit the figure inside it.
It isn’t a tool that converts SVG or PowerPoint to TikZ and calls it done; it builds an editing surface meant to go back into the paper body.
Overwriting coordinates, not generating code
In the HN post, the core of the implementation was spelled out pretty clearly.
It parses the TikZ code and keeps track of where each object lives in the original source.
When the user moves a shape, it swaps in only the digits of that coordinate.
Because of this, it doesn’t wreck the indentation or line breaks of the existing file.
When you have an AI or a conversion tool produce a figure, you can get code that works but is formatted in a way that’s hard for a human to read later.
TikZ Editor’s aim sidesteps that.
In Routing Claude Code output from Markdown to HTML, I wrote about building an HTML display surface only for the moments where a human makes a judgment.
TikZ Editor has a similar bit of restraint.
The source of truth stays the TikZ code in .tex, and a visual UI is inserted only at the instant of adjusting coordinates.
What you can actually drag in existing code
The range of support in the README is broad.
It handles shapes, paths, curves, trees, matrix nodes, \foreach, colors and line styles, fills, and transforms.
Output is SVG, PDF, PNG.
Input also supports SVG, IPE, and PPTX.
That said, it isn’t a tool that can process every TikZ construct.
Decorations, graphs, and plots are partially supported, and advanced constructs like the let operation are listed as not implemented.
If your figure leans heavily on elaborate macros from a lab or a paper template, it’s better to try loading a small figure first.
| Support | Syntax & elements |
|---|---|
| Full support | Shapes, paths, curves, trees, matrix nodes, \foreach, colors and line styles, fills, transforms |
| Partial | Decorations, graphs, plots |
| Not implemented | Advanced syntax such as the let operation |
The handling of relative placement also has its boundaries.
In an HN comment, the author explains that if the existing code has relative placement like right of, it keeps editing as relative placement even after you drag.
But elements newly added from the toolbar end up as absolute coordinates.
This is the spot where the TikZ-style “leave the meaning intact via named coordinates and anchors” way of writing collides with the WYSIWYG “save exactly where you moved it on screen” way of writing.
Another comment pointed out that even simple node placement produces absolute coordinates.
The author replied that automatically converting to tidy relative code makes it harder to decide the behavior the user expects.
For example, when you press “align the bottom edges of multiple shapes,” whether it should silently create a new named coordinate, move an existing coordinate, or change an offset isn’t uniquely determined.
A tool for nailing the last few millimeters of a paper figure
This tool is suited less as a complete drawing app for people who don’t know TikZ, and more as a tool for people who already have a figure in TikZ to do the final alignment.
Without breaking the existing code, you tighten the distance between nodes, the curve of an arrow, and how labels are routed out, all on screen.
If it moves without waiting for a recompile, the wait time during fine-tuning of a figure gets shorter.
In situations where you want to keep the meaning of the drawing in the code, you’re better off writing relative placement and named coordinates yourself.
A template you’ll reuse for another figure later, a figure that lays out multiple elements by parameter, or a data-driven figure like pgfplots becomes hard to maintain if you handle it with visual editing alone.
Conversely, for adjustments on a nearly finished paper figure like “this label a bit to the right” or “make the arrow dodge a little more,” it often doesn’t matter if it’s left as absolute coordinates.
In Building an SVG web coloring book for toddlers, I wrote about applying UI operations to SVG shape elements.
With SVG you can touch DOM elements directly, so the implementation was simple.
TikZ Editor is the reverse: it parses text code back into visual elements, and then puts the edited result back into a part of the original text.
For the same vector graphics, the difficulty changes depending on whether the edit target is the DOM or the source code.
The story of building it with Codex is still there too
The HN post also said this app was built almost entirely with Codex.
According to the author’s comment, they kept building it from February 2026 and used about 700M tokens via Codex.
They add that in API-pricing terms that’s about $15,000, while the actual payment was about $500 on a ChatGPT subscription.
It looks like a marketing line, but put it next to the contents of the implementation and the size of the numbers lines up.
It reimplements a large part of TikZ, tracks source positions, and follows SVG/PPTX/IPE conversion, LaTeX hyphenation, line breaking, and even the color mixing of red!20!black.
There’s a lot of fine-grained implementation for a human to write all of it by hand.
Of course, being built with AI doesn’t guarantee quality.
If anything, there are more places to check.
Some syntax is not implemented per the README, and the handling of absolute coordinates versus relative placement is debated in the HN comments too.
Still, as a result of pushing through all that fine-grained reimplementation, a UI that was hard to come by until now has appeared: one that visually edits existing TikZ code and changes only the relevant part of the original source.