Calculator Inputs
Example Data Table
| Attribute Group | Example Input | Size Rule | Estimated Bytes |
|---|---|---|---|
| String | Names 35, values 2,800 | Name bytes plus UTF-8 value bytes | 2,835 |
| Number | Names 48, digits 42, count 6 | Name bytes plus digits rule | 75 |
| Map | Names 28, nested 900, elements 18 | Name bytes plus nested bytes and overhead | 952 |
| Boolean | Names 24, count 3 | Name bytes plus one byte each | 27 |
Formula Used
Core item size equals attribute name bytes plus attribute value bytes. String values use UTF-8 bytes. Binary values use raw bytes. Number values use an approximate byte rule. Boolean and null values add one byte each.
List and map values add 3 bytes each. Every list or map element adds 1 extra byte. Storage estimate can include 100 bytes for indexing. Global tables can add 48 bytes.
Write units are calculated as ceil(core bytes / 1024). Strong read units are ceil(core bytes / 4096). Eventually consistent reads use half of strong reads. Transactional reads use twice strong reads.
How to Use This Calculator
Choose manual mode when you are planning a schema. Add the total bytes for each attribute group. Use short names when possible. Long names increase storage and throughput usage.
Choose JSON mode when you have a sample item. Paste one top-level JSON object. The tool estimates nested maps and lists. Review the final status message. Export the report for your team.
DynamoDB Item Size Planning Guide
Why Size Matters
DynamoDB item size affects cost, speed, and design safety. A small item is easier to read. It is also cheaper to write. Large items can create hidden capacity waste. They can also block writes when they reach the service limit. This calculator helps you test that risk early.
Know Your Attribute Cost
Every attribute name has a size. The value has a size too. This surprises many builders. A long field name may look harmless. It still adds bytes to every record. Short names can reduce storage and capacity units. Use clear names, but avoid unnecessary text.
Plan Nested Data Carefully
Maps and lists are useful. They keep related data together. They also add overhead. Each document attribute has fixed overhead. Each element adds more overhead. Deep documents can grow quickly. Review nested arrays before imports. Check profile objects, logs, histories, and settings.
Watch Read and Write Units
Capacity uses rounded chunks. Writes round to 1 KB units. Reads round to 4 KB units. A small increase can cross a boundary. That crossing can raise capacity demand. This matters for hot keys and busy tables. Estimate both item size and traffic rate.
Use Safer Storage Patterns
Large text, images, and payloads need care. Compression may help in some cases. Splitting records can also help. Object storage is often better for large blobs. Store only a pointer in the item. Keep frequently read fields near the key. Keep rare details in separate records.
Review Before Production
Test realistic data, not perfect samples. Include worst case values. Add future fields in your estimate. Check imports, events, and user content. Export the result as CSV or PDF. Share it during schema review. This simple habit can prevent failed writes later.
FAQs
What is DynamoDB item size?
It is the estimated byte size of one stored item. It includes attribute name bytes, value bytes, and certain data type overheads.
Why do attribute names matter?
Attribute names are counted in item size. Shorter names can reduce storage and capacity usage across many repeated records.
Does base64 length count for binary values?
No. For binary attributes, use the raw byte length of the binary data, not the encoded base64 text length.
How are number values estimated?
Numbers are variable length. This calculator uses the common approximation of one byte per two significant digits, plus one byte.
Why do lists and maps add overhead?
Document values need structure metadata. Each list or map adds fixed overhead, and every contained element adds another byte.
What happens above 400 KB?
The item is too large for a normal write. Split the item, compress large values, or move large content to external storage.
Are read units based on returned fields?
Capacity is based on item size read by the operation. Projection can reduce network transfer, but it may not reduce consumed read units.
Can I export the result?
Yes. Use the CSV button for spreadsheets. Use the PDF button for a shareable report after calculating your estimate.