A Minimalistic Wrapper for IndexedDB

( only ~22k minified and gzipped )
Get started in 30 seconds Get started

Easy to learn

Dexie was written to be straightforward and easy to learn. If you've ever had to work with native IndexedDB then you'll certainly appreciate Dexie's concise API.

Dive right in »

Well documented

What good is any development tool without great documentation? Dexie is thoroughly explained, and examples are available to help you on your way.

Check it out »


Dexie has near-native performance. Its bulk operations utilize an often-overlooked feature in IndexedDB, ignoring success callbacks when possible.

See it in action »

Basic examples

	| Declare your database      |

	const db = new Dexie('MyDatabase');

	// Declare tables, IDs and indexes
		friends: '++id, name, age'


	| Then run some queries |

	// Find some old friends
	const oldFriends = await db.friends

	// or make a new one
	await db.friends.add({
		name: 'Camilla',
		age: 25,
		street: 'East 13:th Street',
		picture: await getBlob('camilla.png')

Need Sync?

Offline databases are groovy! But without keeping the database in sync with a server, you're missing a great deal.

Check out Dexie CloudBETA   »

Thanks to , we're testing Dexie.js continously on different browsers, OS and devices.

That's all folks!

Now go make something awesome.