A Firestore CMSthat builds itself

Point FireCMS at a Cloud Firestore collection and it reads the documents already there, infers the field types, and generates the tables, forms and validation your team needs to edit them.

short_text
Name
Text fieldstring
drag_handle
upload_file
Image
File uploadstring
drag_handle
list
Category
Select/enumstring
drag_handle
flag
Available
Switchboolean
drag_handle
functions
do_not_disturb_on
price
This property is defined as a property builder in code
drag_handle
list
Currency
Select/enumstring
drag_handle
flag
Public
Switchboolean
drag_handle
short_text
Brand
Text fieldstring
drag_handle
format_quote
Description
Markdownstring
drag_handle
http
Amazon link
Urlstring
drag_handle
ballot
Publisher
Groupmap
drag_handle
short_text
Name
Text fieldstring
drag_handle
short_text
External id
Text fieldstring
drag_handle
drive_folder_upload
Images
Multiple file uploadarray
drag_handle
add_link
Related products
Multiple referencesarray
drag_handle
list_alt
Available locales
Multi select (enum)array
drag_handle
short_text
Uppercase Name
Text fieldstring
drag_handle
repeat
Tags
Repeat/listarray
drag_handle
schedule
Added on
Date/timedate
drag_handle
functions
do_not_disturb_on
spanish_title
This field is defined as an additional field in code
drag_handle
ballot
Metadata
Key-valuemap
drag_handle
short_text
Text field

Simple short text

Hide from collection
Read only
Select a property widget
short_text

Simple short text

subject

Text with multiple lines

format_quote

Text with advanced markdown syntax

http

Text with URL validation

mail

Text with email validation

link

The value refers to a different collection (it is saved as a string)

flag

Boolean true or false field (or yes or no, 0 or 1...)

list

Select one text value from within an enumeration

list_alt

Select multiple text values from within an enumeration

format_list_numbered

Select a number value from within an enumeration

format_list_numbered

Select multiple number values from within an enumeration

person

Select a user from the user management system. Store the user ID.

numbers

Simple number field with validation

upload_file

Input for uploading single files

drive_folder_upload

Input for uploading multiple files

link

The value refers to a different collection (it is saved as a reference)

add_link

Multiple values that refer to a different collection

schedule

A date time select field

ballot

Group of multiple fields

ballot

Flexible field that allows the user to add multiple key-value pairs

view_stream

A complex field that allows the user to compose different fields together, with a key/value format

repeat

A field that gets repeated multiple times (e.g. multiple text fields)

The visual schema editor — field types inferred from existing documents, then refined.

What is a Firestore CMS?

A Firestore CMS is a content management layer that edits Cloud Firestore documents in place. Your collections stay where they are; the CMS supplies the thing Firestore deliberately leaves out — a structured, permissioned, human-friendly way to change the data.

The hard part is not rendering a table. It is mapping Firestore's document model — nested maps, arrays, references, subcollections, timestamps — onto controls a non-developer can use without corrupting anything.

Your Firestore model, mapped

Every Firestore type gets a control that makes sense for it — including the two that usually break admin tools, references and subcollections.

Firestore types and their generated controls
FirestoreIn the CMS
CollectionA table view with filtering, sorting and inline editing
SubcollectionNested, editable from inside the parent document
DocumentReferenceA searchable picker over the referenced collection
MapA grouped set of typed subfields
ArrayReorderable repeatable entries of any field type
TimestampDate and time pickers
String (long)Markdown or a Notion-style rich text editor
Storage pathAn upload field writing to Firebase Storage
A Firestore Users collection in FireCMS: referenced product documents resolved to titles and thumbnails, Storage image previews, and a custom row action
References resolved to the real documents, not pasted paths — and Storage files previewed in the row.
A blog entry open in the FireCMS side panel: a header image upload field and a block content editor on the left, with a live rendered preview of the post on the right
A document open in the side panel, with a live preview of how it will render.

Edit without leaving the list

Documents open in a side panel over the collection, so editors keep their place. Block content, file uploads and a live preview of the result all sit in the same view.

Real-time
Firestore listeners keep the views live, so two editors on one collection see each other's changes.
Validation
Required, min/max and regex rules are enforced in the form, before anything reaches Firestore.

More than a data browser

Schema inference
Existing documents are sampled to guess field types, so a legacy collection is usable immediately — then refined visually or in TypeScript.
Import and export
Bulk-load a collection or pull it back out, instead of writing another one-off migration script.
Permissions
Roles and per-collection create / edit / delete rules on top of Firebase Auth, resolvable per user or per document.
Text search
Firestore has no native full-text search — plug in an external index and search from the same table view.

Firestore CMS FAQ

What is a Firestore CMS?
A Firestore CMS is an editing interface built directly on Cloud Firestore. Instead of copying content into a separate database, it maps your existing collections and documents to typed forms, so your app keeps querying the same Firestore data while your team edits it through a proper UI.
Do I have to restructure my Firestore data?
No. FireCMS imposes no data structure restrictions. It reads the documents already in a collection, infers the field types, and generates the views from that. Collections that were designed long before you adopted a CMS still work.
Does it handle subcollections?
Yes. Subcollections are first-class: you can open a document and edit its subcollections inline, nested as deeply as your model goes.
How are Firestore references handled?
Reference fields render as searchable pickers over the target collection, so editors choose a related document instead of pasting a document path. Arrays of references work the same way.
Can I filter, sort and search my Firestore collections?
Yes — filtering and sorting map onto Firestore queries, and full-text search can be plugged in through an external index when Firestore's native querying is not enough.
Can I import and export Firestore data?
Yes. FireCMS supports importing data into a collection and exporting it back out, which covers bulk edits and migrations without one-off scripts.
Is the data still mine?
Entirely. The content never leaves your Firestore instance — FireCMS reads and writes it in place under your own security rules, so there is nothing to migrate if you stop using it.