Datastore implementation with level(up|down) backend

Usage no npm install needed!

<script type="module">
  import datastoreLevel from '';



standard-readme compliant Build Status Codecov Dependency Status js-standard-style

Datastore implementation with levelup backend.

Table of Contents


$ npm install datastore-level


import { LevelDatastore } from 'datastore-level'

// Default using level as backend for node or the browser
const store = new LevelDatastore('path/to/store')

// another leveldown compliant backend like memdown
const memStore = new LevelDatastore('my/mem/store', {
  db: require('level-mem')

Browser Shimming Leveldown

LevelStore uses the level module to automatically use level.js if a modern bundler is used which can detect bundle targets based on the pkg.browser property in your package.json.

If you are using a bundler that does not support pkg.browser, you will need to handle the shimming yourself, as was the case with versions of LevelStore 0.7.0 and earlier.

Database names

level-js@3 changed the database prefix from IDBWrapper- to level-js-, so please specify the old prefix if you wish to continue using databases created using datastore-level prior to v0.12.0. E.g.

import leveljs from 'level-js'
import browserStore = new LevelDatastore('my/db/name', {
  db: (path) => leveljs(path, {
    prefix: 'IDBWrapper-'

More information:


Feel free to join in. All welcome. Open an issue!

This repository falls under the IPFS Code of Conduct.