Free tools for the key-value stores you run: Redis and Valkey, DynamoDB, etcd, and the ideas underneath them. Each tool runs in your browser at keyvaluestore.com/tools, from the command line with Node.js, or inside your own code.
| Tool | What it does | Folder |
|---|---|---|
| Hash Slot Calculator | Which cluster slot and primary a key lands on, CROSSSLOT checks for multi-key commands, and how a key list spreads | slots/ |
| Typed JSON Converter | DynamoDB's typed JSON to plain JSON and back, every digit of every number kept | typed-json/ |
| Mass Insert Builder | CSV, JSON or commands to a protocol file for redis-cli --pipe, and protocol bytes back to readable commands |
pipe/ |
| Keyspace Map | A key list from --scan as a tree of prefixes and naming patterns, with naming slips flagged |
keyspace/ |
| Consistent Hashing Playground | Modulo, hash ring, rendezvous and jump hash compared when a node joins or leaves | ring/ |
| Snapshot Viewer | A Redis or Valkey dump.rdb or DUMP payload opened: keys by type, the biggest keys, prefixes, expiries and every value |
snapshot/ |
| Traffic Analyzer | A MONITOR capture broken down: commands per second, the command mix, hot keys, clients, cluster spread, risky commands, and the cache size for a given hit rate |
traffic/ |
| Value Inspector | A stored value decoded: JSON, MessagePack, CBOR, BSON, Protocol Buffers, PHP, igbinary, Java, pickle or Ruby Marshal, inside base64, gzip, zlib, LZ4 or Snappy, with nothing in it run | inspect/ |
| Memory Calculator | How much memory Redis and Valkey use for your keys on 15 versions: encodings, hash tables, TTLs, the limits that change everything, and packing small strings into hashes | memory/ |
| Config Checker | A redis.conf or valkey.conf read the way each of 15 versions reads it at startup: the error and line it stops at, every setting as CONFIG GET reports it, and what to look at | config/ |
| ACL Builder | ACL rules applied the way each of 15 versions applies them: ACL SETUSER's error or ACL LIST's line, what the user may do, ACL DRYRUN for commands, and least-privilege users drafted from MONITOR | acl/ |
| Expression Tester | DynamoDB key conditions, filters, conditions, updates and projections checked the way DynamoDB checks them, with its error messages, then run on your items | expressions/ |
| Revision Viewer | An etcd snapshot opened: what fills it, Kubernetes resources and old revisions, free pages, Secrets in the clear, and every revision of a key, printed the way kubectl prints it | revisions/ |
| Graph Key Builder | A list of links turned into the keys a graph takes in an ordered key-value store, then followed hop by hop with every prefix scan counted | graph/ |
Each folder's README is the tool's manual, with a plain-language explanation of the technology behind it.
- One library file each. Each tool's logic is one JavaScript file with no dependencies. The web page, the command line and the tests all load that same file. There's nothing to install and nothing to build.
- Your data stays with you. The tools don't send anything anywhere, and each web page's security policy stops it from fetching or loading anything from another site: no fetch, no beacons, no scripts, styles or images from elsewhere.
- Checked against the real thing. Each tool was checked against real servers or reference code: 15 versions of Redis and Valkey built from source, DynamoDB Local, etcd 3.4 to 3.6 with Kubernetes' own Go packages, the AWS SDK, the Python
mmh3package, the code printed in the jump hash paper, SQLite's own key order, and values written by Python, PHP, Java and Ruby themselves. The tests replay the recorded answers, which are in each tool'stest/fixtures/, and the full measurements are intest/results/.
Each release has every tool in one package, without the tests: keyvaluestore-tools.tar.gz for Linux and macOS, or keyvaluestore-tools.zip. Unpack it and run the tools with Node.js 20 or newer. Before a release goes out, the package is checked on Linux, macOS and Windows.
From the package or a copy of this repository, with Node.js 20 or newer:
node slots/cli.js --help
node typed-json/cli.js --help
node pipe/cli.js --help
node keyspace/cli.js --help
node ring/cli.js --help
node snapshot/cli.js --help
node traffic/cli.js --help
node inspect/cli.js --help
node memory/cli.js --help
node config/cli.js --help
node acl/cli.js --help
node expressions/cli.js --help
node revisions/cli.js --help
node graph/cli.js --helpEach tool's page is in its app/ folder. Open app/index.html straight from the folder, or serve the repository with any static web server.
node --testNode finds every test under the tool folders. They need no server and no network, since they replay the answers recorded from the servers.
Everything in this repository is under the Apache License 2.0, unless a file says otherwise. Copyright 2026 KeyValueStore.com. See LICENSE and NOTICE.
Redis, Valkey, DynamoDB, etcd and Kubernetes are trademarks of their owners. They're named only to say which systems the tools work with, and KeyValueStore.com isn't connected with or endorsed by any of them.