Dexie Logo
CtrlK

Dexie Cloud Spring Update: Blobs, Streaming, and What’s Next

David FahlanderMay 21, 2026

A lot has landed in Dexie Cloud over the past few weeks. Rather than writing deep dives about each piece separately, here’s a quick tour of what’s new — and a peek at what’s coming.

Blob Offloading Is Now in Production

Blob offloading — our approach to storing large binary data outside the sync payload — has been running in production since earlier this spring. It’s been battle-tested against real apps with thousands of binary objects, and it works exactly as designed.

The idea is simple: when an object contains large binary data (images, PDFs, audio files, anything really), Dexie Cloud moves that data out of the sync stream and into blob storage (S3 or Azure Blob Storage). Only a reference remains in the synced object. Clients download blobs on demand, transparently. The sync protocol stays fast even when users have large attachments.

New CLI Commands

The dexie-cloud CLI has grown a handful of useful new commands:

  • clear-table - Delete all records from a table across all shards, atomically. Useful for test database cleanup or emergency resets.
  • clear-realm - Delete all objects belonging to a specific realm. Removes the data while leaving the realm metadata intact.

All commands use all-or-nothing semantics: they validate that everything is in place before starting, rather than failing halfway through.

Streaming Export/Import — With Y.js and Blob Support

The dexie-cloud CLI’s export and import commands ( dexie-cloud exportand dexie-cloud import) now streams. Instead of reading the entire database into memory before writing a backup file, it pipes records through as they're read. This makes it practical to export large databases - a database that would previously cause an out-of-memory crash can now be exported reliably.

Two new format adapters landed alongside this:

  • Y.js support — Export and import Y.js documents stored in Dexie. Documents are serialized correctly across the backup boundary, so collaborative editing state survives a full export/import cycle.
  • Blob support — Blobs stored via Dexie Cloud’s blob offloading are now included in exports. The importer reconstructs both the object and its associated blob, so backup/restore is genuinely complete.

The streaming format uses NDJSON (newline-delimited JSON), which makes it easy to process exports with standard tools — jq, shell pipelines, whatever you prefer.

To get the legacy format of an export, use the --legacyflag — it will use the old way and still works for smaller databases.

dexie-cloud-sdk

Our new Node.js SDK for Dexie Cloud is now published on npm as dexie-cloud-sdk. It's a server-side SDK - not a web library - built for backend code that needs to talk to your Dexie Cloud database directly via the REST API.

Three things it handles for you:

  1. Token management — It calls the /token endpoint automatically when needed and refreshes JWTs in the background. You authenticate once and never think about it again.
  2. Type encoding/decoding — JSON can’t represent ArrayBuffer, Date, Map, Set, or BigInt. The SDK handles all of this transparently so your data round-trips correctly between server and client.
  3. Blob offloading — Binary data and large strings are automatically offloaded to blob storage, the same way the frontend dexie-cloud-addon does it. You write normal objects; the SDK handles the storage details.
npm install dexie-cloud-sdk
import { DexieCloudClient } from 'dexie-cloud-sdk';

// Create the client
const client = new DexieCloudClient('https://dexie.cloud');

// restDB
const restDB = client.db("https://your-db.dexie.cloud", {
  clientId,
  clientSecret
});

// Query objects
const items = await restDB.data.list('todoItems');

// Add object
await restDB.data.create('todoItems', {
  title: 'Buy milk',
  done: false
});

It’s designed for the use cases where the server needs to write too: seeding a product catalog, processing webhooks, running migration scripts. The same data your frontend syncs — accessible from Node.js, Deno, or Cloudflare Workers.

Coming Next: Paginated Sync

We’re actively working on paginated sync — a significant change to how initial sync works for clients joining a database for the first time.

Today, initial sync downloads all data in one go. For small databases this is fine. For large ones — thousands of records across many tables — clients can end up waiting a long time before they can do anything useful.

Paginated sync fixes this by fetching data in chunks, prioritizing what the user needs first, and filling in the rest in the background. The app becomes usable faster. Sync completes eventually, without blocking anything.

This is a significant protocol change, touching both the server and the client SDK. We’ll write a proper deep dive when it’s shipped. But as always, we value backward compability and always avoid upgrade enforcements or protocol changes — we always support old clientnew server and new clientold server use cases.

That’s the spring roundup. As always, the best place to stay current is the Dexie.js releases page and dexie.org/docs. If you’re running into anything or have questions, find us on GitHub Discussions and our Discord server.


Dexie Cloud Spring Update: Blobs, Streaming, and What’s Next was originally published in Dexie.js on Medium, where people are continuing the conversation by highlighting and responding to this story.

More Articles

© 2014-2025 Awarica AB

Browser testing via

TestMu AI (Formerly LambdaTest)

Made with love for great people.

Read Terms & Conditions and Privacy Policy.

We recently launched a new website! Missing something? Visit the old site. Your feedback is welcome!