I found GeoGebra to be a useful tool to help generate code for graphs. I suppose there must be other tools to help draw diagrams such as Sets/Venn Diagrams or Electrical Circuits (Logic Gates). Which ones would you suggest?

  • 2
    Check out TeXample and look at the section "Tools that generate PGF/TikZ code" for some other ideas. LaTeXDraw is good for PSTricks.
    – DJP
    Commented Aug 30, 2011 at 14:47
  • 2
    Geogebra makes use of free software, but the author of Geogebra is very creative in trying to evade the idea of free software and split the tool in one open source part and a non free part. So it is good to look for alternatives until they switch to a complete and fair free license. In most cases you will have a professional alternative with Inkscape. Commented Jan 11, 2018 at 8:24
  • For general IDEs see tex.stackexchange.com/questions/339/latex-editors-ides. Maybe, the question should be edited to also contain direct pointers to the answers?
    – koppor
    Commented Jan 31, 2018 at 13:05

23 Answers 23


I think the best option for diagrams, circuits, etc. is Dia.

Dia is roughly inspired by the commercial Windows program 'Visio,' though more geared towards informal diagrams for casual use. It can be used to draw many different kinds of diagrams. It currently has special objects to help draw entity relationship diagrams, UML diagrams, flowcharts, network diagrams, and many other diagrams. It is also possible to add support for new shapes by writing simple XML files, using a subset of SVG to draw the shape.

It can export diagrams to a number of formats, including EPS, SVG, XFIG, WMF and PNG, as well as LaTeX formats such as PGF, PStricks and Metapost.

enter image description here

  • Seems like Dia does not work with macOS Catalina
    – alper
    Commented Feb 19, 2021 at 21:07

*** UPDATE: Unfortunately, TikzEdt is no more maintained. ***

The list misses TikzEdt. It provides a GUI and semi automatic drawing tools. For details: TikzEdt web site. Available for linux/windows. Upon right clicking in the figure (on right) window, it offers a number of options to draw using the mouse. After drawing the tikz code will be inserted in the left window automatically. On the left panel, there are some styles/shapes etc from where the corresponding code can be inserted. The figure can be exported to number of formats like pdf, png, jpeg etc. And it is free.

enter image description here

