[ANN] Firebird Web Client — open-source, browser-based IDE for Firebird databases

63 views
Skip to first unread message

Obrt ASCENT vl. Zlatan Omerović

unread,
Apr 15, 2026, 7:38:23 AMApr 15
to firebird-general
Hello everyone,

I'd like to announce the first public release of Firebird Web Client — a free, open-source, web-based database management tool built specifically for Firebird.

There has never been a modern, browser-based IDE purpose-built for Firebird. The existing options are either desktop-only (FlameRobin, IBExpert), generic multi-database tools with limited Firebird support (DBeaver, Beekeeper Studio), or legacy PHP-based admin panels (FirebirdWebAdmin). This project aims to fill that gap.

The tool was built from scratch with Firebird's specific features and quirks in mind — including generators/sequences, domains, BOOLEAN type (Firebird 3+), ARRAY columns, databases.conf alias discovery, and proper handling of node-firebird wire protocol limitations.

What it does:
- Browse and manage all database objects: tables, views, stored procedures, triggers, generators, domains
- Inline cell editing with type-aware inputs (including BOOLEAN checkboxes)
- SQL editor with Firebird-specific syntax highlighting (250+ keywords, functions, and types)
- Server-side filtering with 11 comparison operators and wildcard global search
- Export to CSV, JSON, SQL (with optional DDL), XML, and XLSX
- Multi-database support — connect without specifying a database, discover available databases from databases.conf and filesystem, switch between databases without reconnecting
- Full DDL inspection for all object types
- Schema editing — add, alter, drop columns
- Query history with search and re-run
- Pagination with configurable page size and infinite scroll option
- Dark and light themes with 10 accent color options
- Docker Compose deployment ready
- CI/CD pipeline with automatic Docker Hub publishing

Technical stack:
- Backend: Node.js, Fastify 5, TypeScript, node-firebird (wire protocol)
- Frontend: React 19, TypeScript (strict mode), Tailwind CSS v4, TanStack Table/Query, CodeMirror 6
- Database driver: node-firebird 1.1.8
- Tested with: Firebird 3.0, 4.0, 5.0 (including Docker containers)

Known Firebird-specific considerations:
- MON$ monitoring tables are not queried (crashes the node-firebird wire protocol)
- BLOB fields are handled via CAST to VARCHAR where possible
- BOOLEAN parameters are inlined as TRUE/FALSE literals rather than parameterized (node-firebird converts boolean params to string "0"/"1" which Firebird rejects)
- ARRAY columns are detected via RDB$FIELD_DIMENSIONS and expanded into individual element columns
- Query serialization per session prevents concurrent access deadlocks in node-firebird

Links:
GitHub: https://github.com/ZlatanOmerovic/firebird-web-client
Demo video: https://youtu.be/uGv_Qdw2vvY
Docker Hub: https://hub.docker.com/r/zlomerovic/firebird-web-client
License: MIT

This is version 0.0.1-beta — emphasis on beta. The groundwork and heavy lifting are done, but it still needs a lot of testing across different Firebird versions, edge cases, and real-world usage scenarios. I haven't had the time to test every possible aspect — backwards compatibility with older Firebird versions (2.5, 3.0) in particular needs more attention, and there are certainly rough edges to smooth out.

That said, the foundation is solid and the core features are functional. I'm releasing it early to get feedback from the people who know Firebird best.

Contributions, bug reports, and testing on different setups are very welcome. If you run into issues or have suggestions, please open an issue on GitHub.

Regards,
Zlatan Omerovic
Ascent Systemes

Yaroslav Witol

unread,
Apr 17, 2026, 4:10:28 AMApr 17
to firebird...@googlegroups.com
Hello.
Thanks for your work.
Is there a comparison of database structures with script generation to bring them into line?
This feature is available in IBExpert and it is the one I use the most when making changes between the test and production databases.

ср, 15 квіт. 2026 р. о 14:38 Obrt ASCENT vl. Zlatan Omerović <asce...@gmail.com> пише:
--
Support the ongoing development of Firebird! Consider donating to the Firebird Foundation and help ensure its future. Every contribution makes a difference. Learn more and donate here:
https://www.firebirdsql.org/donate
---
You received this message because you are subscribed to the Google Groups "firebird-general" group.
To unsubscribe from this group and stop receiving emails from it, send an email to firebird-gener...@googlegroups.com.
To view this discussion, visit https://groups.google.com/d/msgid/firebird-general/e1eb7794-5679-4996-85c2-43e67108ae62n%40googlegroups.com.

Zlatan Omerović

unread,
May 12, 2026, 10:07:30 PM (13 days ago) May 12
to firebird-general
Hello everyone,

A brief update after a quiet month on this list — for good reason.

The project is moving forward with the backing of the Firebird Foundation. What began as the "firebird-web-client" — a proof of concept for what a modern Firebird IDE could look like — is being rebuilt as a serious, long-term tool: a desktop client and a web client sharing one unified design, under a new name that does not conflict with the Firebird trademark.

This work is happening with Alexey Kovyazin's direct involvement and contributions from others in the community. The next announcement, with the new name, the rebrand, and the first preview, will land in early-to-mid June.

Thank you to everyone who tested the MVP and sent feedback. It shaped what's coming.

Igor Tolstov

unread,
May 13, 2026, 9:03:15 PM (12 days ago) May 13
to firebird-general
  Hi,

  I tried to use firebird-web-client with Firebird 5, but it looks like the backend currently requires the Firebird server to allow WireCrypt = Disabled/Enabled.

  My Firebird server uses WireCrypt = Required, and the connection fails with:

  "Incompatible wire encryption levels requested on client and server"

  From what I can see, the backend uses node-firebird, which sends WireCrypt = Disabled and does not seem to support wire protocol encryption yet.

  Unfortunately, I cannot lower WireCrypt on my Firebird server just for this tool, so I cannot use firebird-web-client in this environment.

  It would be very useful if the project supported Firebird servers with WireCrypt = Required.

  Thanks.


среда, 15 апреля 2026 г. в 08:38:23 UTC-3, Zlatan Omerović:

Zlatan Omerović

unread,
May 14, 2026, 6:44:01 AM (12 days ago) May 14
to firebird-general
Hello,

Thank you for your trying firebird-web-client and your feedback.

All this will be addressed and resolved in the next release scheduled for June, 2026.
Reply all
Reply to author
Forward
0 new messages