For agencies and product teams

All your projects on one license

Dev, staging and prod included: each one is another project on the same license. PRO adds a visual schema editor, user and role management, import/export and entity history to the FireCMS you host.

/

€99 + VAT / month for your first project, €49 for each additional

  • Unlimited seats.
  • 30 days free in production, no card.

The admin screens every app ends up needing, already built

Schema editing, users and roles, bulk import and change history run inside your own deployment, so your time goes to the parts that are specific to each project.

Visual schema editor

Create and change collections and fields in a visual editor. FireCMS can infer a schema from the data already in a collection, and changes apply without a code deploy.

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)

User and role management

Add users, create roles and set what each role can read, create, edit or delete in every collection, from a screen in the app instead of in code.

Roles
RoleIs adminDefault permissions
Admin
check
  • Create
  • Read
  • Update
  • Delete
delete
Editor
  • Create
  • Read
  • Update
  • Delete
delete
Viewer
  • Read

Import and export

Import CSV, JSON or Excel files and map each column to a property, including references, arrays and nested maps. Export any collection to CSV or JSON.

sku

keyboard_arrow_down
Column in fileMap to property

sku


string

chevron_right
short_text
Sku
edit

product_name


string

chevron_right
short_text
Name
edit

price_eur


number

chevron_right
numbers
Price
edit

in_stock


boolean

chevron_right
flag
Available
edit

category_ref


string

chevron_right
link
Category
edit

tags


array - string

chevron_right
repeat
Tags
edit

added_on


date

chevron_right
schedule
Created on
edit

Entity history

Every change made in FireCMS is recorded with who made it and what changed, and any earlier version of a document can be restored.

History

26/08/2026, 14:12:03

Marta RuizMarta Ruiz
historykeyboard_tab

price

129

115

available

false

true

Runs inside your Next.js app

Mount the CMS on a route of your Next.js project, next to your own pages. It is a React component tree, so it builds with your code and uses your dependencies.

  • Starter template for the App Router
  • Collections and configuration live in your Git repository
  • Reuse the same components in the CMS and on your site
app/cms/App.tsx
"use client";

import { FireCMS, Scaffold } from "@firecms/core";
import { useCollectionEditorPlugin } from "@firecms/collection_editor";

export function CMS() {
    const collectionEditor = useCollectionEditorPlugin({ collectionConfigController });

    return <FireCMS
        // Your license key from app.firecms.co
        apiKey={process.env.NEXT_PUBLIC_FIRECMS_API_KEY}
        plugins={[collectionEditor]}
        navigationController={navigationController}
        authController={authController}
        dataSourceDelegate={firestoreDelegate}>
        {() => <Scaffold>…</Scaffold>}
    </FireCMS>;
}

Your data, your servers

No database credentials, no content: FireCMS talks to Firebase directly from the browser. The only request to us is the license check, documented here.

The optional AI features (autofill, DataTalk, AI collection generation) are the exception: they send the fields and prompts you use them on to our API.

0
Database credentials sent to us
0
Documents or schemas in the license check
Direct
From the browser to Firebase

Try PRO on your next project

Free for 30 days in production, no card. If the trial ends without a license, only the PRO screens pause: sign-in, data and collections keep working.