Configuration
All settings are accessible via Settings → Community plugins → Remarkable Synchronizer.
Settings
| Setting | Type | Default | Description |
|---|---|---|---|
| Target folder | text | "" | Vault-relative path where output files are saved. Leave empty for vault root. |
| Save images | toggle | true | Save rendered page images |
| Save as PDF | toggle | false | Write one PDF per notebook, beside the page images |
| Save highlights note | toggle | false | Write a markdown note of text highlighted on the device |
| Save typed text note | toggle | false | Write a markdown note of text typed on the device’s keyboard |
| Image format | dropdown | jpeg | Format for rendered images: JPEG, WebP, or PNG |
| Image quality | slider | 0.85 | Quality for JPEG/WebP (0.1 = smallest, 1.0 = best). Hidden when PNG is selected. |
| Use rmfakecloud | toggle | false | Connect to a self-hosted rmfakecloud server instead of the official cloud |
| Server URL | text | "" | Base URL of your rmfakecloud server (only shown when rmfakecloud is enabled) |
| Automatic sync | toggle | false | Periodically sync all notebooks that need updating in the background |
| Sync interval | slider | 30 | Minutes between automatic syncs, 5–240 (only shown when automatic sync is on) |
Image Formats
- JPEG (default) — lossy compression, small file size, good for handwritten notes
- WebP — lossy compression, smaller than JPEG at equivalent quality
- PNG — lossless, larger files, no quality slider
The quality slider controls the compression level for JPEG and WebP. Lower values produce smaller files, higher values preserve more detail. The slider is hidden when PNG is selected since PNG is always lossless.
Save as PDF writes one PDF per notebook, containing every page that has content. It is independent of Save images, so you can enable either, both, or neither.
The PDF is written beside the folder holding the page images, so both can be produced without colliding:
reMarkable/
Work/
Meeting.pdf <- Save as PDF
Meeting/
Meeting-P001.jpeg <- Save images
Meeting-P002.jpeg
Pages are sized from the rendered image at 226 DPI, which matches the physical size of the reMarkable screen (about 6.2 x 8.3 inches). A page whose content scrolled past the bottom of the device viewport produces a taller PDF page rather than a cropped one.
A PDF cannot store WebP. When the image format is WebP, pages are embedded in the PDF as JPEG at the configured quality, while the loose image files stay WebP.
Annotated PDFs and EPUBs
If the document came from a PDF you imported onto your reMarkable, Save as PDF does something different and better: instead of assembling page images, it writes the original document through unchanged and adds an annotated copy beside it.
reMarkable/
Papers/
Some paper.pdf <- the original, untouched
Some paper (annotated).pdf <- the same document with your ink drawn on it
The annotated copy keeps the original’s text layer, so it stays selectable and searchable, and every page survives even if you only annotated one. Your handwriting is drawn as vector paths, not flattened into an image, so it stays sharp at any zoom.
Pages you inserted on the device have no counterpart in the original and are left out of the annotated copy. An encrypted PDF cannot be annotated, and in that case the original is still written to your vault.
Very large source documents (over 80 MB) are not annotated: the original, the parsed copy and the output would all be in memory at once, which is a real risk on phones. The original is still written to your vault.
EPUBs are written through unchanged (as .epub) but not annotated, because the device lays them out itself and there are no fixed pages to draw on.
Generated PDFs deliberately carry no creation or modification date. Re-syncing an unchanged notebook produces exactly the same bytes, and the plugin skips the write entirely, so nothing churns if you sync your vault with Obsidian Sync, Git or Dropbox.
Highlights
If you highlight text on the device (selecting words rather than drawing over them with the highlighter pen), those become real PDF highlight annotations in the annotated copy. You can select them, see the text in a reader’s comment pane, and extract them like any other annotation.
Enable Save highlights note to also get a markdown note listing them:
Some paper (highlights).md
Each highlight appears as a quote under its page number, with a link back to the annotated PDF. The note is only created for documents that actually have highlights, so enabling it will not scatter empty files through your vault.
The toggle controls the note only. Highlights are embedded in the annotated PDF either way, because that is part of reproducing the document rather than an extra output. The text is exactly what the device recorded, not reconstructed from the shape of your ink.
One quirk worth knowing: the device stores highlighted text with the original line breaks removed, so words from the end and start of consecutive lines can run together. Obvious cases are repaired, but joins like “Backupservers” are left alone, because “Backups ervers” is an equally valid reading and guessing wrong would corrupt the text.
Typed text
Text you type on a keyboard is not ink and is not part of the page image. Enable Save typed text note to have it written into a markdown note as real text, so Obsidian can search it and any [[links]] you typed become real links:
Some notebook (text).md
This works for any document — regular notebooks included, not only imported PDFs. Headings, bullets, checkboxes and numbered lists keep their structure in the note.
Handwriting is not included. It is stored as strokes and stays as ink in the page image. The device’s own “Convert to text” is a share action rather than an edit, so the converted text is not written back into the page and there is nothing in the file to read.
Sorting the panel
The panel’s Sort picker controls the order of notebooks within each folder:
| Option | Order |
|---|---|
| Recently modified | newest first (default) |
| Oldest modified | oldest first |
| Name (A–Z) | alphabetical |
| Name (Z–A) | reverse alphabetical |
Names compare numerically, so “Notebook 2” comes before “Notebook 10” rather than after it. Your choice is remembered between sessions.
Folder order is unaffected: the top-level group stays first, and the rest stay alphabetical.
Automatic sync
When Automatic sync is enabled, the plugin periodically syncs all notebooks that need updating (same rules as the panel’s Sync all button). Runs are skipped while disconnected and when a sync is already in progress. Each run also cleans up sync state for notebooks that were deleted on your reMarkable — files already saved in your vault are never deleted.
Authentication
The authentication section shows your connection status and provides connect/disconnect buttons.
Tokens are stored in the plugin’s data.json, inside .obsidian/plugins/remarkable-synchronizer/. The user token auto-refreshes every 23 hours.
They are kept separate from your plugin settings, so they never show up in the debug log. They do live inside the vault, though: if you sync .obsidian (Obsidian Sync’s community plugin settings option, Git, Dropbox, …), your reMarkable credentials sync with it.
If you used an earlier desktop version, your tokens were in ~/.remarkable-sync/token.json. They are imported automatically the first time each vault runs this version. The old file is left in place because it is shared by all your vaults — once they have all been updated, remove it with the Legacy token file → Remove button in the settings tab.
rmfakecloud
To use a self-hosted rmfakecloud server:
- Enable “Use rmfakecloud” in the Cloud settings section
- Enter your server URL (e.g.,
https://cloud.example.comorhttp://localhost:3000) - Disconnect and reconnect if you were previously connected to a different cloud
The server URL must be a valid HTTP or HTTPS URL. When enabled, all authentication and sync requests go to your rmfakecloud server instead of the official reMarkable cloud.
Note: Tokens are not transferable between clouds. Switching between official cloud and rmfakecloud requires disconnecting and reconnecting.
About
The about section includes links to follow the developer and support the project.