The Ipe extensible drawing editor
The Ipe extensible drawing editor
The Ipe extensible drawing editor
Ipe is a drawing editor for creating figures in PDF format. It supports making small figures for inclusion into LaTeX-documents as well as making multi-page PDF presentations.
Ipe's main features are:
- Entry of text as LaTeX source code. This makes it easy to enter mathematical expressions, and to reuse the LaTeX-macros of the main document. In the display text is displayed as it will appear in the figure.
- Produces pure PDF, including the text. Ipe converts the LaTeX-source to PDF when the file is saved.
- It is easy to align objects with respect to each other (for instance, to place a point on the intersection of two lines, or to draw a circle through three given points) using various snapping modes.
- Users can provide ipelets (Ipe plug-ins) to add functionality to Ipe. This way, Ipe can be extended for each task at hand.
- Ipe can be compiled for Unix, Windows, and OSX.
- Ipe is written in standard C++ and Lua 5.3..
You can find more information about Ipe features in the .
The current version of Ipe is Ipe 7.2.21.
I'm making four downloads of Ipe available: a binary distribution for Windows, a binary package for Mac OS X, binary packages for several Linux-distributions, and a source package that should compile on any recent Unix system.
Download this disk image and copy Ipe.app onto your Mac running OSX 10.10 or higher.
For MacOS, IpePresenter is provided as a separate app. Copy IpePresenter.app onto your Mac.
If you are still using OSX 10.6 to 10.8, you can use Ipe 7.1.10 from here: ipe-7.1.10-mac.dmg
If you are using OSX 10.9, you can use Ipe 7.2.7 from here: ipe-7.2.7-mac.dmg
Several Linux distributions (including Debian, Ubuntu, Linux Mint, Fedora, Arch Linux) offer an ipe package, which you can install through the distribution's package manager.
It takes a while for a new Ipe version to make it into a distribution, especially the long-term stable distributions. Thanks to the wonderful openSuse build service, I can provide Ipe installation packages for several recent Linux distributions, currently Debian, Ubuntu, Mint, Raspbian, Fedora, and openSuse. (On archlinux, you can rely on the official package, which is always quite up to date.)
Before you install these packages, remove any old Ipe version you installed through your distribution's package manager!
You need to know your distribution (use lsb_release -a
if you are not sure) and whether you are running a 32-bit or 64-bit distribution (use uname -m
if you are not sure: if the output is x86_64
, you have a 64-bit distribution).
Debian, Ubuntu, Mint
For the Debian-based distributions (Debian, Ubuntu, Mint), you need to download two package files (one for libipe, Ipe's shared libraries, one for ipe), according to the following table:
- For the 32 bit version:
$ sudo gdebi libipe_7.2.21-1_i386.deb $ sudo gdebi ipe_7.2.21-1_i386.deb
- For the 64 bit version:
$ sudo gdebi libipe_7.2.21-1_amd64.deb $ sudo gdebi ipe_7.2.21-1_amd64.deb
$ sudo apt-get remove ipe libipe
Fedora and openSuse
For these distributions you only need to download a single RPM-file, according to the following table.
Distribution | 64 bit (x86_64) | 32 bit (i686) | armv7hl |
Fedora 28 | ipe_7.2.21-95.1_x86_64.rpm | ||
Fedora 29 | ipe_7.2.21-95.1_x86_64.rpm | ipe_7.2.21-95.1_i686.rpm | ipe_7.2.21-95.1_armv7hl.rpm |
Fedora 30 | ipe_7.2.21-95.1_x86_64.rpm | ipe_7.2.21-95.1_i686.rpm | ipe_7.2.21-95.1_armv7hl.rpm |
Fedora 31 | ipe_7.2.21-95.1_x86_64.rpm | ipe_7.2.21-95.1_i686.rpm | ipe_7.2.21-95.1_armv7hl.rpm |
Fedora 32 | ipe_7.2.21-95.1_x86_64.rpm | ipe_7.2.21-95.1_i686.rpm | ipe_7.2.21-95.1_armv7hl.rpm |
Fedora 33 | ipe_7.2.21-95.1_x86_64.rpm | ipe_7.2.21-95.1_i686.rpm | ipe_7.2.21-95.1_armv7hl.rpm |
Fedora Rawhide | ipe_7.2.21-95.1_x86_64.rpm | ||
openSuse Leap 15.1 | ipe_7.2.21-95.1_x86_64.rpm | ||
openSuse Leap 15.2 | ipe_7.2.21-95.1_x86_64.rpm | ||
openSuse Tumbleweed | ipe_7.2.21-95.1_x86_64.rpm |
Are you an Ipe fan? You can show everybody by wearing the Ipe T-shirt, and sponsor Ipe development at the same time.
You now have the opportunity to become a member of the community that sponsors Ipe's development.
There are two mailing lists for Ipe. The first mailing list is used solely to announce new versions of Ipe, and perhaps new ipelets that may be interesting to a broad audience. Traffic on this list is very light, as most messages on this list come from me. You can subscribe to the announcement list .
The second list is used to discuss Ipe. You can subscribe . Please don't use it to report bugs—the bug tracker is much better at that.
Both lists are maintained by René van Oostrum. Thank you!
Ipe now comes with a companion program IpePresenter. IpePresenter is a presentation tool to show PDF presentations (made with Ipe or with the beamer Latex package)—see the IpePresenter homepage for details.
IpePresenter is included in the binary packages for Ipe on Windows and Linux, and is also available as a separate binary package (without Ipe) for Windows and MacOS.
The extensible drawing editor Ipe is "free," this means that everyone is free to use it and free to redistribute it on certain conditions. Ipe is not in the public domain; it is copyrighted and there are restrictions on its distribution as follows:
Copyright © 1993–2020 Otfried Cheong
This program is free software; you can redistribute it and/or modify it under the terms of the Gnu General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
As a special exception, you have permission to link Ipe with the CGAL library and distribute executables, as long as you follow the requirements of the Gnu General Public License in regard to all of the software in the executable aside from CGAL.
This program is distributed in the hope that it will be useful, but without any warranty; without even the implied warranty of merchantability or fitness for a particular purpose. See the for more details.
Older Ipe versions can be found on .
Several separate programs are available from the repository on GitHub. These are available in source form only.
Svgtoipe
svgtoipe converts SVG figures to Ipe format. It cannot handle everything in SVG, but should work for geometric objects and gradients. This program is actually a Python script.
Poweripe
Do you prefer to create your presentations in Ipe? But your bosses/colleagues/clients keep asking for Powerpoint files?
Fear no more! Poweripe is a Python script that translates an Ipe presentation into a Powerpoint presentation.
Pdftoipe
pdftoipe converts arbitrary PDF files to Ipe's XML format, or at least it tries to. You'll need the poppler library to compile it.
Ipe Python module
ipepython is an extension module for Python 3 that allows you to read and write Ipe documents and to process all the information inside.
Matplotlib backend
Matplotlib is a Python module for scientific plotting. With this backend, you can create Ipe figures directly from matplotlib.
Figtoipe
figtoipe converts figures made with Xfig to Ipe's XML format. It does not handle all the features of Xfig. figtoipe was improved and is currently maintained by Alexander Bürger. Thank you!
ipe5toxml
If you still have figures that were made with Ipe 5, you can use this program to convert them to the format understood by Ipe 6. You can then run ipe6upgrade to convert them to Ipe 7 format. The source to ipe5toxml is in the public domain.
No comments