Freedom251 › Embedded Databases
EJDB2

What EJDB2 is
EJDB2 is an embeddable JSON database engine implemented as a C library. It stores data in a single file using the IOWOW persistent key/value storage engine. Its JQL query language supports filtering, data modification, collection joins, projections, sorting, indexes, and skip, limit, and count options. The project also lists online backup support.
For network access, EJDB2 includes the standalone jbs server, which provides HTTP REST and WebSocket endpoints. The server supports TLS 1.2, can require an access token in the X-Access-Token HTTP header, and offers a write-ahead-log option for data durability. EJDB2 has a C11 API and is listed for macOS, iOS, Linux, and Windows, as well as self-hosted use. It is free and licensed under MIT. The repository links to language bindings and tags the project with C, Dart, Flutter, Java, Node.js, React Native, and Swift; after a 2025 cleanup, only Java and Node.js bindings are maintained. The README says the issues tracker is disabled and welcomes contributions and pull requests.
Who it suits
EJDB2 suits developers looking to embed a JSON database in an application or provide network access through its standalone server. Teams using language bindings should note that only Java and Node.js bindings are maintained.
What it does well
- Stores data in a single file.
- JQL supports joins, indexes, and projections.
- jbs provides HTTP REST and WebSocket endpoints.
- Server supports TLS 1.2 and access tokens.
- Free under the MIT License.
What to know first
- Only Java and Node.js bindings are maintained.
- The issues tracker is disabled.
Plans
| Plan | Billed and limits | Price |
|---|---|---|
| EJDB2 | MIT-licensed open-source database engine | Free |
As github.com lists them, read 8 Oct 2026. The maker's own page has the final word.
Getting started
- Open the EJDB2 GitHub repository.
- Choose a supported platform: macOS, iOS, Linux, or Windows.
- Use the C11 API or a maintained Java or Node.js binding.
- For network access, use the standalone jbs server and its REST or WebSocket endpoints.
- If requiring authentication, configure an access token for the X-Access-Token header.
EJDB2 is a free, MIT-licensed document database delivered as an embeddable C library, with an optional standalone server for network clients. It is best suited to developers shipping self-contained applications that need JSON storage and richer-than-basic document queries. The central choice is whether its compact deployment and JQL outweigh the narrower set of maintained language bindings.
Overview
EJDB2 stores a document database in a single file, using the IOWOW persistent key/value engine underneath. That architecture keeps storage close to the application and avoids a separate database service, which is practical for embedded products and self-hosted deployments. It also means you own deployment, upgrades, and operational decisions rather than receiving a managed service.
The C11 API makes native integration the primary path. EJDB2 is published under the MIT License, so it can be used in proprietary as well as open-source software without a paid edition.
Key features
JQL is an XPath-like query language for JSON documents. It handles filtering and data modification, then adds collection joins, projections, sorting, indexes, and skip, limit, and count options. That is a broad set for document-oriented application work: joins help when related data is split across collections, while projections and pagination controls can keep returned results focused. Teams whose tooling and skills are built around SQL will need to adapt to a different query interface.
The standalone jbs server exposes both HTTP REST and WebSocket endpoints, allowing clients to use EJDB2 over a network instead of only through an in-process library. TLS 1.2 protects those connections, and the server can require a token sent in the X-Access-Token HTTP header. A write-ahead-log option is available when durability matters, and online backup support helps with operational protection of data.
Bindings are associated with C, Dart, Flutter, Java, Node.js, React Native, and Swift, but the project’s post-2025 cleanup leaves only the Java and Node.js bindings maintained. That distinction matters: a tagged binding may exist for another ecosystem without receiving ongoing maintenance. The disabled issues tracker and contribution model based on pull requests also make community support less structured than a product with an active issue queue.
Pricing
| Plan | Price | What you get |
|---|---|---|
| EJDB2 | free | MIT-licensed open-source database engine |
There is one free, open-source plan, with no paid tier or trial period. It suits individual developers, commercial teams, and projects that can operate the library themselves and do not need hosted-service features or a vendor subscription.
Platforms
EJDB2 supports macOS, iOS, Linux, and Windows, and is offered through API and self-hosted deployments. The platform range covers desktop, server, and Apple mobile targets, while the maintained Java and Node.js bindings are the safest choices for teams seeking an actively supported language integration.
Who it's for
Choose EJDB2 for an application that benefits from a single-file JSON store, native C11 integration, and optional REST or WebSocket access without introducing a separate database server. Its joins, indexes, projections, and query controls suit document applications that have outgrown simple key-value access.
It is a weaker fit for organizations that require a managed database, broad actively maintained SDK coverage, or a conventional issue-tracking support channel. SQL-first teams should also account for the learning and migration cost of JQL.
Pros and cons
Pros
- Embeddable single-file design: packages storage with the application and supports self-hosted delivery without a separate service.
- Capable document queries: JQL combines filtering, updates, joins, projections, sorting, indexes, and pagination or counting options.
- Optional network layer: REST and WebSocket endpoints, TLS 1.2, token authentication, write-ahead logging, and online backups extend the engine beyond in-process use.
- Permissive cost and licensing: the MIT license and free plan allow use without subscription fees.
Cons
- Limited maintained bindings: only Java and Node.js bindings remain maintained after the 2025 cleanup, raising upkeep concerns for other language ecosystems.
- Less conventional support: the issues tracker is disabled, so teams cannot rely on a normal public issue queue for support or bug coordination.
- Self-managed operations: the embedded approach does not provide a managed service; deployment, durability configuration, and backups remain your responsibility.
- Non-SQL query model: JQL may be a poor match for teams standardized on SQL tooling and practices.
Alternatives
Browse Embedded Databases for a wider field of embeddable options.
Pick Chroma instead if you want a freemium database available across web and mobile platforms, with an Apache 2.0 open-source codebase that also powers Chroma Cloud.
Choose LadybugDB for a free MIT-licensed option offering source code and pre-compiled binaries across a similarly broad platform set.
RxDB is the better alternative when a freemium JavaScript-oriented database with replication, realtime sync, default storages, and a capped free plan fits your application.
Choose SQLite when you want a free embedded SQL engine with no license required.
bbolt is a free open-source Go library and command-line utility for projects that prefer that ecosystem.
Consider ObjectBox if you need a freemium database with a free core and a separate sync offering, plus a free trial.
PouchDB is a free, open-source alternative spanning web and mobile platforms.
Choose Qdrant when a freemium vector-database service with a free cloud tier is the relevant model.
Verdict
EJDB2 is a strong choice for developers who want an MIT-licensed, single-file JSON engine embedded in a native application, with serious JQL queries and an optional secured network server. Look elsewhere if you need a managed offering, broad maintained bindings beyond Java and Node.js, or a conventional issue tracker and support workflow.
Verdict
EJDB2 combines an embeddable JSON engine with query features and an optional network server. Its current binding maintenance and disabled issues tracker are important considerations for developers choosing it.
Questions
What does EJDB2 cost?
The listed EJDB2 plan is free. It is open source under the MIT License.
Which platforms does EJDB2 support?
The project lists macOS, iOS, Linux, and Windows, as well as self-hosted use.
What query features does JQL provide?
JQL supports filtering, data modification, collection joins, projections, sorting, indexes, and skip, limit, and count options.
Which bindings are maintained?
After a 2025 cleanup, the changelog says only the Java and Node.js bindings are maintained.
Can EJDB2 be accessed over a network?
The standalone jbs server provides HTTP REST and WebSocket endpoints. It supports TLS 1.2 and can require an access token in the X-Access-Token header.
Who makes EJDB2, and where is its project page?
The repository is the project website, at https://github.com/Softmotions/ejdb.
Facts from EJDB2's own pages
- API
- EJDB2 provides a C11 API. · github.com, 8 Oct 2026
- Authentication
- The network API example starts the server with an access token and sends it in the X-Access-Token request header. · github.com, 8 Oct 2026
- Backups
- The project lists support for online backups. · github.com, 8 Oct 2026
- Bindings
- The repository links to native language bindings and tags the project with C, Dart, Flutter, Java, Node.js, React Native, and Swift. · github.com, 8 Oct 2026
- Durability
- The jbs server offers a write-ahead-log option for data durability. · github.com, 4 Oct 2026
- Joins
- The project supports joins between collections. · github.com, 8 Oct 2026
- License
- The repository describes EJDB2 as published under the MIT license. · github.com, 8 Oct 2026
- Maintained bindings
- The project changelog says that after its 2025 cleanup, only the Java and Node.js bindings are maintained. · github.com, 4 Oct 2026
- Network access
- The project provides HTTP REST and WebSocket endpoints through IWNET. · github.com, 8 Oct 2026
- Product
- EJDB2 is an embeddable JSON database engine written as a C library. · github.com, 8 Oct 2026
- Query capabilities
- JQL supports filtering, data modification, projections, sorting, and query options such as skip, limit, and count. · github.com, 8 Oct 2026
- Query features
- JQL supports collection joins, projections, sorting, indexes, and query options such as skip, limit, and count. · github.com, 4 Oct 2026
- Query language
- Its JQL query language is inspired by XPath and Unix shell pipes and is designed for querying and updating JSON documents. · github.com, 8 Oct 2026
- Security
- The jbs server supports TLS 1.2 and can require an access token in the X-Access-Token HTTP header. · github.com, 4 Oct 2026
- Storage
- The project lists a single-file database powered by IOWOW, a persistent key/value storage engine. · github.com, 8 Oct 2026
- Support
- The project README says its issues tracker is disabled and welcomes contributions and pull requests. · github.com, 4 Oct 2026
- Support and contributions
- The repository says its issues tracker is disabled and welcomes contributions through pull requests. · github.com, 8 Oct 2026
- Supported platforms
- The README lists macOS, iOS, Linux, and Windows as supported platforms and says the core was tested on Linux, macOS, and FreeBSD. · github.com, 8 Oct 2026
Where EJDB2 stands on Freedom251
- Embedded Databases#6 of 30