Hello, Developer! Welcome to AxioDB

The Embedded Database
for Node.js

Replaces SQLite, LowDB, NeDB and raw JSON files with a real database. MongoDB-style queries, ACID transactions, zero native dependencies. No more node-gyp failures. No more electron-rebuild. Just npm install. Runs on Node.js 20+ and Bun — one codebase, same data files, no runtime lock-in.

javascript
1// npm install axiodb
2const { AxioDB } = require('axiodb');
3
4// Create AxioDB instance with built-in GUI
5const db = new AxioDB({ GUI: true }); // Enable GUI at localhost:27018
6
7// Create database and collection
8const myDB = await db.createDB('HelloWorldDB');
9const collection = await myDB.createCollection('greetings');
10
11// Insert and retrieve data - Hello World!
12await collection.insert({ message: 'Hello, Developer!' });
13const result = await collection.query({}).exec();
14console.log(result.data.documents[0].message); // Hello, Developer!
npm versionnpm shieldsnpm downloads totalnpm downloads yearlynpm downloads weeklynpm downloads monthlyinstall sizejsDelivr hitsTypeScript typesLicense MITCodeQLGitHub StarsNode.js VersionTested on Node.jsBun tested v1.4.0Deno tested v2.9.6TypeScriptZero native dependencies
Runs on
Node.jsNode.js ≥ v20 · officially supported
BunBun verified on v1.4.0
Verified test cases:CRUD (insert / find / update / delete)Indexed queriesACID transactionsAggregationWorker threads — ≥100 filesWorker threads — ≥10,000 docs

All 14 test suites — CRUD, transactions, reads, aggregation, auth, HTTP API, TCP (auth/no-auth/transaction/TLS), crash recovery, MCP, and cache options — pass on the machine's Node (v26.8.1) and Bun (v1.4.0), including the worker-thread data paths (reads of ≥100-file collections, searches over ≥10,000 documents). Node 20+ is the supported baseline; Bun is verified on the installed v1.4.0 only. Deno (v2.9.6) passes all 100 runtime tests including Bun compiled binaries.

AI SKILLUse AxioDB with Any AI Agent

Load the AxioDB Agent Skill into ChatGPT, Claude, Cursor, Copilot, or any AI coding assistant to get expert guidance on queries, schema design, transactions, and best practices.

Paste into any AI chat
NEWAxioDB MCP Server

Spin up AxioDB on a cloud container and let your AI agent (Claude, or any MCP-compatible client) talk to that database directly — 43 tools, real login, the exact same RBAC as the web GUI.

NEWAxioDB CLI

CLI tool for AxioDB — interactive REPL with MongoDB shell syntax, all 32 TCP commands, TLS support, and installers for 12 platforms.

NEWAxioDB Desktop GUI

Native desktop app (Electron) with a card-based document viewer, bouncy-ball splash loader, connection management, and all-in-one database tooling for Linux, macOS, and Windows.

ACID Compliant✓ Transactions
Full Transaction Support with Commit, Rollback & Write-Ahead Logging Recovery
Performance Benchmark|Tested: September 2026
AMD Ryzen 5 5500U (6C/12T)•7.1 GB RAM•Ubuntu Linux 6.8.0•Node.js v26.8.1•100,000 documents dataset

Insert Operations

~31ms

Insert Single

~365ms

InsertMany (500)

<1ms

Validation

Read/Query Operations (100K docs)

~1ms

Indexed

~1ms

documentId

<1ms

findOne

~1.1s

$gt

~533ms

$in (5)

~2.0s

Regex

Update Operations

~35ms

UpdateOne

~326ms

UpdateMany

~2ms

Verify

Delete Operations

~28ms

DeleteOne

~144ms

DeleteMany

~53ms

Verify

Transaction Operations

~38ms

TX Insert

~32ms

TX Update

~44ms

TX Delete

~46ms

TX Mixed

~8ms

Rollback

~24ms

Savepoint

~21ms

withTX

~20ms

Index Sync

Test Suite Overview (100K docs - 14/14 Passing)

CRUD

4.1 s

39 tests

Transactions

681 ms

23 tests

Read / Query

24.5 s

39 tests

Aggregation

457 ms

63 tests

Auth & RBAC

6.1 s

35 tests

HTTP API

1.5 s

47 tests

TCP Auth

3.3 s

25 tests

TCP No-Auth

918 ms

5 tests

TCP TX

1.4 s

22 tests

TCP TLS

836 ms

3 tests

Crash Recovery

6.2 s

3 tests

MCP Confirm

49 ms

10 tests

MCP Functional

1.2 s

4 tests

Cache Options

1.4 s

11 tests

terminal
$ npm install axiodb
+ axiodb@latest # No native dependencies, no compilation
$ node app.js
✓ AxioDB initialized
✓ Database ready at ./AxioDB
✓ GUI available on localhost:27018
💡 Think SQLite, but NoSQL with JavaScript queries
🎯 Perfect for: Desktop apps • CLI tools • Node.js backends
$Your embedded database is ready...|
NEW FEATURE

Introducing AxioDBCloud

Deploy AxioDB in Docker or Cloud. Connect from anywhere with TCP protocol. Same API, zero code changes!