enter image description here

  • Just a small note - tried to install it on Ubuntu 11.04 Natty; first tried getting the source from SVN, but there is no README I could see; and I don't know much of C#, which this is programmed in. Luckily, there is a binary Linux build, see TikzEdt_0_2_2_linux_x86.tar.gz - TikzEdt 0.2.2 for Linux 32bit; unfortunately it requires 60MB of mono-complete, and my version is also too old; luckily the same link has instructions on how to get it working on 11.04, and thankfully it works for me!
    – sdaau
    Commented Feb 17, 2014 at 19:48
  • Also, nice that this version (0.2.2), renders nodes according to their width/height settings in code (in contrast, tikzit 0.7 doesn't - it always shows the nodes in same size, even if I modify minimum width and minimum height in the code).
    – sdaau
    Commented Feb 17, 2014 at 19:52
  • 6
    tizkedt have not been updated since june 2013. That is verylong time in computer scale. I wonder if it is still alive.
    – Nasser
    Commented Dec 1, 2014 at 5:52
  • I'm wondering if it is still alive, too: tex.stackexchange.com/questions/316548/…
    – CarLaTeX
    Commented Aug 10, 2016 at 6:38
  • I primarily used TikzEdt as a rapid prototyping tool for larger TikZ drawings. Pretty much the same can be accomplished using the standalone class. The only downsides compared to TikzEdt are then the missing grid (which can be added easily using TikZ) and the shortcuts to commonly used TikZ commands, which I honestly never used but could probably also added easily to your favorite TikZ IDE.
    – Big-Blue
    Commented Mar 10, 2017 at 9:17

Another approach is to use Inkscape. If you export to eps or pdf it puts the vector drawing in one file and the text in a tex file, see http://tug.ctan.org/info/svg-inkscape/InkscapePDFLaTeX.pdf. The integration is perhaps not as elegant as with software designed as an interface for LaTeX packages but offers the full potential of Inkscape.

  • 3
    Inkscape knows how to export to TeX with PSTricks...so you can go this route, though the export is not complete yet. There is a begining of an extension to do this for TikZ, but it's very primitive. Commented Aug 30, 2011 at 19:41

LaTeXDraw is a Java-based graphical drawing editor.

  • Generates PSTricks code, or directly creates PDF or PS pictures.
  • Imports: SVG, PSTricks.
  • Exports: SVG, eps, jpg, bmp, png, ppm.

More screenshots available at the LaTeXDraw website.


Xfig is another GUI that has very good interaction with LaTeX. It is an X Windows drawing utility that comes with a library for drawing circuit diagrams. It runs on Windows through Cygwin/X.

Here's a screenshot from the homepage showing the interface:

Xfig screenshot

Here is a list of all the available libraries (you would probably be interested in the electrical/logical libraries):

  • Various 3D arrows
  • Audiovisual components
  • Some buildings
  • Some charts (polar, log-log)
  • Various computers
  • DSP (Digital Signal Processor) components
  • Electrical - electrical objects, e.g. connectors
  • Electronic Physical - symbols for creating electronic wiring diagrams or layouts
  • Electronic Schematic - symbols for creating electronic schematics
  • ERD (Chen's model of Entity Relations)
  • Examples - various examples of xfig drawings contributed by users
  • Flags of various countries and some U.S. states
  • Flowchart symbols
  • GUI widgets (buttons, sliders, etc.)
  • Hospital equipment
  • Knitting symbols
  • Various printer labels (CD, Avery address labels)
  • Logic symbols
  • Maps - outline maps of countries, U.S. states and Canadian provinces
  • DIN Mechanical symbols
  • Miscellaneous - various fun items here
  • Music symbols
  • Networking devices
  • Office equipment - filing cabinet, telephone, overhead projector
  • Optics symbols
  • Process Flowsheet - chemical process flow symbols
  • Structural Analysis symbols
  • Unified Modelling Language (UML) symbols
  • Welding - common welding patterns and errors

Interaction with LaTeX is done by exporting the canvas:

  • as 2 separate files: One containing the lines graphics (in EPS or PDF format), and one containing the formatted text; or
  • as a single EPS or PDF from which you can use the psfragx package (or psfrag) to convert literal strings into LaTeX typeset. Although I've never used it, there's a deprecated xfigfrag extension to Xfig that provides a pdffrag functionality.
  • 7
    Unfortunately, Xfig is also practically dead, even though many people still use it productively. The project has not seen a new version for more than 10 years and the user interface is pretty old-fashioned and awkward. So while Xfig certainly is a powerful tool for those that are accustomed to it, I would not recommend it to newbies.
    – Daniel
    Commented Mar 4, 2012 at 16:07
  • 4
    Xfig was replaced/extended a while ago by Ipe (ipe has 'figtoipe' converter). ipe was last updated on : 2013-11-07
    – user11232
    Commented Nov 25, 2013 at 2:33

The list misses Ipe. From wikipedia link:

Ipe extensible drawing editor is a free vector graphics editor for creating figures in PDF or EPS format. It can be used for making small figures for inclusion into LaTeX documents as well as making multi-page PDF presentations. It is developed by Otfried Cheong since 1993 and initially worked on SGI workstations only. Ipe 6 was released in 2003 which changed the file format into XML code embedded into PDF and EPS files. Ipe 7 was released in 2009. Ipe 7 (see below) can be compiled under Windows, Mac OS X and Unix but binaries are available for many distributions.


IPE allows the user to insert text objects containing LaTeX code. This is converted to vector graphics by parsing the output of pdfTeX. This is useful for creating figures to be included in scientific documents which often contain equations. It also results in the same font being used for both the text and figures of the document. This is often not the case if other drawing programs are used.

enter image description here

Another official link here.

Below an example drawing using different fonts.

Example drawing using different fonts

  • 3
    Just a small note about ipe - for some reason, I always thought you can draw in ipe, and then export as Tikz / Latex code; but I just checked my install (Ipe 7.0.10), and it can only save as .ipe .xml, .pdf or .eps ; and the same goes for input files (although, it cannot open arbitrary .pdf - apparently can open only those produced by itself).
    – sdaau
    Commented Mar 25, 2014 at 13:10
  • 1
    @sdaau pdftoipe converts an arbitrary PDF file to an XML file readable by ipe. The Ubuntu 12.04 LTS repository also offers svgtoipe and figtoipe. Commented Apr 3, 2014 at 17:18
  • As mentioned above, ipe can be considered the successor to Xfig. Be sure to check out ipe's Wikipedia entry as it features amongst others a link to a primer as well as a nice screenshot absent on the official site. Commented Apr 7, 2014 at 9:50
  • Note the new website is now: ipe.otfried.org and the source is on Github: github.com/otfried/ipe
    – WillAdams
    Commented Mar 28 at 18:20

jpgfdraw is a Java program for creating vector graphics which can be used with LaTeX. You can construct and edit shapes using lines, cubic Bézier segments and text.

A screenshot from the documentation:

jpgfdraw  screenshot

You can export the pictures as

  • a pgfpicture environment for inclusion in a LaTeX document
  • a complete LaTeX single-paged document
  • a LaTeX package based on flowfram
  • an EPS image
  • a scalable vector graphics (SVG) image
  • a PNG image

You may see also this example on TeX.SX.


Another nice tool is TikZit, but you won't be happy if you don't want to code Tikz/PGF manually. But probably it helps a lot if you don't want to select coordinates manually.

The manual page contains some screenshots.

[edit] a screenshot of tikzit 0.7 on Ubuntu 11.04 Natty:


  • Note about the edit screenshot: on Ubuntu 11.04 Natty, I cannot install a compiler with Objective C 2 features; and Browse /tikzit-0.9 at SourceForge.net notes: "Changes since 0.7: Compilers without basic Objective C 2 support cannot be used to compile TikZiT any more"; which is why I could only compile and screenshot that version at this time.
    – sdaau
    Commented Feb 17, 2014 at 18:01
  • 1
    Its simple interface is a bit intimidating at first. But, that is the best feature of tikzit. Tikzit assumes you know tikz, but could use some help in visualizing. Current version tikzit 2.1 supports a lot more (eg: Ctrl+R for preview) Commented Aug 3, 2019 at 6:16

There is KtikZ/QtikZ available for linux/windows. This is very useful for writing tikz code as the output is displayed on the fly. It is freely available.

enter image description here

  • 2
    The project has no activity anymore. The last release was Version 0.10 (2010-08-26) Commented Jan 17, 2019 at 15:14

Another Java program is jPicEdt. It is described as "open source, multi-platform and interactive picture editor for LaTeX and PSTricks".

A screenshot with the according Latex output and the code produced by jPicEdt: Screenshot jPicEdt

As you can see it supports formulae:

Latex output

The code it exports:

%%Created by jPicEdt 1.4.1_03: mixed JPIC-XML/LaTeX format
%%Sun Mar 04 13:56:51 CET 2012
%%Begin JPIC-XML
%<?xml version="1.0" standalone="yes"?>
%<jpic x-min="15" x-max="140" y-min="30" y-max="80" auto-bounding="true">
%<multicurve points= "(15,55);(20,70);(40,65);(40,65);(40,65);(60,45);
%   (60,45);(60,45);(85,70);(85,70);(85,70);(90,70);
%   (90,70)"
%    fill-style= "none"
%    />
%<ellipse p3= "(140,30)"
%    p2= "(140,55)"
%    p1= "(105,55)"
%    closure= "pie"
%    angle-end= "256.61"
%    angle-start= "98.13"
%    fill-style= "none"
%    />
%<text text-vert-align= "center-v"
%    anchor-point= "(50,30)"
%    text-frame= "noframe"
%    text-hor-align= "center-h"
%    fill-style= "none"
%    >
%$a_4=3*\int z dz$
%<parallelogram p3= "(135,65)"
%    p2= "(135,80)"
%    p1= "(105,80)"
%    fill-style= "none"
%    />
%LaTeX-picture environment using emulated lines and arcs
%You can rescale the whole picture (to 80% for instance) by using the command \def\JPicScale{0.8}
\unitlength \JPicScale mm
\put(50,30){\makebox(0,0)[cc]{$a_4=3*\int z dz$}}


mathematical tool GCLC/WinGCLC by Predrag Janicic

GCLC (from "Geometry Constructions->LaTeX converter") is a tool for visualizing and teaching geometry, and for producing mathematical illustrations. GCLC provides easy-to-use support for many geometrical constructions, isometric transformations, conics, parametric curves, flow control, automated theorem proving, etc. The basic idea behind GCLC is that constructions are formal procedures, rather than drawings. Thus, in GCLC, producing mathematical illustrations is based on "describing figures" rather than of "drawing figures". Figures can be displayed and exported to LaTeX and other formats. WinGCLC is the Windows version of GCLC and provides a range of additional functionalities.


Since December 2020 it is open source on https://github.com/janicicpredrag/gclc

Screenshot from WinGCLC


I didn't see Cirkuit mentioned here already, so here are a few words from the homepage:

Cirkuit is a KDE4 application to generate publication-ready figures. It was born as a KDE frontend for the Circuit macros by Dwight Aplevich, but it now supports different backends. Cirkuit builds a live preview of the source code and can export the resulting images in several formats (EPS, PDF, PNG, SVG, ...). ...
In addition to Circuit Macros, the TikZ and Gnuplot backends are currently supported. Some examples generated with TikZ can be found here. ...

... and a screenshot:



This fantastic online tool: Mathcha.

It works like a charm, dragging visual lines, shapes, text (or Latex formulae), and others to make your diagram, and outputting TikZ code finally. I tried most of tools mentioned in this post, and none of them can compare this one. I would like to express a huge thank to the developers.

enter image description here

  • 1
    Its cool but seems like you cannot bind lines to the shapes like circle or rectangle
    – alper
    Commented Feb 19, 2021 at 21:20
  • @sebastiano You should upvote this :). Commented Apr 10, 2021 at 0:55

One of the best solutions to draw electric circuits is KiCad.

enter image description here

(source: https://www.kicad.org/img/frontpage/kicad_eeschema.png)

You can export (plot) the schematic to SVG and do some fine tuning in Inkscape.

enter image description here

Inkscape can render LaTeX directly in the picture and save the picture as PDF for LaTeX.


LatexDraw is very good in generating PStricks Codes. Its very easy to generate these codes automatically by drawing the figures using LatexDraw. You can get this amazing free software at this link: http://latexdraw.sourceforge.net/

We have to draw somewhat like this: enter image description here

and the PStricks codes are generated side by side !!

enter image description here

  • 6
    LaTeXDraw was already mentioned by Lian Tze Lim. Commented May 30, 2014 at 8:45
  • Yes I have seen .. and I voted up for that. Just wanted to share my views too.
    – Debashish
    Commented May 30, 2014 at 8:46
  • 7
    Personally, I don't really see the point of having two answers mentioning the same software. (I don't mean to sound hostile or anything, I just don't think this answer was necessary.) Commented May 30, 2014 at 8:53
  • ok ... i don't mind
    – Debashish
    Commented May 30, 2014 at 8:55
  • 1
    @Debashish You could have edited the answer mentioning LaTeXDraw to include more information. This is the standard practice on the Stackexchange network.
    – shivams
    Commented Jun 1, 2015 at 7:27

TeXCAD generates figures using pure LaTeX code and the picture enviroment. It is very bare bones compared to LaTeXDraw. Only windows binaries are available on the website.

I actually stumbled upon TeXCAD while searching for an alternative to LaTeXDraw that generates PGF/TikZ code instead of PSTricks code.

  • 3
    It seems very interesting, I'll try it because I'm searching for an alternative to TikzEdt which is not maintained anymore. Could you please complete your answer with some sample images and a little bit more info about how it works?
    – CarLaTeX
    Commented Dec 29, 2017 at 3:45

TpX: TeX drawing tool

TpX is a simple graphical editor for Windows for inclusion graphics into TeX files. It can also be used as a standalone editor for vector graphics.



enter image description here

And generates PsTricks, PGF, TikZ and MetaPost.

  • 2
    Dead project: Last Version: 1.5 (2008-12-07). Besides that it requires Microsoft Windows. Commented Jan 17, 2019 at 15:38

Actually there is another GUI called WinFIG (see picture) and it is a similar to the XFig but with a restriction to save the objects. WinFIG (free) only saves a maximum of 15 objects per figure. As by important comment of the user @andselisk WinFIG is not free: "WinFIG is shareware and requires registration. Without a keyfile WinFIG only saves a maximum of 15 objects per figure. The registration fee is EUR 30,00 or USD 35.00." See this link: http://winfig.com/registration/.

enter image description here

Yet, there is another GUI that is not mentioned: Xcircuit where the html guide cites a clear reference to LaTeX.

enter image description here

  • 7
    I think it is worth mentioning that WinFIG is not free: "WinFIG is shareware and requires registration. Without a keyfile WinFIG only saves a maximum of 15 objects per figure. The registration fee is EUR 30,00 or USD 35.00."
    – andselisk
    Commented Dec 21, 2018 at 17:18

I have been using TpX for a long time. The following are my experiences with TpX only. Other editors may have the following features. I have not used other editors.

After drawing the diagram using the tools for point, vector, curves, shapes etc, (you don't have to use Tikz commands or any other languages.) Press Ctrl + Shift + R to invoke TeX engine which, after running the code, opens (the installed) PDF viewer and displays your diagram!

If you want to change or redraw, go back to TpX program and make the changes. (There is no need to run all of the source code to see a single diagram).

Once completed drawing, save the diagram using the file menu or tool menu.
Wait. Before that you can choose the format (from the tool menu item)

  • for output to the printer (available ones are: TeX, pgf, PDF, PNG, metapost, tikz, epstopdf and none) and
  • for view on the monitor (available ones are all of the above plus: BMP, EMF and EPS).

The diagram will be saved in an ASCII file (say foo.tpx) with the relevant code suitable both for printer and monitor. (Please include \usepackage{ifpdf} in the preamble).

In the LaTeX source file use \input{foo.tpx}.

If you want to change anything in the diagram just 'switch' over to TpX, make the changes and save it.

Return to your LaTeX editor and run your code. There is no need to input again! The other important features are:

  • The formulas are rendered in LaTeX!
  • You can directly insert pictures of format: JPG, BMP, and EMF.
  • Moreover the images copied by Ctrl + C from any MSWin program can be inserted in to your diagram, by using capture EMF tool that is available in the menu!
  • TpX program can be invoked from the WinEDT also.

Other tools which are missing:


I add also pictikz there is also an additional extension for InkScape that converts a svg image to tikz code. Here there is the link of the official site on GiTHub: https://github.com/mgmillani/pictikz and an external link http://hackage.haskell.org/package/pictikz where it is possible to find the instructions to install this extension.


A tool I found recently is called TikzMaker and works great for circuits, but can also be used for other drawings like state machine diagrams and block diagrams. Unlike a lot of the other tools here, it does not need an installation and runs in the browser.enter image description here


Since early X11, I've been using tgif as my main tools for drawing diagrams. I've been using it to draw circuit-related diagrams and general diagrams. The reason I am still using this tool (after zillion years ago) is that it is small (light weight) and quick for simple graphs. The output is also small.

It's available here: http://bourbon.usc.edu/tgif/

(On my Linux machine is as simple as "apt install tgif"

Here is an example of the screen. I used to have logic gates in my collections, but don't have them in this (example) screenshot.

enter image description here

  • 1
    The project development stopped at version 4.2, patchlevel 5 -- Jun 27, 2011. Commented Jan 17, 2019 at 15:41

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .