whatisgithub

What is realm-js?

realm/realm-js — explained in plain English

Analysis updated 2026-05-18

5,994TypeScriptAudience · developerComplexity · 3/5LicenseSetup · moderate

In one sentence

Realm is a mobile-first local database for JavaScript and React Native apps, now deprecated by MongoDB, a community fork without sync features is still available.

Mindmap

mindmap
  root((realm-js))
    What it does
      Mobile database
      Local object storage
      Real-time sync
    Status
      Sync deprecated 2024
      Community fork available
    Tech stack
      TypeScript
      React Native
      Node.js
    Use cases
      Offline first apps
      Mobile data storage
      Local object store
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Store and query data locally on an iOS or Android device in a React Native app without writing SQL.

USE CASE 2

Build an offline-first mobile app where data persists on device using the community fork.

USE CASE 3

Prototype a Node.js app that needs a fast embedded database for structured object storage.

What is it built with?

TypeScriptJavaScriptReact NativeNode.jsElectron

How does it compare?

realm/realm-jsserialport/node-serialporthuachao/vscode-restclient
Stars5,9945,9905,999
LanguageTypeScriptTypeScriptTypeScript
Setup difficultymoderatemoderateeasy
Complexity3/53/52/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

The sync-enabled version is deprecated, install from the community npm tag or community git branch for new projects.

Apache 2.0 license -- use freely in commercial and open-source projects with minimal restrictions.

So what is it?

Realm is a mobile database that runs directly inside a device, designed as an alternative to SQLite for storing and querying data in JavaScript and TypeScript applications. This repository contains the JavaScript and TypeScript implementation, covering React Native on iOS and Android, Node.js, and Electron on Windows, macOS, and Linux. An important notice leads the README: MongoDB announced the deprecation of Atlas Device Sync and the Realm SDKs in September 2024. This means the sync-enabled version of the library is being wound down. For projects that only need local database functionality without cloud sync, a community-maintained fork is available on npm under the "community" tag, and there is a corresponding git branch in this repository. Before the deprecation announcement, Realm's main selling points were speed, simplicity, and optional sync with MongoDB Atlas. Data was stored as native objects you could query directly in code, without writing SQL or mapping between database rows and application objects. The sync feature, called Atlas Device Sync, kept data consistent across multiple devices and a cloud backend in real time. The Atlas Device SDKs included language-specific packages for Android, iOS, Swift, Kotlin, Flutter, and JavaScript. This repository covers the JavaScript layer. Setup required either Node.js or a React Native environment, and the library exposed its API through TypeScript definitions. Given the deprecation, this library is not recommended for new projects that depend on sync. If you need a local-only mobile database for JavaScript or React Native, the community branch is the current path forward. Documentation for the SDK still lives at mongodb.com/docs/atlas/device-sdks.

Copy-paste prompts

Prompt 1
I want to use the community fork of realm-js (local only, no sync) in a React Native app. Show me how to define a schema and write and read objects.
Prompt 2
What is the difference between the deprecated Realm sync version and the community branch? Which one should I use for a new project?
Prompt 3
How do I migrate an existing realm-js codebase to the community fork after the Atlas Device Sync deprecation?

Frequently asked questions

What is realm-js?

Realm is a mobile-first local database for JavaScript and React Native apps, now deprecated by MongoDB, a community fork without sync features is still available.

What language is realm-js written in?

Mainly TypeScript. The stack also includes TypeScript, JavaScript, React Native.

What license does realm-js use?

Apache 2.0 license -- use freely in commercial and open-source projects with minimal restrictions.

How hard is realm-js to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is realm-js for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.