FireLens is a fast, modern, and open-source cross-platform Desktop GUI client for Google Cloud Firestore. Built with Flutter, FireLens provides database administrators, developers, and DevOps engineers with an intuitive desktop environment to explore, query, edit, and manage Firestore collections and documents effortlessly.
FireLens connects directly to Google Cloud APIs via authenticated HTTP clients, bypassing emulator-only limits of standard Flutter desktop SDKs:
- 🔐 Authentication (
googleapis_auth):- Uses
googleapis_authto create authenticated HTTP clients from Service Account Key JSON files (clientViaServiceAccount) and local GCP Application Default Credentials (ADC).
- Uses
- 🗂️ Project & Database Discovery (
googleapis):- Leverages
googleapis(Resource Manager API) to list accessible GCP projects and queries the Firestore Admin REST API for database instances (including(default)and named databases).
- Leverages
- 📡 Firestore CRUD & Queries (
http+ Firestore REST API v1):- List Collections: Invokes
documents:listCollectionIdsAPI endpoint. - Execute Queries: Dispatches
StructuredQuerypayloads viadocuments.runQueryfor compoundWHEREfilters,ORDER BYsorting, and pagination limits. - Add & Edit Documents: Uses
documents.createDocumentanddocuments.patchwith field masks. - Delete Documents & Fields: Uses
documents.deleteanddocuments.patchtransform operations.
- List Collections: Invokes
- ⚡ State Management (
flutter_riverpod):- Manages reactive state across Auth mode, GCP Projects, Databases, Collections, Document selection, and Queries.
- 🖥️ Native Desktop Windowing (
window_manager&file_picker):window_manager: Native Windows frameless titlebar, minimum dimensions, and window controls.file_picker: Native OS file picker dialogs for loading.jsonservice account key files.
- Application Default Credentials (ADC): Automatically connects using your local
gcloud auth application-default logincredentials. - Service Account Key (.json): Easily load service account JSON key files to manage projects with specific IAM permissions.
- Multi-Project Support: Seamlessly switch between GCP projects.
- Multi-Database Management: Full support for
(default)and named Firestore databases within your GCP projects. - Collection Tree: Top-to-bottom organized explorer for browsing collections and sub-collections.
- Visual Filter Builder: Build complex compound
WHEREfilter clauses (==,!=,>,>=,<,<=,array-contains,in,not-in) joined automatically withAND. - Sorting & Pagination: Configure
ORDER BYsorting (Ascending / Descending) and custom page size limits. - Interactive Query Guide: Built-in snippet library with
+ Append(merge with existing filters) andReplacequery controls.
- Interactive Tree View:
- Visual badges for native Firestore data types (
String,Integer,Double,Boolean,Timestamp,GeoPoint,Bytes,Reference,Map,Array,Null). - Interactive
true/falseselector for Boolean fields. - Date & Time picker for ISO 8601 UTC and local timezone timestamps.
- Visual badges for native Firestore data types (
- Raw JSON Code Editor:
- Syntax-highlighted JSON editor with pre-save syntax validation.
- Copy JSON & Paste JSON clipboard utilities.
- Read-Only Safety Guard: Interactive
🔒 Read-Only/⚡ Edit Modebadge to protect production databases against accidental edits.
Download the prebuilt standalone Windows desktop app directly without needing Flutter installed:
👉 Download Latest Windows Release (FireLens-Windows-x64.zip)
- Download and extract the
.zipfile. - Double-click
firelens.exeto launch FireLens!
Note
Platform Testing Note: While FireLens is architected for cross-platform support across desktop environments, it has currently been primary-tested and verified on Windows. Contributions and testing for macOS and Linux are welcome!
- Flutter SDK (v3.0 or higher)
- 🪟 Windows: Visual Studio Build Tools with the "Desktop development with C++" workload installed (Full Visual Studio IDE is NOT required; lightweight Build Tools is sufficient).
- 🍎 macOS: Xcode command-line tools installed (
xcode-select --install) & CocoaPods. - 🐧 Linux: C++ toolchain and GTK headers:
sudo apt-get install clang cmake ninja-build pkg-config libgtk-3-dev
-
Clone the Repository:
git clone https://github.com/prakashkrishna/firelens.git cd firelens -
Install Dependencies:
flutter pub get
-
Run in Debug Mode:
# Windows flutter run -d windows # macOS flutter run -d macos # Linux flutter run -d linux
-
Build Production Release Binary:
# Windows (Outputs to build/windows/x64/runner/Release/) flutter build windows --release # macOS (Outputs to build/macos/Build/Products/Release/) flutter build macos --release # Linux (Outputs to build/linux/x64/release/bundle/) flutter build linux --release
Run static analysis and automated unit tests:
# Static analysis
flutter analyze
# Unit tests
flutter testThis project is licensed under the Non-Commercial License — see the LICENSE file for details. Free for personal, educational, and internal developer use; commercial resale or paid distribution is strictly prohibited.