﻿Source: https://chiselbase.com/firestore/

# A Firestore GUI built for everyday data work.

Scan collections as tables, edit a document without losing your place and keep related views open in tabs. Reuse visual queries and manage your schema, indexes, backups and rules in one desktop Firestore GUI.

[Download for Windows](https://chiselbase.com/download/) [Compare Free and Pro](https://chiselbase.com/pricing/)

Windows · x64 or ARM64 · Installer (.exe)

· firestore · customers

 

Screenshot: Chiselbase Firestore data view of the Fernway Development project. A table lists 24 customer documents, each value tagged with its type, such as str, num, bool or int.

The customers collection, 24 documents. Every value is tagged with its type.

## See your collection. Edit the right document.

Browse documents side by side in a table, with a type label on every value. Open a document in the adjacent drawer and edit its fields without losing your place. The typed editor supports 11 value types, including nested maps and arrays. Vector values are not supported.

-   Keep a collection and its query open in separate tabs while you investigate.
-   Jump directly to a collection or document by pasting its path into the address bar.
-   Virtualized table rows keep the view manageable as you browse loaded documents. Turn on live sync to follow changes in the visible collection; Firebase read charges apply.

· document · customers · clara jensen

 

Screenshot: Document drawer next to the customers table, editing Clara Jensen’s document field by field with a type selector per field. The map shipTo shows city and country, the array tags shows two strings.

Clara Jensen’s customer document in the drawer. 9 fields in 7 types, with the map shipTo and the array tags opened.

## Build a useful query. Keep it for next time.

Build conditions in groups joined by AND or OR, over one collection or a whole collection group. Save the query instead of rebuilding the same filters tomorrow. Query history keeps recent work within reach. Results open as a table, ready for bulk edits or export.

· query builder · orders

 

Screenshot: Chiselbase query builder with the condition status == shipped on the orders collection and a Collection group checkbox. Below, seven matching orders in a table under the buttons Bulk edit and Export results.

orders where status == shipped, 7 results. Bulk edit and export sit right above them.

-   Operators: ==, !=, <, <=, >, >=, array-contains, in, not-in, array-contains-any, starts-with and between.
-   COUNT, SUM and AVG, up to 5 per run.
-   Copy the query as code: JavaScript (v9 modular), Admin SDK (Node), Python or Dart.
-   Missing index? Chiselbase decodes Google’s index link and fills in the index dialog.
-   Time travel runs the same query at an earlier point in time.

· boards · orders overview

 

Screenshot: Chiselbase Orders overview board with revenue, order count and pending payment metrics, an orders-per-day bar chart, a status chart and a table of recent orders. The toolbar includes Add a parameter and Refresh.

One board for the daily order check. Revenue, order count, pending payments, daily orders, status breakdown and recent records. Real app, example data.

## Understand your Firestore schema as you work.

Discover the fields and types in your collections, then generate types for your code. Every collection you open, query or put on a board lands in the schema map, at no extra reads. Rebuilding the map from a sample costs reads.

· schema map · orders

 

Screenshot: Schema map entry for the orders collection: 48 documents read, last browsed 09/29, 01:05 PM, with the buttons Create query and Open. Tabs Fields and Code, with Fields selected. Fields with their types: amount (double), channel (“web” | “android” | “ios” | “wholesale”), currency (“EUR”), customer (reference), items (map[], opened: price double, qty integer, sku string), placedAt (timestamp) and status (“delivered” | “paid” | “refunded” | “pending” | “shipped”).

The orders collection in the schema map. Each field shows its type, and channel and status list the values they take. The Code tab turns it into TypeScript, Zod, Dart, Kotlin or Swift types.

## Indexes, backups and rules, in one place.

Create and delete composite indexes, turn on point-in-time recovery and delete protection, set backup schedules, and deploy security rules. Manage recovery options alongside the data they protect. Restore or clone a backup, configure field-level indexes and set TTL policies from the same workspace.

-   Compare your draft with the live rules before you deploy, or inspect differences against earlier versions.

· backups · (default)

 

Screenshot: Backups view of the (default) database. Delete protection is on, with the note that it blocks deleting the database, also via gcloud or Terraform. Point-in-time recovery is on, recoverable from 22 September 2026, with Clone and Turn off buttons. Two backup schedules: daily, kept 2 weeks, and weekly on Sunday, kept 13 weeks. Below, 6 ready backups from 13 to 29 September 2026, each with a Restore button.

Delete protection and PITR on, two backup schedules, six backups. Recovery settings, scheduled backups and restore actions share one view.

· indexes

 

Screenshot: Index table with 8 composite indexes, listed by collection group, fields with sort direction, scope and status. An orders index on status, channel and amount shows Building. The other seven show Ready, among them an items index on sku and qty with the scope Collection Group. Each row has a delete button. Above the table: the tabs Indexes 8 and Fields 1, a search field, Compare… and New index.

8 composite indexes. Seven are ready, one on orders is still building. One covers the items collection group.

· rules · firestore.rules · diff

 

Screenshot: Side-by-side diff of firestore.rules: the live deployed version on the left, the editor draft on the right, marked +7 −3, with unchanged lines folded. The draft adds a function isStaff(), lets staff read orders, splits the orders write rule into create, update and delete, and limits product reads to active products or admins. Toolbar: History, Diff, Reload, Format, Validate and Deploy.

The live rules against your draft, +7 −3. The draft adds isStaff() and rewrites the orders and products rules. Review the differences before deploying.

## Bulk edits, dry run first.

Update matching documents in one operation and review a sample diff before committing. The bulk edit dialog requires a dry run that writes nothing. Completed runs can be undone when a local snapshot was saved; metadata-only and none policies disable undo.

· bulk edit · orders · dry run

 

Screenshot: Bulk edit dialog setting the field status to delivered on all orders matching the query. The dry run shows 7 checked, 7 would change, and five sample rows with shipped before and delivered after.

Setting status from shipped to delivered, after the dry run. 7 checked, 7 would change. “Dry run, nothing written.”

## Export to files you can open.

In the Console, export and import run through a Cloud Storage bucket, and the files aren’t JSON or CSV. Chiselbase exports a collection or selected documents to a file. Plain JSON can’t be imported, so use FS-JSON or JSONL for a file you want to bring back.

Firestore formats

| Format | Export | Import |
| --- | --- | --- |
| FS-JSON | Yes | Yes |
| JSON | Yes | No |
| JSONL | Yes | Yes |
| CSV | Yes | Yes |

-   FS-JSON is the default. Subcollections can be included in FS-JSON, JSON and JSONL exports. CSV is flat.
-   CSV is for Firestore only. Authentication and Realtime Database export and import JSON.

## Open your own project in it.

Connect your Firebase project and put the workspace to work. No account, no expiry date.

[Download for Windows](https://chiselbase.com/download/) [Compare Free and Pro](https://chiselbase.com/pricing/)

Windows · x64 or ARM64 · Installer (.exe)
