The Problem
Annotating PDFs and taking handwritten notes shouldn’t feel like you’re fighting your software. Tools like Adobe Acrobat are bloated and clunky, while scribbling on a tablet app often lacks precision, features, and cross-platform support. If you’re a student, teacher, or anyone working with PDFs and handwritten notes, you’ve probably been frustrated by the lack of a solid, no-BS solution.
What This Does
Xournal++ is the "Why isn’t this already a thing?" solution. It’s a lightweight, open-source handwriting and PDF annotation tool built in C++ with GTK3. It works on Linux, Windows 10, and macOS, and even supports pressure-sensitive styluses like Wacom tablets. Think of it as the Swiss Army knife for anyone who needs to take notes, annotate PDFs, or just doodle with precision.
The project is well-organized. The src/ folder houses the C++ core, including modules for audio recording (src/core/audio/AudioRecorder.cpp) and playback (src/core/audio/AudioPlayer.cpp). The plugins/ folder adds Lua-based scripting to extend functionality (e.g., plugins/Export/main.lua for exporting workflows). For cross-platform builds, there’s a bunch of CMakeLists.txt files littered across the repo, which is nice if you like pain-free builds. CI/CD is handled via GitHub Actions, with workflows like make-installer-windows.yml and make-installer-macos.yml making it easier to ship builds across platforms.
And yes, it handles PDF annotation like a champ. You can highlight, underline, or strike through text in PDFs, export annotated versions, and even overlay them with handwriting or shapes. All this while offering LaTeX support, customizable toolbars, and a plugin system for nerds who want to extend it further.
Real-World Use
Say you’re a math teacher prepping lecture notes. You can load your PDF slides into Xournal++, scribble annotations using a Wacom tablet, and even add LaTeX formulas for extra clarity. Need to emphasize a section? Use the highlighter tool or draw shapes to circle key points. Want to share the annotated slides with your students? Export them as a new PDF or even as SVG for further editing. Bonus: if you’re explaining something complicated, the audio recording feature lets you attach voice notes to your annotations for asynchronous learning.
The Bottom Line
Xournal++ is a powerful, no-frills tool for anyone who needs robust handwriting and PDF annotation capabilities. It’s not flashy, but it works. You’ll love it if you’re on Linux, and it’s solid on macOS and Windows too. The plugin system is a nice touch for tinkerers, but the codebase could use more tests (seriously, one test file?). Overall, it’s a workhorse for anyone tired of bloated alternatives.