Remarkable Synchronizer

approved

by Sébastien Dubois

Connect to the reMarkable cloud, list, download, and sync notebook pages as images. - This plugin has not been manually reviewed by Obsidian staff.

30 stars1,610 downloadsUpdated 7d agoMIT

Remarkable Synchronizer

An Obsidian plugin that connects to the reMarkable cloud to list, download, and sync notebook pages as images.

Features

  • reMarkable cloud integration — connect with a one-time code, list all notebooks
  • rmfakecloud support — connect to a self-hosted rmfakecloud server as an alternative to the official cloud
  • Page rendering — render .rm v6 stroke data to PNG/JPEG images
  • Sidebar panel — browse notebooks with foldable folder hierarchy, search, multi-select, and per-notebook download
  • Folder hierarchy preservation — reMarkable folder structure mirrored in vault
  • Local .rmdoc import — import .rmdoc files directly without cloud connection
  • Automatic sync — optional background sync of all notebooks that need updating, on a configurable interval (off by default)
  • What's new after updates. After a plugin update, a one-time dialog shows the release notes you just received (including skipped versions) with ways to support development. Never shown on fresh installs or regular restarts.

Requirements

  • Obsidian v1.4.0+
  • Desktop is fully supported. Mobile support is experimental — see Mobile.
  • A reMarkable account with cloud sync enabled, or a rmfakecloud server (optional for local .rmdoc import)

Installation

Community plugins (recommended)

  1. In Obsidian, go to Settings → Community plugins.
  2. Disable Restricted mode if it's enabled.
  3. Select Browse, search for Remarkable Synchronizer, install it, then enable it.

You can also browse the catalog on the Obsidian Community website.

Manual installation

If the plugin isn't listed in the community catalog yet (or you want a specific version):

  1. Download main.js, manifest.json, and styles.css from the latest release.
  2. Copy them into <Vault>/.obsidian/plugins/remarkable-synchronizer/.
  3. Reload Obsidian and enable Remarkable Synchronizer in Settings → Community plugins.

BRAT (bleeding edge)

BRAT (Beta Reviewers Auto-update Tool) installs plugins straight from a GitHub repo and keeps them updated automatically. Use this if you want the latest commits — things might break.

  1. Install Obsidian42 - BRAT from Settings → Community plugins → Browse and enable it.
  2. Run BRAT: Add a beta plugin for testing from the command palette.
  3. Paste https://github.com/dsebastien/obsidian-remarkable-sync.
  4. Select the latest version and confirm.
  5. Enable Remarkable Synchronizer in Settings → Community plugins.

Quick Start

  1. Install the plugin (see Installation above).
  2. Run "Connect to reMarkable cloud" command
  3. Enter your one-time code from my.remarkable.com
  4. Run "Open reMarkable panel" to browse notebooks
  5. Click the download button on any notebook

Commands

CommandDescription
Open reMarkable panelOpens the sidebar panel listing notebooks
Connect to reMarkable cloudOpens the authentication modal
Disconnect from reMarkable cloudClears stored tokens
Import .rmdoc fileImport a local .rmdoc file as images

Settings

SettingDefaultDescription
Target folder"" (root)Vault folder for output files
Save imagestrueSave rendered page images
Image formatpngPNG or JPEG
Use rmfakecloudfalseConnect to a self-hosted rmfakecloud server instead of official cloud
Server URL""Base URL of your rmfakecloud server (only when rmfakecloud is enabled)

Output Format

Page images are saved as: {NotebookName}-P{NNN}.png

Folder hierarchy is preserved:

{targetFolder}/Work/Meeting Notes/Meeting Notes-P001.png

Blank pages (no strokes) are skipped.

rmfakecloud

