Magical
Multiplayer
Data.

Interactive everything for the modern era.

Lark is the open-source realtime database for web apps, games, and mobile. Fast-twitch updates for high speed data paired with persistent state synced across thousands of users.

Already using Firebase RTDB? We're 100% drop-in compatible. Change one config var, and you're done.

See it in Action

Connecting...

This demo is persisting checkbox state and updating cursor positions across everyone on the site using Lark's Volatile Paths. (Try opening up a second browser window!)

import { LarkDatabase } from '@lark-sh/client';

const db = new LarkDatabase('landing-page/checkboxes', {
  anonymous: true
});

// Subscribe to realtime updates
db.ref('boxes').on('value', (snapshot) => {
  const boxes = snapshot.val() || {};

  // Update each checkbox element
  for (let i = 0; i < 100; i++) {
    const el = document.getElementById(`box-${i}`);
    el.classList.toggle('checked', !!boxes[i]);
  }
});

// Toggle a checkbox on click
async function toggle(id) {
  const ref = db.ref(`boxes/${id}`);
  const snap = await ref.once();
  await ref.set(!snap.val());
}
import { useEffect, useState } from 'react';
import { LarkDatabase } from '@lark-sh/client';

const db = new LarkDatabase('landing-page/checkboxes', {
  anonymous: true
});

function Checkboxes() {
  const [boxes, setBoxes] = useState({});

  useEffect(() => {
    return db.ref('boxes').on('value', snap => {
      setBoxes(snap.val() || {});
    });
  }, []);

  const toggle = async (id) => {
    const ref = db.ref(`boxes/${id}`);
    const snap = await ref.once();
    await ref.set(!snap.val());
  };

  return (
    <div className="grid">
      {Array(100).fill(0).map((_, i) => (
        <div
          key={i}
          className={boxes[i] ? 'checked' : ''}
          onClick={() => toggle(i)}
        />
      ))}
    </div>
  );
}
{
  "rules": {
    "cursors": {
      ".volatile": true, // Fire-and-forget 20Hz!
      ".read": true,
      "$session_id": {
        ".write": true,
        ".validate": "newData.hasChildren(['x', 'y'])"
      }
    },
    "boxes": {
      ".read": true,
      "$index": {
        ".write": true,
        ".validate": "newData.isBoolean() && $index.matches(/^[0-9]+$/)"
      }
    }
  }
}

Yeah, Lark Does That

Web Apps

Use LarkJS with Vanilla Javascript, React, or your favorite framework. Sync any JSON data you want, and add in presence and volatile data (great for typing indicators or cursor movement) using the same SDK.

Mobile Apps

Use Firebase Mobile SDKs for Flutter, React Native, Expo, and more to get up and running quickly with a Lark-powered mobile application using the SDKs you already love.

AI-Native Apps

Lark makes it easy to build the next generation of apps using AI. Your agent can provision databases, update security rules, and inspect data directly using our Lark Skill and CLI tool.

Works with everything you already use

JavaScript
TypeScript
React
Node.js
Swift
Kotlin
iOS
Android
Unity
Flutter
C#
{} REST API

Own Your Stack

We believe that every developer should be able to own their backend. Lark is proudly open-source under an AGPL license, allowing you to use it in commercial projects with no limits. Don't want to deal with devops? Let us host it. Either way, your data and your code stay yours.

{ }

Permissive Licensing

The entire server is on GitHub under the AGPL license which means you can use it for your next weekend hack or your major commercial day-job.

Read it, fork it, audit it, ship patches. The stack that runs our cloud is the same code you can run yourself.

>

Easy to start

Clone the repo and make up brings up the whole stack locally so you can take it for a test drive.

Going to production? Our Fly.io quickstart stands up a real, TLS-terminated deployment in a few minutes.

Switch anytime

Lark Cloud is powered by the same server in the Github repo, with more advanced management layered on top.

Start on Cloud and move in-house later, or start self-hosted and hand us the ops when you scale.

Firebase 🔜 Lark

Firebase Realtime Database was magical when it launched. Lark keeps everything you love about that API and gives you the part you never had: full control. Use the same client SDKs and skip the major rewrite while getting a fast, modern engine powering your data.

1

The API you already know

Just change firebaseio.com to larkdb.net in your Firebase config. You're done.

Lark can be used as a drop-in replacement for Firebase RTDB in your existing apps. Use the official Firebase SDKs (Web, Mobile, REST). We pass every one of their 300+ integration tests. Keep your auth, keep your code, get a better engine.

2

Features for the modern dev

Firebase was built for 2012. Lark is built for 2026.

  • Volatile Data: Fire-and-forget updates. Perfect for real-time game data or cursor presence, powered by WebTransport in the browser and KCP for game engines.
  • First-Class AI Support: Lark excels at letting your AI coding assistant handle the nitty gritty without making you navigate a labyrinth just to setup your project.
3

Yours to run

With Firebase, there's exactly one place your data can live: Google's. With Lark, it's your call.

Self-host the open-source server for free, or run on Lark Cloud at half of Firebase's rates — and move between the two whenever you want.

Either way, the same drop-in API and you're in control.

Your Place or Ours

Run the open-source version on your own infrastructure, or let us handle the devops so you can focus on building your app.

Open Source

Own your whole stack.

Free
  • AGPL-licensed
  • Self-host on your own hardware
  • No limits, no seats
  • Firebase drop-in compatibility
  • Community support
View on GitHub
Most popular

Cloud

We run it. You ship.

$10 /month
  • Includes 2 GB storage + 20 GB bandwidth
  • Then $2.50/GB storage, $0.50/GB bandwidth (egress)
  • Volatile bandwidth billed at 1/5th the rate
  • Switch from Firebase and save money today
  • Scales as high as you need
  • 14-day free trial
Start Free Trial

Enterprise

For serious scale.

Let's talk
  • For those running 10k+ Peak CCU
  • Volume discounts
  • Hands-on onboarding & migration help
  • Priority support on Cloud
  • Enterprise support contracts for open-source
Contact Us

Full breakdown and pricing FAQ on the pricing page.