jakearchibald/idb-keyval

A super-simple-small promise-based keyval store implemented with IndexedDB

View on GitHub ↗Jump to charts ↓

jakearchibald/idb-keyval has 3k+ stars and 150+ forks on GitHub, is written in TypeScript, and was last pushed on Jul 8, 2026. Data as of . Signed-in members get hourly updates — create a free account.

Summary Information

Updated 9 minutes ago
Added to GitGenius on September 21st, 2026
Created on August 11th, 2016
Open Issues & Pull Requests: 25 (+0)
GitHub issues: Enabled
Number of forks: 150
Total Stargazers: 3,252 (+0)
Total Subscribers: 21 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 7.9 days
Mean response time: 274.6 days
90th percentile: 853.7 days
Tracked items: 8

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 7
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 755 days
Stale 30+ days: 7
Stale 90+ days: 6

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

No label distribution available yet.

Most active issues this week

Sign in to see which issues are moving.
Sign in

Detailed Description

idb-keyval is a promise-based keyval store implemented with IndexedDB.

The tool solves the problem of needing simple, persistent client-side key-value storage in the browser. It wraps IndexedDB with a minimal API that handles the most common use case: storing and retrieving values by key. The approach is deliberately constrained to this single purpose, avoiding the complexity of more general-purpose database abstractions.

Developers should choose this tool when they need lightweight, async key-value storage without the overhead of larger libraries. It suits projects where bundle size matters and the storage requirements are straightforward—getting, setting, and clearing values. The README names localForage as an alternative that supports older browsers with broken IndexedDB implementations but is orders of magnitude larger. For more complex operations like iteration and indexing, the README points to the idb package on NPM as a heavier alternative. The tool supports storing anything structured-clonable and provides batch operations like setMany and getMany for efficiency, plus an update method that atomically transforms values without race conditions.

Development activity shows consistent maintenance with regular updates to dependencies and build tooling. The project maintains multiple build targets including ES modules, CommonJS, and legacy transpiled versions for older browsers. Documentation is thorough, with clear examples for each API method and explicit guidance on which bundle to use for different environments.