This plugin supports rmfakecloud, a self-hosted reMarkable cloud replacement. To use it:

  1. Enable "Use rmfakecloud" in plugin settings
  2. Enter your rmfakecloud server URL (e.g., https://cloud.example.com)
  3. Run "Connect to reMarkable cloud" and enter a one-time code generated from your rmfakecloud web interface

The authentication flow and sync protocol are identical to the official cloud. All API requests go to your self-hosted server instead of reMarkable's servers.

Mobile

Mobile support is experimental and needs testing on real devices. Please report what you find.

  • Android should work.
  • iPhone / iPad need iOS 16.4 or later. Page rendering uses OffscreenCanvas; on older versions the plugin tells you rather than silently producing empty notebooks.
  • Automatic background sync stays off by default. Turning it on will use mobile data and battery.
  • Importing a .rmdoc file relies on the system file picker, which may not offer .rmdoc files on iOS.

If something does not work, please open an issue and include your device, OS version, and what you saw.

Privacy

  • Authentication tokens are stored in the plugin's own data.json, inside .obsidian/plugins/remarkable-synchronizer/. They are not part of the plugin settings, so they never appear in the debug log or in a settings export.
  • Because they live in the vault, anything that syncs .obsidian syncs them too — Obsidian Sync's community plugin settings option, or a vault tracked in Git or a cloud folder. Exclude .obsidian/plugins/remarkable-synchronizer/data.json if you do not want your reMarkable credentials to travel with your vault.
  • Tokens are per-vault. Earlier desktop versions stored a single machine-wide ~/.remarkable-sync/token.json; that file is imported automatically on first run and then left untouched. Remove it from Settings → Remarkable Synchronizer → Legacy token file once all your vaults are on this version.
  • No telemetry or third-party analytics
  • Network requests only to reMarkable cloud (or your rmfakecloud server when enabled)

Development

See DEVELOPMENT.md for development instructions.

bun install
bun run dev

License

MIT License - see LICENSE for details.

My other Obsidian plugins

PluginWhat it does
Agentic Resource Discovery ServerLocal-first Agentic Resource Discovery publisher and registry that serves your AI skills and tools to agents over a local HTTP and MCP server
Book ExporterExport books (one manifest note + linked chapter notes) to EPUB and PDF via Pandoc
Bookshelf BaseDisplay your notes as a visual bookshelf via a custom Bases view
Dataview SerializerSerialize Dataview queries to Markdown, and keep the Markdown representation up to date
ExpanderReplace variables across your vault using HTML comment markers. Supports static values and dynamic functions
Ghost PublishPublish your vault notes to a Ghost blog with configurable presets for tags, newsletters, and frontmatter conventions
Graph Explorer Base ViewA custom Bases view that renders notes as an interactive force-directed graph with explored/unexplored tracking
Hidden Folders AccessIndex hidden root-level folders (e.g. .claude) so they appear in the file tree, metadata cache, and Bases
Journal BasesCustom Base views for journaling and periodic reviews
Kanban Action PlannerRender your notes as configurable Kanban boards and calendars inside Bases, with statuses, ordering, relationships, and scheduling
Life TrackerCapture and visualize the data that matters in your life
Note VillageA 2D pixel art village where your notes become villagers you can explore and chat with using AI
Obsidian Starter KitAdds strong typing support and powerful automation support for notes
ReplicateUse AI models with ease via the Replicate.com integration
REST and MCP serverExposes CLI commands as RESTful API endpoints and an MCP server for AI tool integration
Time MachineBrowse, compare, and restore previous versions of your notes using built-in file-recovery snapshots
TranscriberTranscribe images to markdown using Ollama vision models
TypefullyPublish social media posts with ease using the Typefully integration
Update TimeAutomatically update front matter to include creation and last update times

Everything I build is documented in my newsletter and on my YouTube channel.

News & support

To stay up to date about this plugin, Obsidian in general, Personal Knowledge Management and note-taking:

If this plugin is useful to you, here are the best ways to support my work ❤️:

Found a bug or have an idea? Open an issue.

For plugin developers

Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.