v1.4.9 — Firestore Enterprise databases, and your recent queries
Enterprise edition databases have a code editor instead of the query builder, and Firexport didn't show up there at all. It now works in both Native mode and MongoDB compatibility mode.
Export from the query editor. Export sits next to the results title, as it does in the query builder. Advanced exports every row the run returned, with exact values, even when the console's table shows only part of them. MongoDB compatibility values follow Compass: Extended JSON in JSON, readable values in CSV.
Build Enterprise queries with a form. Query builder next to Save opens a form. Pick a collection and stack stages in any order: Where, Sort, Limit, Select fields, Summarize, Distinct, Unnest and more. The generated code is always in view. Insert into editor puts it in the editor (one ⌘Z undoes it), and you run it with the console's Run button. Free on every plan.
Recent queries. The last 50 queries you ran in the query builder are kept on this device. Open Recent queries next to Run to switch back to one without reloading the page, and star the ones you reuse to keep them on top. The same list opens from the clock in the toolbar popup. Nothing is sent anywhere.
Export turns off when there's nothing to export: before a query runs, after it fails, or when it returns no rows. Hover it to see why.
v1.4.8 — CSV columns stay put when documents have different fields
When documents in a collection had different fields, CSV wrote each row by position under the first row's header, so values slid into the wrong columns — in every plan. The query builder draws columns page by page, so one field that first appears on page 2 was enough.
-
CSV columns are the union of all rows. Every value lands under its own field name, and a field a document doesn't have is an empty cell. Files where every row has the same fields come out byte-for-byte the same.
-
Field names keep their spaces.
suspended(with a trailing space) was written assuspended, and Advanced export couldn't restore that column. -
Two settings, both off by default. Flatten maps & arrays splits CSV cells into columns like
address.cityandtags.0. Include document path adds aDocument Pathcolumn (users/u1/orders/o9). Find them under Settings in the Export menu, or behind the gear in the toolbar popup. -
Progress and Cancel. A card shows rows and pages as the export runs, and Cancel stops it without saving a file. Over 10,000 rows you pick where to save first, so a large export no longer has to fit in the tab's memory.
-
On the document panel view, a copy icon in each document's header copies it as JSON, and Go to document in the collection header opens any ID you paste — even one the console hasn't listed yet.
-
A new toolbar popup: how to start, your plan, and license activation without opening the console.
v1.4.7 — See which exported cells differ from Firestore
On the free plan, some values can't leave the console exactly as Firestore stores them. Until now you found out only after opening the file.
-
A badge after export. When your file differs from Firestore, N cells differ appears next to Export.
-
Hover it to see what changed, with one real cell from your file next to the Firestore value: dates and locations saved as display text, document paths shortened, text that lost its line breaks or tabs.
-
Hide until next export clears it. Nothing appears when the file matches.
v1.4.6 — Document IDs export exactly as they appear
Firexport read a Document ID the way it reads a field value, so IDs that looked like numbers or booleans, or that contained spaces, came out changed — in every plan.
-
Document IDs export exactly as they are.
000111no longer becomes111,1e5no longer becomes100000, and spaces inside an ID are kept. Different documents no longer collapse into one ID (0,00,-0). In JSON the ID is always a string. -
Advanced export keeps documents whose ID contains a line break. They were missing from the cache and fell back to basic values.
-
Geopoints on the equator or the prime meridian keep both coordinates in advanced export.
(0, 0)came out as{}, and(37.5, 0)lost its longitude. -
New: the popup links to the feedback board, the roadmap and this changelog.
v1.4.5 — Advanced export stops losing rows when the query changes
Advanced export emptied its document cache every time the console URL changed — editing the query, changing the limit — and the console never re-sends a document it has already sent. Those rows silently fell back to basic values and landed in the error txt telling you to refresh, which never helped.
The cache is now keyed by project, database and document path, so a URL change no longer touches it. Large collections also rebuild faster.
v1.4.4 — The "rows may be missing" check now works in every language
The "rows may be missing" warning only understood the paginator label used by Korean and Japanese consoles (1 - 3 / 3). Consoles printing 1 - 3 of 3 — English, Spanish, Portuguese, German, French, Chinese — never saw it fire, so an export that skipped pages looked like a clean one. It now reads the total in any of them.
v1.4.3 — Fields a document doesn't have no longer export as 0
Documents in one Firestore collection can carry different fields, and the console leaves those cells blank. Firexport wrote 0 into them — CSV and JSON, both plans — so a real 0 was indistinguishable from a field the document never had. Blank cells now export as empty.
-
Documents whose fields are all empty strings are no longer dropped from the file.
-
A field named
toStringorconstructorno longer exports a JavaScript function. -
In JSON an absent field is written as
"", not omitted.
v1.4.2 — A hint where the Export button isn't, and a pricing notice
-
New: a one-time hint on the panel view, pointing at the query builder where Export lives.
-
Fixed: the in-page UI could mount on the wrong screen while you navigated the console.
Pricing is changing. The upgrade dialog now shows what's coming:
-
1 month: $1 → $4.9
-
1 year: $10 → discontinued
-
Lifetime: $19.9 (3 activations) → $19.9 (1 activation)
Nothing has changed yet and existing licenses are not affected. The date will be announced here.
v1.4.1 — Exports stop truncating, and CSV opens correctly in Excel
A reliability pass. Every item below wrote a wrong file or lost an export without showing an error.
-
Exports no longer stop early. A slow next page was being read as the end of the results.
-
A slow paginator no longer discards a finished export — "fail to export" after the whole collection had already been read.
-
New: you get warned when rows are missing —
Exported 120 of 300 rows. Some pages may have been skipped. -
CSV opens correctly in Excel on Windows (UTF-8 BOM). JSON is unchanged — a BOM breaks JSON parsers.
-
Advanced export restores far more rows. Values like
v1[beta], collection paths containing "documents", and documents with no fields no longer knock a whole batch out of the cache. -
Your license is no longer deleted by an ambiguous validation response. A rate limit could drop a paying user to basic and cost an activation.
-
The Export button survives an export — no more one export per page load.
-
The button matches the console's font again, and Firexport no longer interferes with the console's own requests.
v1.4.0 — Rebuilt on the current toolchain
-
Exporting an empty collection as CSV writes an empty file instead of failing.
-
A cell with no header no longer becomes a column named "undefined".
-
Advanced export understands Firestore
bytesvalues. -
The Chrome Web Store listing is localized in Korean.
-
Internals rebuilt on React 19 and WXT 0.21, with the export path under automated test.