Skip to main content

Blog

A notes app that syncs between devices: three ways it is done, and what each one costs you

By Steven Liechti, founder of Koru · Published

Short answer

A notes app syncs between devices in one of three ways: through the company's own cloud, through a storage service you set up, such as Dropbox or WebDAV, or directly from device to device. Each one trades off an account, cost, where your notes sit and what happens offline. Koru syncs your computers directly, for free, with no account.

I build Koru, a free, open-source (MPL-2.0), local-first workspace for notes and documents on Windows and macOS. Sync was one of the first decisions we had to make, and it's the one that shapes everything else: whether you need an account, what you pay every month, and who else holds a copy of what you write.

Most people only notice how their notes app syncs when it stops working. So here is the plain version: the three ways a notes app can keep your devices in step, what each one asks of you, and how Koru does it, including the parts that are still limits today.

How do notes apps sync between devices?

Every notes app that syncs has to answer one question: when you write on one computer, how does the other one find out? There are three common answers:

  • The app's own cloud. You sign in, every device sends its changes to the company's servers, and every other device collects them from there.
  • A storage service you set up. The app writes its data to a folder or server you already use, such as Dropbox, OneDrive, iCloud Drive, WebDAV or Nextcloud, and that service moves it between devices.
  • Device to device. Your devices talk to each other directly, with no central copy anywhere.

Many apps offer more than one. Obsidian, for example, has its own paid sync service, and its help pages also explain how to sync a vault with iCloud, OneDrive, Google Drive, Syncthing or Git. Joplin can sync through Joplin Cloud, Nextcloud, S3, WebDAV, Dropbox, OneDrive or a folder on your filesystem.

What do you get from syncing through the app's own cloud?

It's the easiest to live with. The company runs a server that is always on, so a change you make on your laptop is waiting for your desktop even if the laptop is closed by the time the desktop wakes up. Setup is usually a sign-in.

The cost is an account, usually a subscription, and a copy of your notes on someone else's servers. Some services encrypt that copy end to end. Obsidian Sync, for one, costs $4 per user per month billed annually and lists end-to-end encryption and version history. Whether the copy is readable by the company or not, the service has to keep running for your sync to work.

What about syncing through Dropbox, iCloud or WebDAV?

This route reuses something you may already pay for, and it keeps the app out of the business of storing your data. If you run Nextcloud or a WebDAV server yourself, nobody else holds a copy at all.

The catch is that you're now the one who sets it up and fixes it when it breaks, and the storage service only sees files, not notes. Obsidian's own help is candid about this: it warns that iCloud Drive on Windows may lead to file duplication or corruption, and it advises against syncing the same vault through more than one service. Those aren't faults of any one app. A general-purpose file service just wasn't built with a notes app's data in mind.

What changes when devices sync directly with each other?

No company holds your notes, so there's nothing to sign up for and nothing to pay for the sync itself. Your workspace exists only on the devices you own.

The trade-off is availability. With no server in the middle, two devices can only exchange changes while both are on and online. Obsidian's help says the same about Syncthing, a popular device-to-device tool: it works best when at least one device is always on. And two computers on different networks often can't reach each other directly, so a direct sync design needs a way through.

How do the three approaches compare?

Side by side, in broad strokes:

QuestionThe app's own cloudA storage service you set upDevice to device
AccountUsually an account with the appAn account with the storage service, or your own serverNone needed
CostOften a subscriptionWhatever the storage costs youCan be free
Where your notes sitYour devices and the company's serversYour devices and the storage serviceOnly your devices
Devices online at the same time?NoNoYes, unless something always-on holds a copy
Who sets it upThe appYouThe app, if it is built in
General patterns, not a rating of any particular app.

What happens when you edit on two devices while offline?

Every sync design has to answer this, and it's where many of them get uncomfortable. If you change the same note on a train and on your desk computer, something has to combine those edits once the two meet again.

Koru answers it in the data itself. Each workspace is a CRDT, a data structure built so that copies edited separately can be combined without a server deciding who wins. Koru uses Loro for that, and any two copies that have seen the same changes end up in the same state, whatever order the changes arrived in. Changes made offline on each device are combined when they reconnect. If you only use one device, Koru exchanges nothing at all.

How does Koru sync between computers?

Directly, device to device, built on iroh. Linking a second computer takes a QR code or a short code:

  1. On your first computer, choose Link a device. It shows a QR code and a link code you can copy.
  2. On the other computer, choose Link a device, then Enter link code.
  3. When it says Device linked, sync starts.

On the same network, your devices connect to each other directly. On different networks, if they can't reach each other directly, Koru's relay forwards the traffic. The relay is run by Koru, not a third party, and stores nothing, and you can turn it off on each device.

Sync traffic between your devices is end-to-end encrypted, including when Koru's relay forwards it, so the relay can't read your notes. No account, email or password is needed to link your own devices, a Windows PC and a Mac link with each other the same way, and device-to-device sync is free. The details are on the peer-to-peer sync page.

What are the limits of syncing directly?

The same ones as any device-to-device design, and I'd rather you hear them from me:

  • Both devices have to be online at the same time. If your laptop is closed, your desktop gets its latest edits when the laptop wakes up. Each device keeps working offline in the meantime.
  • Pictures and files need a direct connection. They travel between two computers only over a direct connection, never through the relay, so between different networks they need Koru Cloud. Your notes themselves sync either way.

What if my devices are rarely online together?

That is what Koru Cloud is for. It adds an always-online copy of your workspaces for sync, backup and access across devices, so your computers don't have to meet. Optional cloud sync is $9.99/month for 100 GB. See pricing.

Koru Cloud is a separate hosted service. It is proprietary, its server code is not in the repository, and a build from source has it switched off. The Koru app itself is open source under MPL-2.0, works fully without Koru Cloud, and keeps syncing your devices directly for free. A self-hosted option is coming soon too, so you'll be able to run your own sync server instead.

Which devices can Koru sync?

Computers. Koru runs on 64-bit Windows and on Macs with Apple silicon (M1 or later) running macOS 12 Monterey or later. There is no build for Intel Macs.

There's no phone app yet and no Linux app, so Koru won't keep your phone in step with your desk. If you need that today, Obsidian and Joplin both have phone apps, and our comparison pages say plainly where each one fits better than Koru.

If what you want is your Windows PC and your Mac in sync, with no account and nothing to set up, download Koru. It's free. The code is at github.com/koruworks/mono, and I post about what we're building on X as @liechti_dev.

Frequently asked questions

Is there a free notes app that syncs between devices?

Yes. Koru is free and open source, and it syncs your computers directly with each other, with no account. Optional cloud sync is $9.99/month for 100 GB.

Do both devices need to be on to sync?

With Koru's device-to-device sync, yes: both need to be online at the same time to exchange changes, and each keeps working offline meanwhile. Koru Cloud keeps an always-on copy for when your devices aren't online together, and a self-hosted sync server option is coming soon.

Can I sync notes between Windows and Mac?

Yes. A Windows PC and a Mac link with each other the same way, with a QR code or a link code, and then sync directly.

Does Koru sync with my phone?

Not yet. Koru has no phone app. Today it syncs between Windows PCs and Macs.

Read next