Your handwriting, everywhere.

Inkterop reads the actual pen strokes out of reMarkable, GoodNotes, Notability, Supernote, Saber, OneNote and a dozen other formats — and writes them back out as PDF, SVG, PNG, or editable ink. Automatically, in the background, into folders you control.

Free & open source (MIT). Windows and Linux community builds available.

Inkterop's library browser showing handwritten note previews

📚 A real library browser

Browse every notebook with first-page previews — Finder-style columns, a thumbnail grid, or a details list. Choose exactly which notes and folders sync, rename outputs, pick a format per note.

🔁 Hands-off sync

The engine watches your device's library and mirrors changed notes into normal PDFs (or SVG/PNG) within a minute or two — into iCloud Drive, Dropbox, a git repo, wherever you point it. Your source library is never written to. Ever.

🪄 Drag-and-drop conversion

Drop a .goodnotes, .ntb, .sba or 15 other note formats on the app and get editable ink out — not a flattened picture. Per-point pressure, tilt and pen widths survive the trip where the target format can hold them.

🔬 Reverse-engineered carefully

Every format claim is validated against the app's own exports and documented with confidence markers — the format specs are public. Fidelity is pinned by golden tests, measured in pixels, not vibes.

Download

Or grab any release from GitHub Releases.

Homebrew:

brew install cable729/tap/inkterop

The CLI and Python engine install separately: uv tool install inkterop — see the documentation.

Format support

FormatReadWrite
reMarkable v6 (Paper Pro)experimental
GoodNotes 6experimental
Notability (.ntb + legacy .note)experimental
Supernote .noterasterexperimental
Saberexperimental
Nebo / MyScript
OneNote .one
Apple PencilKit (.pkdrawing)
Samsung Notes (.sdocx)
Onyx Boox .note
Wacom UIM, MS-ISF, InkML
Xournal++, Excalidraw, tldraw, SVG✓ (tldraw read-only)
PDF / SVG / PNG outputSVG two-way

"experimental" writers produce valid files but are still being validated against each app's importer — the app marks them clearly. Full matrix and per-format specs in the docs.