node package manager
Loosely couple your services. Use Orgs to version and reuse your code. Create a free org »



level.js an implementation of the leveldown API on top of IndexedDB (which is in turn implemented on top of LevelDB, which brings this whole shebang full circle)

Most people use levelup on top of this library. See test-levelup.js for details

For some demos of it working, see @brycebaril's presentation "Path of the NodeBases Jedi":


level.js uses IDBWrapper by jensarps to ensure compatibility between IDB implementations.

Here are the goals of this level.js:

  • Store large amounts of ascii (strings, JSON) and binary (ArrayBuffers, Typed Arrays) data in modern browsers
  • Be as fast as possible
  • Use the leveldown test suite and sync with multilevel over either ascii or binary transports (websockets and xhr both have ascii/binary modes in browsers now)

Being leveldown compatible means you can use many of the level-* modules on top of this library.


npm install level-js

(Not to be confused with leveljs)

This library is best used with browserify

code examples

var leveljs = require('level-js')
var db = leveljs('bigdata') onOpen() { })

The test suite for this library is in the abstract-leveldown repo and is shared between various leveldown implementations across different environments and platforms.

For more code examples see the abstract-leveldown test suite

The only differences between this and leveldown is that you can store ArrayBuffers in this (whereas leveldown just uses node Buffer objects)

run the tests

git clone
cd level.js
npm install
npm test
open localhost:9966

Then look in your browser console