{"id":13440945,"url":"https://github.com/xournalpp/xournalpp","last_synced_at":"2026-02-28T11:29:04.080Z","repository":{"id":9963448,"uuid":"11986447","full_name":"xournalpp/xournalpp","owner":"xournalpp","description":"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.","archived":false,"fork":false,"pushed_at":"2025-05-14T01:57:05.000Z","size":57091,"stargazers_count":12646,"open_issues_count":1121,"forks_count":885,"subscribers_count":105,"default_branch":"master","last_synced_at":"2025-05-14T08:02:29.940Z","etag":null,"topics":["c-plus-plus","crossplatform","gtk3","notes","notetaking","pdf","pdf-viewer","pen"],"latest_commit_sha":null,"homepage":"https://xournalpp.github.io","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/xournalpp.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS","dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2013-08-08T20:58:27.000Z","updated_at":"2025-05-14T07:38:38.000Z","dependencies_parsed_at":"2023-10-05T02:24:03.477Z","dependency_job_id":"6e490ea0-fcf9-46c1-8fec-04bf934498e4","html_url":"https://github.com/xournalpp/xournalpp","commit_stats":{"total_commits":5032,"total_committers":227,"mean_commits":22.16740088105727,"dds":0.8555246422893481,"last_synced_commit":"dcae23d04cd4ddb69397641abee6c4a19b3ea032"},"previous_names":[],"tags_count":34,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xournalpp%2Fxournalpp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xournalpp%2Fxournalpp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xournalpp%2Fxournalpp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xournalpp%2Fxournalpp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/xournalpp","download_url":"https://codeload.github.com/xournalpp/xournalpp/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254101586,"owners_count":22014907,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["c-plus-plus","crossplatform","gtk3","notes","notetaking","pdf","pdf-viewer","pen"],"created_at":"2024-07-31T03:01:28.166Z","updated_at":"2026-02-28T11:29:04.025Z","avatar_url":"https://github.com/xournalpp.png","language":"C++","funding_links":[],"categories":["C++","HarmonyOS","📺️ Linux GUI apps","others","编辑器","Productivity \u0026 Notes","Creative"],"sub_categories":["Windows Manager","📟️ Cli tools","网络服务_其他","Other"],"readme":"# Xournal++\n\n[![Build Status](https://dev.azure.com/xournalpp/xournalpp/_apis/build/status/CI?branchName=master)](https://dev.azure.com/xournalpp/xournalpp/_build/latest?definitionId=1\u0026branchName=master)\n[![Join the chat at https://gitter.im/xournalpp/xournalpp](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/xournalpp/xournalpp?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge\u0026utm_content=badge)\n\n\u003cimg src=\"readme/main.png\" width=550px% title=\"Xournal++ on GNU/Linux\"/\u003e\n\n## Translations\n\nWould you like to see Xournal++ in your own language? Translators are welcome to contribute to Xournal++.\n\nYou can contribute translations to the following locations:\n* [Crowdin](https://crowdin.com/project/xournalpp/)\n* Submit a pull request on GitHub to change:\n  * [com.github.xournalpp.xournalpp.appdata.xml](desktop/com.github.xournalpp.xournalpp.appdata.xml)\n  * [com.github.xournalpp.xournalpp.desktop](desktop/com.github.xournalpp.xournalpp.desktop)\n  * [com.github.xournalpp.xournalpp.xml](desktop/com.github.xournalpp.xournalpp.xml)\n\nInterested in translating a new language? Discuss on [Gitter](https://gitter.im/xournalpp/xournalpp) or create a [new issue](https://github.com/xournalpp/xournalpp/issues) to unlock the language on Crowdin.\n\n**Thanks in advance!**\n\n## Features\n\nXournal++ (/ˌzɚnl̟ˌplʌsˈplʌs/) is a hand note-taking software written in C++ with the target of flexibility, functionality and speed.\nStroke recognizer and other parts are based on Xournal Code, which you can find at [SourceForge](http://sourceforge.net/projects/xournal/).\n\nXournal++ features:\n\n- Supports pressure-sensitive styluses and digital pen tables (e.g. Wacom, Huion, XP Pen, etc. tablets)\n- Paper backgrounds for note-taking, scratch paper, or whiteboarding\n- Annotate on top of PDFs\n- Select text from the background PDF, copy, highlight or underline it or strike it through\n- Follow links from the background PDF\n- Export to a variety of formats including SVG, PNG and PDF, both from the GUI and command line\n- Different drawing tools (e.g. pen, highlighter) and stroke styles (e.g. solid, dotted)\n- Shape drawing (line, arrow, circle, rectangle, spline)\n- Use the set-square and compass tools for measurements or as a guide for drawing straight lines, circular arcs and radii\n- Fill shape functionality\n- Shape resizing and rotation\n- Rotation and grid snapping for precise alignment of objects\n- Input stabilization for smoother writing/drawing\n- Text tool for adding text in different fonts, colors, and sizes\n- Enhanced support for image insertion\n- Eraser with multiple configurations\n- LaTeX support (requires a working LaTeX installation) with customizable template and a resizable editor with syntax highlighting\n- Sidebar containing page previews with advanced page sorting, PDF bookmarks and layers (can be individually hidden/edited)\n- Allows mapping different tools/colors etc. to stylus/mouse buttons\n- Customizable toolbar with multiple configurations, e.g. to optimize toolbar for portrait/landscape\n- Custom color palette support using the .gpl format\n- Page template definitions\n- Bug reporting, auto-save, and auto backup tools\n- Audio recording and playback alongside with handwritten notes\n- Multi language support (over 20 languages supported)\n- Plugins using Lua scripting\n\n## Mobile \u0026 web app\n\nFrom mid 2020 to May 2021, a Flutter-written mobile app for **Android**, **Chrome OS** and **iOS** (unreleased) and the **web**\nhas been developed, which supports the file format and most of the basic features of Xournal++.\nUnfortunately development has stalled and we have lost contact to the (single) developer. The web app is no longer available.\nYou can still check out the [separate repository on GitLab](https://gitlab.com/TheOneWithTheBraid/xournalpp_mobile) or\n[Get it on Google Play](https://play.google.com/store/apps/details?id=online.xournal.mobile)\n\n\n\u003ctable\u003e\n\u003ctr\u003e\n\u003ctd\u003e\n\n## GNU/Linux\n\n\u003cimg src=\"readme/main.png\" width=100% title=\"Xournal++ on GNU/Linux\"/\u003e\n\n\u003c/td\u003e\u003ctd\u003e\n\n## Windows 10\n\n\u003cimg src=\"readme/main-win.png\" width=100% title=\"Xournal++ on Windows 10\"/\u003e\n\n\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\n\n## macOS Catalina\n\n\u003cimg src=\"readme/main-mac.png\" width=100% title=\"Xournal++ on macOS Catalina\"/\u003e\n\n\u003c/td\u003e\u003ctd\u003e\n\n## Xournal++ Mobile on Chromium OS\n\n\u003cimg src=\"https://gitlab.com/TheOneWithTheBraid/xournalpp_mobile/-/raw/master/fastlane/metadata/android/en_US/images/tenInchScreenshots/03.png\" width=100% title=\"Xournal++ Mobile on Chromium OS\"/\u003e\n\n\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\n\n## Toolbar / Page Background / Layer\n\nMultiple page background, easy selectable on the toolbar\n\u003cimg src=\"readme/background.png\" width=100% title=\"Changing the page background in Xournal++\"/\u003e\n\n\u003c/td\u003e\u003ctd\u003e\n\n## Layer sidebar and advanced layer selection\n\n\u003cimg src=\"readme/layer.png\" width=100% title=\"Layers in Xournal++\"/\u003e\n\n\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\n\n## Multiple predefined and fully customizable toolbars\n\n\u003cimg src=\"readme/toolbar.png\" width=100% title=\"Custom toolbars in Xournal++\"/\u003e\n\n\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e\n\n## User Manual and FAQ\n\nFor general usage, consult the [User\nManual](https://github.com/xournalpp/xournalpp/wiki/User-Manual). Answers to\nsome common questions can be found in the\n[FAQ](https://github.com/xournalpp/xournalpp/wiki/Frequently-Asked-Questions-\u0026-Problem-Solving).\n\n## Experimental Features\n\nSometimes a feature is added that might not be rock solid, or the developers aren't sure if it is useful.\nTry these out and give us some feedback.\n\nHere are a few under development that you can play with now:\n\n- \u003cimg src=\"readme/floatingtoolboxmbmenu.png\"  title=\"Xournal++\"/\u003e 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).\n\n  - This is an experimental feature because not everything you can put in the toolbox behaves. So be aware.\n\n    \u003cimg src=\"readme/floatingtoolbox.png\" width=25% /\u003e\n\n* Keep your eyes out for other experimental features in preferences as seen here:\n\n  DrawingTools: When drawing a box, circle etc, simulate ctrl or shift modifiers by the initial direction you move the mouse.\n\n  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.\n\n   \u003cimg src=\"readme/moreexperimentals.png\" width=50% /\u003e\n\n## Installing\n\nThe official releases of Xournal++ can be found on the\n[Releases](https://github.com/xournalpp/xournalpp/releases) page. We provide\nbinaries for Debian, Ubuntu, MacOS and Windows.\nFor other GNU/Linux distributions (or older/newer ones), we also provide an\nAppImage that is binary compatible with any distribution released around or\nafter Ubuntu 22.04. For installing Xournal++ Mobile on handheld devices, please check out [Xournal++ Mobile's instructions](https://gitlab.com/TheOneWithTheBraid/xournalpp_mobile#try-it-out)\n\n**A note for Ubuntu/Debian users**: The official binaries that we provide are\nonly compatible with the _specific version of Debian or Ubuntu_ indicated by the\nfile name. For example, if you are on Ubuntu 20.04, the binary whose name\ncontains `Ubuntu-bionic` is _only_ compatible with Ubuntu 18.04. If your system\nis not one of the specific Debian or Ubuntu versions that are supported by the\nofficial binaries, we recommend you use either the PPA (Ubuntu only), the Flatpak, or the\nAppImage.\n\nThere is also an _unstable_, [automated nightly\nrelease](https://github.com/xournalpp/xournalpp/releases/tag/nightly) that\nincludes the very latest features and bug fixes.\n\nWith the help of the community, Xournal++ is also available on official repositories\nof some popular GNU/Linux distros and platforms.\n\n### Debian\n\nOn Debian bookworm and Debian sid the `xournalpp` package (stable version) is contained in the official repositories. Simply install via\n\n```sh\nsudo apt install xournalpp\n```\n\nThere are also the official [Stable releases](https://github.com/xournalpp/xournalpp/releases) and\n_unstable_ [automated nightly releases](https://github.com/xournalpp/xournalpp/releases/tag/nightly).\n\n### Ubuntu and derivatives\n\nOn distros based on Ubuntu 22.04 Jammy Jellyfish (and later) the `xournalpp` package (stable version) is contained in the official repositories.\nSimply install via\n\n```sh\nsudo apt install xournalpp\n```\n\n#### Stable PPA\nThe latest stable version is available via the following [_unofficial_ PPA](https://github.com/xournalpp/xournalpp/issues/1013#issuecomment-692656810):\n\n```sh\nsudo add-apt-repository ppa:apandada1/xournalpp-stable\nsudo apt update\nsudo apt install xournalpp\n```\n\n#### Unstable PPA\nAn _unstable_, nightly release is available for Ubuntu-based distributions via the following PPA:\n\n```sh\nsudo add-apt-repository ppa:andreasbutti/xournalpp-master\nsudo apt update\nsudo apt install xournalpp\n```\n\nThis PPA is provided by the Xournal++ team. While it has the latest features and\nbug fixes, it has also not been tested thoroughly and may break periodically (we\ntry our best not to break things, though).\n\n### Fedora\n\nThe [released version of\nxournalpp](https://src.fedoraproject.org/rpms/xournalpp) is available in the\n[main repository](https://bodhi.fedoraproject.org/updates/?packages=xournalpp)\nvia _Software_ application or the following command:\n\n```sh\nsudo dnf install xournalpp\n```\n\nor\n\n```sh\npkcon install xournalpp\n```\n\nThe bleeding edge packages synced to xournalpp git master on a daily basis are available from [COPR luya/xournalpp](https://copr.fedorainfracloud.org/coprs/luya/xournalpp/).\n[![Copr build status](https://copr.fedorainfracloud.org/coprs/luya/xournalpp/package/xournalpp/status_image/last_build.png)](https://copr.fedorainfracloud.org/coprs/luya/xournalpp/package/xournalpp/)\n\n### openSUSE\n\nOn openSUSE Tumbleweed, the released version of Xournal++ is available from the\nmain repository:\n\n```sh\nsudo zypper in xournalpp\n```\n\nFor openSUSE Leap 15.0 and earlier, use the install link from\n[X11:Utilities](https://software.opensuse.org//download.html?project=X11%3AUtilities\u0026package=xournalpp).\n\nFor all versions of openSUSE, bleeding edge packages synced to xournalpp git\nmaster on a weekly basis are available from\n[home:badshah400:Staging](https://software.opensuse.org//download.html?project=home%3Abadshah400%3AStaging\u0026package=xournalpp).\n\n### Arch Linux\n\nThe latest stable release is available [in the [extra]\nrepository](https://www.archlinux.org/packages/extra/x86_64/xournalpp/).\n\nTo build the latest state of the master branch yourself, use [this AUR\npackage](https://aur.archlinux.org/packages/xournalpp-git/).\n\n### Solus\n\nThe latest stable release is available in the main repository:\n\n```sh\nsudo eopkg it xournalpp\n```\n\n### Flatpak\n\nThe Xournal++ team officially supports a [FlatHub\nrelease](https://flathub.org/apps/details/com.github.xournalpp.xournalpp), which\ncan be installed with\n\n```sh\nflatpak install flathub com.github.xournalpp.xournalpp\n```\n\nNote that for Xournal++ to work properly, you must have at least one GTK theme\nand one icon theme installed on Flatpak. To enable LaTeX support, you will also\nneed to install the TeX Live extension:\n\n```sh\nflatpak install flathub org.freedesktop.Sdk.Extension.texlive\n```\n\nThe Flatpak manifest can be found at the [Xournal++ Flatpak packaging\nrepository](https://github.com/flathub/com.github.xournalpp.xournalpp), and all\nFlatpak-related packaging issues should be reported there.\n\n### Android and Chrome OS\n\nAndroid is supported by Xournal++ Mobile. It can be downloaded either on the [Tags page](https://gitlab.com/TheOneWithTheBraid/xournalpp_mobile/-/tags) or [from Google Play](https://play.google.com/store/apps/details?id=online.xournal.mobile).\n\n### iOS\n\nUnfortunately, the iOS app is not published yet in the Apple App Store. See [here](#mobile--web-app) to learn, why. Anyway, in the [Building section](#building) you can learn how to build an early preview.\n\n### Windows\n\nOfficial Windows releases are provided on the [Releases\npage](https://github.com/xournalpp/xournalpp/releases).\n\n### Mac OS X\n\nMac OS X releases are provided on the [Releases\npage](https://github.com/xournalpp/xournalpp/releases).\n\n**Notes:**\n\n- There have been compatibility problems with Mac OS X Catalina regarding both\n  file permissions and stylus support\n  ([#1772](https://github.com/xournalpp/xournalpp/issues/1772) and\n  [#1757](https://github.com/xournalpp/xournalpp/issues/1757)). Unfortunately,\n  we don't have the resources to adequately support Catalina at this time. Help\n  would be appreciated!\n- Xournal++ will be delivered with a patched GTK. Else, pressure sensitivity will not work on Mac\n  [#569](https://github.com/xournalpp/xournalpp/issues/569).\n\n## Building\n\n[GNU/Linux Build](readme/LinuxBuild.md)\n\n[Mac Build](readme/MacBuild.md)\n\n[Windows Build](readme/WindowsBuild.md)\n\n[Android Build](https://gitlab.com/TheOneWithTheBraid/xournalpp_mobile#getting-started)\n\n[iOS Build](https://gitlab.com/TheOneWithTheBraid/xournalpp_mobile#getting-started)\n\n## File format\n\nThe 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.\n\n`.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.\n\nAll 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.\n\n**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](https://github.com/xournalpp/xournalpp/issues/937) for further details.**\n\n## Building\n\nWe support building on three operating systems:\n\n- [Linux](readme/LinuxBuild.md)\n- [MacOS](readme/MacBuild.md)\n- [Windows](readme/WindowsBuild.md)\n- [Windows on ARM (not officially supported)](readme/WindowsBuildArm.md)\n\n## Contributing\n\nSee [CONTRIBUTING.md](./CONTRIBUTING.md)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxournalpp%2Fxournalpp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxournalpp%2Fxournalpp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxournalpp%2Fxournalpp/lists"}