A powerful, free, and open-source desktop application for managing Firebase - Firestore, Storage, and Authentication
Keywords: Firebase GUI, Firebase Client, Firebase Admin, Firebase Desktop, Firestore GUI, Firebase Storage GUI, Firebase Auth GUI, Firebase Manager, Firebase Viewer, Firebase Browser, Firebase Editor, NoSQL GUI, Document Database Client, Firebase Desktop App, Firefoo Alternative, Free Firebase Client, Firestudio
Firestudio is a free and open-source desktop application for managing your complete Firebase backend. Built with Electron, React, and Material-UI, it provides a powerful and intuitive interface for:
- 📊 Firestore: Browse, edit, query, and manage collections & documents
- ☁️ Storage: Upload, download, browse, and manage files in Firebase Storage
- 👥 Authentication: View, create, and manage Firebase Auth users
- 🔍 Querying: Use simple filters or JavaScript for advanced queries
- 📥 Import/Export: Bulk operations with JSON files
- 🎨 Themes: Dark/Light mode with customizable settings
Perfect for Firebase developers, backend engineers, database administrators, and anyone working with Google Firebase.
- Service Account: Connect using Firebase service account JSON files for full admin access
- Google Sign-In: OAuth-based authentication using your Google account
| Feature | Description |
|---|---|
| Table View | Spreadsheet-like view with resizable columns and inline editing |
| Tree View | Hierarchical view with Key/Value/Type columns |
| JSON View | Raw JSON editor with save support |
| Filtering | Filter documents by field values with multiple conditions |
| Sorting | Sort by any field, ascending or descending |
| JS Query | Write JavaScript queries using Firebase Admin SDK syntax |
- 📂 Browse Files & Folders: Navigate through your Storage bucket
- ⬆️ Upload Files: Drag & drop or select files to upload
- ⬇️ Download Files: Save files to your local machine
- 🔗 Get Signed URLs: Generate shareable URLs with custom expiration
- 🗑️ Delete Files: Remove files with confirmation
- 📁 Create Folders: Organize your storage structure
- 🎨 File Type Icons: Visual icons for images, videos, documents, etc.
- 📋 User List: View all Firebase Auth users with avatars and status
- ➕ Create Users: Add new users with email/password/display name
- 🔍 Search Users: Filter by email, display name, UID, or phone number
- ✅ Enable/Disable: Toggle user account status
- 🗑️ Delete Users: Remove users with confirmation
- 📄 User Details: View full user info including providers and metadata
// Example JS Query
async function run() {
const query = await db.collection("users")
.where("status", "==", "active")
.where("age", ">=", 18)
.orderBy("createdAt", "desc")
.limit(100)
.get();
return query;
}- Themes: Dark mode, Light mode, or Auto (follows system)
- Settings: Configure default document limit, view type, and font size
- Tabbed Interface: Open multiple collections in separate tabs
- Multi-Project: Connect to multiple Firebase projects simultaneously
- Node.js 18 or higher
- npm or yarn
- A Firebase project
# Clone the repository
git clone https://github.com/flowdeskApp/firestudio.git
cd firestudio
# Install dependencies
npm install
# Start the application
npm run dev- Go to Firebase Console
- Select your project → ⚙️ Project Settings → Service Accounts
- Click "Generate new private key"
- Save the JSON file securely
- In Firestudio, click "Add Project" → Service Account tab
- Browse and select your JSON file
See detailed OAuth setup guide in the Google Sign-In Setup section.
| Technology | Purpose |
|---|---|
| Electron | Desktop application framework |
| React 18 | User interface |
| Material-UI 5 | Component library |
| Firebase Admin SDK | Firebase operations |
| Vite | Build tool |
| Command | Description |
|---|---|
npm run dev |
Start the full Electron app with hot reload |
npm run dev:vite |
Start browser-only mode (limited features) |
npm run build |
Build the React app for production |
| Command | Description |
|---|---|
npm run build:win |
Build for Windows (.exe installer + portable) |
npm run build:mac |
Build for macOS (.dmg + .zip) |
npm run build:linux |
Build for Linux (.AppImage + .deb + .tar.gz) |
npm run build:all |
Build for all platforms |
| Command | Description |
|---|---|
npm run release |
Build and publish to GitHub Releases (all platforms) |
npm run release:win |
Build and publish Windows version |
npm run release:mac |
Build and publish macOS version |
npm run release:linux |
Build and publish Linux version |
| Command | Description |
|---|---|
npm run generate-icon |
Regenerate app icons from SVG |
# Windows
npm run build:win
# macOS
npm run build:mac
# Linux
npm run build:linux
# All platforms (requires cross-compilation setup)
npm run build:allOutput files are saved to the release/ directory:
| Platform | Files Generated |
|---|---|
| Windows | Firestudio-1.0.0-Windows-x64.exe (installer), Firestudio-1.0.0-Windows-x64-portable.exe |
| macOS | Firestudio-1.0.0-macOS-x64.dmg, Firestudio-1.0.0-macOS-arm64.dmg (Apple Silicon) |
| Linux | Firestudio-1.0.0-Linux-x64.AppImage, Firestudio-1.0.0-Linux-x64.deb |
-
Set up GitHub Token:
# Set environment variable export GH_TOKEN=your_github_personal_access_token
-
Update version in
package.json:"version": "1.1.0"
-
Create a Git tag:
git tag v1.1.0 git push origin v1.1.0
-
Build and publish:
npm run release
- Windows → macOS: Not possible without a Mac (code signing requirements)
- Windows → Linux: Works with WSL or Docker
- macOS → Windows: Works with Wine
- macOS → Linux: Works natively
- Linux → Windows: Works with Wine
- Linux → macOS: Not possible without a Mac
For cross-platform releases, consider using GitHub Actions for CI/CD
See SECURITY.md for security policies and best practices.
Contributions are welcome! Here's how you can help:
- 🍴 Fork the repository
- 🌿 Create a feature branch (
git checkout -b feature/amazing-feature) - 💾 Commit your changes (
git commit -m 'Add amazing feature') - 📤 Push to the branch (
git push origin feature/amazing-feature) - 🔃 Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Inspired by Firefoo
- Built with Electron
- UI powered by Material-UI
- Firebase SDK by Google
This is an independent open-source project and is not affiliated with, endorsed by, or connected to Firefoo or Firebase/Google in any way. "Firebase" and "Firestore" are trademarks of Google LLC.
Need help or have questions?
- Email: contact@flowdesk.tech
- Help Menu: In the app, go to Help > Contact Support
Made with ❤️ by Flowdesk
A free, powerful Firebase GUI for Firestore, Storage, and Authentication


