DynamoDB Pricing Calculator
Last updated: October 28th, 2026
DynamoDB Standard on-demand pricing in US East (N. Virginia) is $0.625 per million write request units and $0.125 per million read request units, plus storage at $0.25 per GB-month. Compare on-demand requests with hourly provisioned capacity below, using verified rates for 19 supported Regions. The calculator estimates Standard table-class capacity, storage and billed Streams reads; it does not calculate Standard-IA or optional services.
Choose pricing model
Pay for WRU (Write Request Units) and RRU (Read Request Units).
Standard, US East (N. Virginia): $0.625 per million WRUs and $0.125 per million RRUs.
For ordinary writes and strongly consistent reads:
One WRU = 1 write operation with item size up to 1 KB
One RRU = 1 read operation with item size up to 4 KB
For eventual reads divide read units by 2; for transactional reads or writes multiply their units by 2
Pay for provisioned number of RCU (Read Capacity Units) and WCU (Write Capacity Units).
Standard, US East (N. Virginia): $0.00013 per RCU-hour and $0.00065 per WCU-hour.
For ordinary writes and strongly consistent reads:
One WCU = 1 write per second with item size up to 1 KB
One RCU = 1 strong read per second with item size up to 4 KB
For eventual reads divide read units by 2; for transactional reads or writes multiply their units by 2
On-demand estimate
This covers 1000000 ordinary writes of items up to 1 KB per month
($0.63 per month)
This covers 1000000 strongly consistent reads of items up to 4 KB per month
($0.13 per month)
GB
($0.00 per month)
Each GetRecords call uses one stream read unit and returns up to 1 MB. Exclude free reads made by ordinary Lambda triggers and global tables. Lambda Managed Instances use standard Streams pricing. Stream units are separate from table reads.
units per month
($0.00 per month)
Includes free 25 GB of data storage and 2,500,000 DynamoDB Streams read requests. Allowances are shared per Region and payer account; turn this off if other tables already consume them.
~0.75 USD per month
Standard table class only. Data transfer, backups, restore, DAX, global-table replication, vector search and pre-warming are excluded. Commitment discounts and promotional credits are not applied.
Provisioned estimate
($0.000000 per hour)
($0.000000 per hour)
GB
($0.00 per month)
Each GetRecords call uses one stream read unit and returns up to 1 MB. Exclude free reads made by ordinary Lambda triggers and global tables. Lambda Managed Instances use standard Streams pricing. Stream units are separate from table reads.
units per month
($0.00 per month)
Includes 25 WCUs and 25 RCUs of provisioned capacity, 25 GB of data storage and 2,500,000 DynamoDB Streams read requests. Allowances are shared per Region and payer account; turn this off if other tables already consume them.
~0.00 USD per month
Estimate uses 730.48 hours per month at constant provisioned capacity. Standard table class only. Data transfer, backups, restore, DAX, global-table replication, vector search and pre-warming are excluded. Commitment discounts and promotional credits are not applied.
Don't know how many WCUs and RCUs get consumed by your item(s)? Use our DynamoDB Item Size Calculator
DynamoDB pricing at a glance
In us-east-1, on-demand costs $0.625 per million write request units and $0.125 per million read request units. Provisioned capacity costs $0.00065 per WCU-hour and $0.00013 per RCU-hour. Storage is $0.25 per GB-month in both modes, and Streams reads are $0.02 per 100,000. Rates vary by Region; the supported Regions are listed below.
The DynamoDB free tier
DynamoDB Standard has always-free allowances, applied per Region and per payer account. It covers 25 GB of storage, 25 write capacity units, 25 read capacity units and 2.5 million Streams read requests every month. The 25 WCUs and RCUs are enough for roughly 200 million requests a month if you keep them busy. There is no free allowance for on-demand request units, so an on-demand table pays from the first write.
On-demand or provisioned: which is cheaper?
Provisioned is cheaper per request, and on-demand is cheaper when your table sits idle. At us-east-1 rates a provisioned WCU running flat out works out near $0.18 per million writes against $0.625 on-demand, so on-demand costs about 3.5 times as much at full utilization. That gap only pays off if you actually use the capacity you reserve. A table provisioned for a peak it hits twice a day is paying for the other twenty-two hours, which is where on-demand usually wins. AWS halved on-demand rates in November 2024, so comparisons written before then overstate the difference.
DynamoDB storage cost
Storage is billed per GB-month on the data your table actually holds, after any unused Standard free storage allowance. Each item adds at least 100 bytes of storage overhead beyond its attribute names and values. Indexes are not free: every global secondary index stores its own copy of the projected attributes and is billed the same way, which is why a wide projection costs more than KEYS_ONLY. Backups and point-in-time recovery are billed separately again, at their own per-GB rates, and are not part of the figures below.
Standard versus Standard-IA pricing
The calculator uses Standard prices. Standard-IA trades lower storage cost for higher read and write prices and has no always-free allowance. In US East (N. Virginia), its storage costs $0.10 per GB-month, on-demand writes $0.78 per million WRUs and reads $0.155 per million RRUs. Provisioned Standard-IA costs $0.00081 per WCU-hour and $0.00016 per RCU-hour.
Compare the full storage and throughput bill before switching table class. AWS suggests considering Standard-IA when storage exceeds half of throughput cost on Standard. Use the AWS pricing page for Standard-IA rates in other Regions; the inputs above do not apply them.
Charges outside this estimate
In US East (N. Virginia), on-demand backup storage is $0.10 per GB-month, point-in-time recovery is $0.20 per GB-month, and restore is $0.15 per GB. These charges, S3 import and export, cross-Region transfer, DAX, global-table replication, vector search and paid pre-warming are separate. A shorter PITR window does not reduce its storage rate.
Database Savings Plans can discount eligible on-demand throughput by up to 18% or provisioned throughput by up to 12% for a one-year commitment. Reserved capacity offers different discounts on eligible provisioned Standard usage; neither is included above. Free Tier promotional credits are also separate from the always-free allowances.
DynamoDB Streams pricing
Streams are billed per read request unit, not per change written. Each unit returns up to one megabyte, and the first 2.5 million a month are free. GetRecords calls made by ordinary Lambda triggers and global tables replication are free; Lambda functions on Lambda Managed Instances pay standard Streams charges. Enter only billable reader calls above, before the free allowance. In us-east-1 that is $0.02 per 100,000 once past the free allowance.
DynamoDB pricing by region
The 19 Regions supported by this calculator, using Standard table-class rates verified October 23, 2026. Write and read request units are on-demand, capacity units are provisioned.
| Region | Write req. units / M | Read req. units / M | WCU-hour | RCU-hour | Storage / GB-mo | Streams / 100k |
|---|---|---|---|---|---|---|
| us-east-1 (N. Virginia) | $0.625 | $0.125 | $0.00065 | $0.00013 | $0.25 | $0.02 |
| us-east-2 (Ohio) | $0.625 | $0.125 | $0.00065 | $0.00013 | $0.25 | $0.02 |
| us-west-1 (N. California) | $0.695 | $0.1395 | $0.000725 | $0.000145 | $0.28 | $0.0224 |
| us-west-2 (Oregon) | $0.625 | $0.125 | $0.00065 | $0.00013 | $0.25 | $0.02 |
| ap-east-1 (Hong Kong) | $0.785 | $0.155 | $0.000814 | $0.0001628 | $0.3135 | $0.025 |
| ap-south-1 (Mumbai) | $0.71 | $0.1425 | $0.00074 | $0.000148 | $0.285 | $0.0228 |
| ap-northeast-3 (Osaka) | $0.715 | $0.1425 | $0.000742 | $0.0001484 | $0.285 | $0.0228 |
| ap-northeast-2 (Seoul) | $0.68 | $0.1355 | $0.0007049 | $0.00014098 | $0.27075 | $0.0217 |
| ap-northeast-1 (Tokyo) | $0.715 | $0.1425 | $0.000742 | $0.0001484 | $0.285 | $0.0228 |
| ap-southeast-1 (Singapore) | $0.71 | $0.1425 | $0.00074 | $0.000148 | $0.285 | $0.0228 |
| ap-southeast-2 (Sydney) | $0.71 | $0.1425 | $0.00074 | $0.000148 | $0.285 | $0.0228 |
| ca-central-1 (Canada) | $0.6875 | $0.1375 | $0.000715 | $0.000143 | $0.275 | $0.022 |
| eu-central-1 (Frankfurt) | $0.7625 | $0.1525 | $0.000793 | $0.0001586 | $0.306 | $0.0245 |
| eu-west-1 (Ireland) | $0.705 | $0.1415 | $0.000735 | $0.000147 | $0.283 | $0.0226 |
| eu-west-2 (London) | $0.7423 | $0.1487 | $0.000772 | $0.0001544 | $0.29715 | $0.0237 |
| eu-west-3 (Paris) | $0.7423 | $0.1487 | $0.000772 | $0.0001544 | $0.29715 | $0.0237 |
| eu-north-1 (Stockholm) | $0.67 | $0.1345 | $0.000698 | $0.00014 | $0.269 | $0.0215 |
| me-south-1 (Bahrain) | $0.775 | $0.1555 | $0.0008085 | $0.0001617 | $0.3113 | $0.0249 |
| sa-east-1 (São Paulo) | $0.9375 | $0.1875 | $0.000975 | $0.000195 | $0.375 | $0.03 |
Prices in USD, from the AWS Price List. Use the item size calculator to work out how many units a request actually consumes.
DynamoDB cost optimization: ten practical checks
Start with the largest line items on your bill: throughput, table and index storage, then backups and optional services. These ten checks help reduce costs without changing the application's consistency requirements.
1. Use cheaper regions
Compare Regions only after checking application latency, data residency and transfer charges. For 100 GB-month of Standard storage before the free tier, the listed rates give $28.50 in Tokyo, $29.72 in London and $37.50 in São Paulo. The calculator applies any unused allowance separately. Among its supported Regions, US East (N. Virginia), US East (Ohio) and US West (Oregon) use $0.25 per GB-month, $0.00065 per WCU-hour and $0.00013 per RCU-hour.
2. Use shorter attribute names
Because DynamoDB in both On-Demand and Provisioned capacity mode uses size-dependent billing units (1 WCU/WRU = 1KB, 1 RCU/RRU = 4KB), plus, you're paying for storage too, you should always aim to make your records as small as possible. If shortening attribute values is not an option, try making attribute names shorter. This helps you reduce the amount of storage required for your data. Moreover, when storing dates, you can choose numeric epoch seconds instead of ISO dates when appropriate. It also makes your items compatible with DynamoDB's TTL feature.
3. Be aware of huge blobs
Saving images in DynamoDB can quickly skyrocket costs. It's very inefficient, and you should rather store all images or linked assets in S3 and save the URL pointing to it in DDB. If that's not an option, consider using compression algorithms like gzip to make blobs smaller before saving them.
4. Prefer queries over scans
Query reads items matching a partition key and an optional sort-key condition. Scan examines the whole table or index unless you stop it early. Both operations charge for items evaluated before applying a filter, not just the items returned. Query usually costs less because its key condition narrows the data evaluated; projection and filter expressions do not reduce that read charge.
5. Avoid strongly consistent reads and transactions where possible
Eventually consistent reads consume half the units of strongly consistent reads for the same item size. Use strong reads when the application must see the latest successful write, and transactions when it needs their atomicity guarantees. Transactional reads use twice the units of ordinary strong reads, while transactional writes use twice the ordinary write units. Global secondary indexes offer eventual reads only.
6. Choose GSI attribute projections carefully
Attribute Projections specify which attributes are available when querying for data using Global Secondary Index. Sometimes, when accessing the data using GSIs, not all attributes are needed. Reducing the amount of data available in GSIs by using Attribute Projection KEYS_ONLY or INCLUDE instead of ALL will reduce the amount of data kept in GSI significantly, which lowers storage costs and consumes fewer read/write units when accessing or updating the data.
7. Compare capacity modes with current rates
AWS recommends on-demand for most workloads after its November 2024 price cut. At full utilization in US East (N. Virginia), on-demand unit cost is about 3.5 times ordinary provisioned capacity, with a break-even near 29% utilization before allowances and discounts. Provisioned capacity can save money for steady demand, but include auto scaling headroom and idle hours in the comparison.
8. Evaluate reserved capacity and Savings Plans
For a predictable Standard provisioned baseline, reserved capacity is sold in blocks of 100 RCUs or WCUs, with savings of up to 54% for one year or 77% for three years in eligible Regions. Compare the upfront and recurring costs, and avoid committing capacity you will not use.
Database Savings Plans offer up to 18% off eligible on-demand throughput or 12% off provisioned throughput for a one-year commitment, with flexibility across eligible database services and Regions. Reserved capacity is applied first; discounts do not stack on the same usage.
9. Remove unnecessary items
To minimize the storage costs, aim to always purge unnecessary data. If your business does not have to keep the events older than X days, you can use the TTL functionality.
Moreover, if you have any many-to-many relationships, remember that you need to take care of "orphaned records" on your own. As DynamoDB is not a relational database, it does not have an ON DELETE CASCADE feature like many RDBMS.
10. Do not overuse GSIs
DynamoDB automatically copies the right set of attributes to any indices where the attributes must exist. This increases the costs of your storage and index maintenance writes. Keep indexes that serve actual access patterns, and measure projected item sizes. Index storage contains the following, counting overlapping key attributes only once:
- Byte size of table primary key
- Byte size of index key attribute
- Byte size of projected attributes
- 100 byte-overhead per index item
Frequently Asked Questions
How much does DynamoDB cost?
What pricing models are available for DynamoDB?
Is there a charge just for creating a DynamoDB table?
What does a DynamoDB global secondary index cost?
Does the free tier cover on-demand requests or Standard-IA?
Does this calculator include every DynamoDB charge?
Dynobase is a Professional GUI Client for DynamoDB
Start your 7-day free trial today
Product Features
DynamoDB Tools
- SSH GUI Client
- Chat With Cloud
- MongoDB GUI Client
- AWS Cost Monitoring
- DynamoDB Query Builder
- DynamoDB Code Examples
- DynamoDB Node.js Queries
- DynamoDB JSON Converter
- DynamoDB UUID Generator
- DynamoDB Local Admin GUI
- DynamoDB Pricing Calculator
- DynamoDB Single-Table Design
- Best DynamoDB GUI Clients
- Dynobase vs DynoTable