Fast TCP Protocol
1000+ Connections
Auto-Reconnect
Built-in GUI

Database Visualization Built In

Start AxioDB with new AxioDB({ GUI: true }) to enable the built-in web GUI on localhost:27018. Perfect for Electron apps—give your users a database inspector without extra dependencies.

View GUI Documentation
📖Our Story

Born from SQLite Pain. Built to Be Better.

It started with a simple error: node-gyp ERR! — again.

We were building an Electron app. Needed a database. Tried better-sqlite3 — node-gyp compilation failed. Tried LowDB — data corrupted on concurrent writes. Tried NeDB — abandoned since 2016.

So we built AxioDB.

✓
Zero native dependencies

No node-gyp, no electron-rebuild, no platform headaches

✓
ACID transactions

Crash recovery, savepoints, write-ahead logging

✓
MongoDB-style queries

JavaScript objects, not SQL strings

✓
Built-in caching & GUI

InMemoryCache + web dashboard included

🤔

Still Using LowDB, NeDB, or better-sqlite3?

Here's what developers actually deal with every day:

📄LowDB
Stale
22.6k GitHub stars
  • ✗No concurrency — concurrent writes corrupt data
  • ✗No ACID transactions — crash = data loss
  • ✗No built-in caching — full file rewrite every time
  • ✗Single JSON file — entire DB loaded into memory
  • ✗Last updated 3 years ago
💀NeDB
ABANDONED
13.5k GitHub stars
  • ✗No longer maintained since 2016
  • ✗Data loss issues reported by users
  • ✗File corruption on concurrent access
  • ✗No TypeScript support
  • ✗Security vulnerabilities unpatched
🔧better-sqlite3
Active (but painful)
11k+ GitHub stars
  • ✗Requires native C bindings compilation
  • ✗node-gyp headaches on every platform
  • ✗electron-rebuild required for Electron apps
  • ✗SQL strings instead of JavaScript objects
  • ✗Platform-specific builds (Windows ≠ Mac)

AxioDB solves all of these problems:

✓ ACID Transactions✓ Zero Native Deps✓ Active Maintenance✓ InMemoryCache✓ TypeScript 6.0✓ Built-in GUI
See Full Comparison

Why AxioDB?

SQLite requires native C bindings that cause deployment headaches. JSON files have no querying or caching. MongoDB needs a separate server. AxioDB combines the best of all: embedded like SQLite, NoSQL queries like MongoDB, intelligent caching built-in.

Pure JavaScript

Zero native dependencies. No compilation, no platform-specific binaries, no node-gyp headaches. Works everywhere Node.js runs.

Intelligent Caching

Built-in InMemoryCache with automatic invalidation. Instant query results for frequently-accessed data. Multi-core parallelism with Worker Threads.

MongoDB-Style Queries

JavaScript objects, not SQL strings. Operators like $gt, $regex, aggregation pipelines, schema-less documents.

ACID Transactions

Commit, rollback and savepoints over a write-ahead log, with crash recovery — not something you bolt on later.

Node.js Applications

Embedded database for Node.js apps requiring local storage. No external dependencies, no server setup, no compilation. Works on all platforms without native bindings.

Desktop & CLI Tools

Perfect for desktop apps (Electron, Tauri) and CLI tools. Store configuration, cache data, manage local state—all with npm install.

Rapid Prototyping

Skip database setup entirely. Query with JavaScript objects, not SQL strings. Handles 10K-500K documents with intelligent caching. Migrate to PostgreSQL or MongoDB when you scale.

Embedded Systems

Local-first applications, IoT devices, edge computing. Single-instance architecture with file-based storage. Built-in GUI for data inspection during development.

"
"

AxioDB is not competing with PostgreSQL or MongoDB. It's for when you need a database embedded in your app—Electron, CLI tools, local-first apps. Sweet spot: 10K-500K documents. No native dependencies, no server setup.

Honest positioning
What's New

AdminPassword — set the admin password at startup

The seeded admin/admin account is flagged mustChangePassword, and only the HTTP API or GUI can clear that flag. Start the server with the GUI disabled and there was no way to choose a password — TCP rejected every login and nothing could recover it. AdminPassword closes that gap.

In your app

javascript
1const db = new AxioDB({
2 TCP: true,
3 TCPAuth: true,
4 GUI: false,
5 AdminPassword: 'my-secret-password',
6});

In the CLI

bash
1axiodb serve tcp-auth my-secret-password
2axiodb serve full my-secret-password

In Docker

bash
1docker run -d \
2 -e AXIODB_GUI=false \
3 -e AXIODB_ADMIN_PASSWORD=my-secret-password \
4 theankansaha/axiodb

What you get

  • ✓One account across embedded, HTTP, GUI, TCP, MCP and the CLI — they all read the same config database
  • ✓Sets mustChangePassword: false, so logins work immediately
  • ✓Read on first start only — a container restart never resets a password you have since changed
  • ✓Additive: omit it and the admin/admin + forced-change behaviour is unchanged

Now enforced, not just documented

  • !axiodb serve tcp-auth requires a password and exits without one
  • !The Docker image refuses to start when TCP auth is on, AXIODB_HTTP is off and no password is set
  • —http and full keep it optional: their control server can rotate the password
  • —Full option reference →