Xournal++ is a handwriting notetaking software with PDF annotation support. Written in C++ with GTK3, supporting Linux (e.g. Ubuntu, Debian, Arch, SUSE), macOS and Windows 10. Supports pen input from devices such as Wacom Tablets.
Would you like to see Xournal++ in your own language? Translators are welcome to contribute to Xournal++.
You can contribute translations to the following locations:
Thanks in advance!
Xournal++ (/ˌzɚnl̟ˌplʌsˈplʌs/) is a hand note-taking software written in C++ with the target of flexibility, functionality and speed. Stroke recognizer and other parts are based on Xournal Code, which you can find at SourceForge.
Mobile & web app
Since mid 2020, there is a Flutter-written mobile app for Android, Chrome OS and iOS (coming soon) as well as a web app available. Even though it is not perfectly stable nor are all of Xournal++'s features fully supported yet, you may check it out and open your Xournal++ notebooks on your mobile devices. You can get in touch in its separate repository on GitLab.
The web app is available at xournal.online.
Why is the iOS app not published yet?
According to the Apple App Store guidelines, it is prohibited to publish unstable or beta apps. Hence we wait until Xournal++ Mobile works more stable and offers more complete feature compatibility to Xournal++.
Toolbar / Page Background / Layer
User Manual and FAQ
Sometimes a feature is added that might not be rock solid, or the developers aren't sure if it is useful. Try these out and give us some feedback.
Here are a few under development that you can play with now:
Assign a mouse button or stylus button to bring up a toolbox of toolbars right under the cursor. You can also modify what is in the toolbox through the usual View → Toolbars → Customize although it won't appear unless you've assigned a button in preferences: mouse or stylus (or selected a toolbar configuration that uses it).
Keep your eyes out for other experimental features in preferences as seen here:
DrawingTools: When drawing a box, circle etc, simulate ctrl or shift modifiers by the initial direction you move the mouse.
Action on Tool Tap: Allow a brief tap on the screen to bring up the floating toolbox and/or select an object. May work with pen and highlighter only.
The official releases of Xournal++ can be found on the Releases page. We provide binaries for Debian (Buster), Ubuntu (16.04), MacOS (10.15 and newer), and Windows. For other GNU/Linux distributions (or older/newer ones), we also provide an AppImage that is binary compatible with any distribution released around or after Ubuntu 16.04. For installing Xournal++ Mobile on handheld devices, please check out Xournal++ Mobile's instructions
A note for Ubuntu/Debian users: The official binaries that we provide are
only compatible with the specific version of Debian or Ubuntu indicated by the
file name. For example, if you are on Ubuntu 20.04, the binary whose name
Ubuntu-bionic is only compatible with Ubuntu 18.04. If your system
is not one of the specific Debian or Ubuntu versions that are supported by the
official binaries, we recommend you use either the PPA (Ubuntu only), the Flatpak, or the
There is also an unstable, automated nightly release that includes the very latest features and bug fixes.
With the help of the community, Xournal++ is also available on official repositories of some popular GNU/Linux distros and platforms.
On Debian bookworm and Debian sid the
xournalpp package (stable version) is contained in the official repositories. Simply install via
sudo apt install xournalpp
Ubuntu and derivatives
On distros based on Ubuntu 22.04 Jammy Jellyfish (and later) the
xournalpp package (stable version) is contained in the official repositories.
Simply install via
sudo apt install xournalppStable PPA
The latest stable version is available via the following unofficial PPA:
sudo add-apt-repository ppa:apandada1/xournalpp-stable sudo apt update sudo apt install xournalppUnstable PPA
An unstable, nightly release is available for Ubuntu-based distributions via the following PPA:
sudo add-apt-repository ppa:andreasbutti/xournalpp-master sudo apt update sudo apt install xournalpp
This PPA is provided by the Xournal++ team. While it has the latest features and bug fixes, it has also not been tested thoroughly and may break periodically (we try our best not to break things, though).
sudo dnf install xournalpp
pkcon install xournalpp
The bleeding edge packages synced to xournalpp git master on a daily basis are available from COPR luya/xournalpp.
On openSUSE Tumbleweed, the released version of Xournal++ is available from the main repository:
sudo zypper in xournalpp
For openSUSE Leap 15.0 and earlier, use the install link from X11:Utilities.
For all versions of openSUSE, bleeding edge packages synced to xournalpp git master on a weekly basis are available from home:badshah400:Staging.
The latest stable release is available in the [community] repository.
To build the latest state of the master branch yourself, use this AUR package.
The latest stable release is available in the main repository:
sudo eopkg it xournalppFlatpak
The Xournal++ team officially supports a FlatHub release, which can be installed with
flatpak install flathub com.github.xournalpp.xournalpp
Note that for Xournal++ to work properly, you must have at least one GTK theme and one icon theme installed on Flatpak. To enable LaTeX support, you will also need to install the TeX Live extension:
flatpak install flathub org.freedesktop.Sdk.Extension.texlive
The Flatpak manifest can be found at the Xournal++ Flatpak packaging repository, and all Flatpak-related packaging issues should be reported there.
Android and Chrome OS
Unfortunately, the iOS app is not published yet in the Apple App Store. See here to learn, why. Anyway, in the Building section you can learn how to build an early preview.
Official Windows releases are provided on the Releases page.
Mac OS X
Mac OS X releases are provided on the Releases page.
The file extension
.xopp is a gzipped XML file. PDFs are not embedded into the file, so if the PDF is deleted, the background is lost.
.xopp is basically the same file format as
.xoj, which is used by Xournal. Therefore, Xournal++ is able to read
.xoj files, and can also export to
.xoj. As soon as notes are exported to a
.xoj file, all Xournal++ specific extensions like additional background types, are lost.
.xopp files can theoretically be read by Xournal, as long as you do not use any new features. Xournal does not open files that contain new attributes or unknown values, so Xournal++ will add the extension
.xopp to all saved files to indicate the potential presence of Xournal++-only features.
All new files will be saved as
.xopp. If an
.xoj file that was created by Xournal is opened, the Save-As dialog will be displayed on save. If the
.xoj file was created by Xournal++, the file will be overwritten on save and the file extension will not change.
We are currently introducing a new file format that can efficiently store attached PDF files and other attachments internally. We will still allow for attachments that are linked to external files. Please refer to #937 for further details.
We support building on three operating systems:
Twice a month we will interview people behind open source businesses. We will talk about how they are building a business on top of open source projects.
We'll never share your email with anyone else.