Skip to content

By Firestore Devs, For Firestore Devs

The Modern Firestore Client

Browse, query with real JavaScript, and edit with confidence — every database is read-only until you say otherwise, and every write can be undone.

macOS · Windows · Linux — a native desktop app, not a browser tab

FireFetch — collection browser
Reads are never meteredRead-only by defaultYour data never leaves your machinemacOS, Windows & Linux

Undo

Every write records its inverse. A single edit, a find-and-replace, an entire bulk operation — all of it rolls back.

Read-only by default

Each database stays read-only until you explicitly enable writes for it. The gate is enforced in the app core, not the UI.

The real SDK

Scripts run against the genuine Firestore Admin SDK in a separate process, so the Stop button always wins.

What makes it different

Built for the parts of Firestore that are actually hard

JavaScript query editor

Write real JavaScript against your data

Not a query box with a few operators bolted on. Scripts run in a dedicated Node process against the genuine Firestore Admin SDK, withconsole.logstreaming live into a log pane — and a Stop button that kills a runaway loop instead of freezing the app.

  • Full Admin SDK, lodash, fetch, transactions and bulk writers
  • Monaco autocomplete and hover docs over the real SDK typings
  • Stack traces point at your line numbers, not ours
Learn more
JavaScript editor — mid-run

Change history

Nothing you do is permanent

Every write stores the write that reverses it. That makes undo work the way you would hope — not just for a single field you mistyped, but for an entire bulk operation across thousands of documents.

  • Bulk updates and find-and-replace undo as a single step
  • An undo that would clobber someone else’s later change is refused
  • Concurrent edits are caught by precondition, not last-write-wins
Learn more
Change history — undo a bulk operation

Time travel

Read your database as it was last Tuesday

Point-in-time recovery queries, exposed as a clock in the query bar. Pick a timestamp and browse normally. Pair it with collection diffing to audit a migration or compare staging against production, field by field.

  • Query any point inside your PITR retention window
  • See documents that have since been deleted — and restore them
  • Diff live against a past state, a snapshot, or a file
Learn more
Point-in-time recovery — timestamp picker

Bulk operations

Change thousands of documents, carefully

Bulk delete asks the server how many documents match before it touches anything, then works through them in pages rather than loading the collection into memory. Find and replace never coerces a number into a string to make a match.

  • Server-side transforms: increment, array union and remove, delete
  • Bulk delete counts first, then pages 500 at a time — cancellable
  • Find and replace with typed rules and a preview before commit
Learn more
Bulk delete — count before commit

MCP server

Let Claude query your database — through you

FireFetch ships a Model Context Protocol server, so an AI assistant can list collections, run queries and execute JavaScript against your Firestore — using your existing credentials, through your running app, under the same read-only gate that protects you.

  • Runs over localhost only — nothing is exposed to the network
  • AI writes stay blocked unless you enabled writes for that database
  • Works with Claude Desktop, Claude Code, or any MCP client
Learn more
MCP — Claude querying Firestore via FireFetch

And the rest of the day job

The unglamorous things you need constantly, done properly.

Five view modes

Table, tree, JSON, log and inferred schema — same data, whichever way you think.

Schema inference

Field paths, types, how often each appears, and example values, sampled across a collection.

TypeScript export

Generate a typed interface from any collection and paste it straight into your codebase.

Live mode

Stream a query with onSnapshot and watch rows flash as they change.

Lossless import & export

JSON and CSV that survive the round trip — including int64s, bytes and microsecond timestamps.

Auth user management

List, create, edit and delete Firebase Auth users, custom claims included.

Bookmarks & notes

Pin documents you keep coming back to, and attach private notes that never touch Firestore.

Tabs & split view

Two panes, many tabs, restored exactly where you left them.

Emulator support

Point at a local Firestore emulator by host and port.

Pricing

Reads are never metered. On every plan.

Browsing and querying stay unlimited forever. Only writes count — and every database gets its first 1,000 writes each period free.

Free $0Pro $5/moMax $10/moUnlimited $15/mo

Privacy

We never see your data — or even your project names

Firestore traffic goes straight from your machine to Google. It does not pass through us, because there is no “us” in the path. Our licensing service identifies a database by a salted HMAC computed on your computer, never a raw project id, so it cannot enumerate or correlate your projects even in principle.

Credentials are stored in your operating system’s keychain.

Give Firestore the client it deserves

Free plan, no card required. Reads unlimited, forever.