Can DynamoDB export to S3?
Yes. DynamoDB has a built-in export to Amazon S3 that writes a full or incremental snapshot of a table — from any point in the last 35 days — as DynamoDB JSON or Amazon Ion. It requires point-in-time recovery (PITR), runs asynchronously, and consumes no read capacity.
Full and incremental exports
A full export captures the whole table (data plus local secondary indexes) as it existed at the point in time you choose. An incremental export captures only the data that changed, was updated, or was deleted during a time window you specify — between 15 minutes and 24 hours. Both run asynchronously with no impact on table performance or availability.
Requirements and destinations
The only prerequisite is PITR enabled on the table — the export reads from your continuous backups, not from the live table. You can export to an S3 bucket in another AWS account and even another Region, and the data is encrypted end to end.
The output is not CSV
Exports are written as DynamoDB JSON or Amazon Ion — the type-tagged wire format with {"S": ...} and {"N": ...} descriptors — never CSV. Getting a spreadsheet out of an export means a second hop through Athena, Glue, or a script; the export to CSV guide walks through every option.
What it costs
Full exports are billed by the size of the table at the chosen point in time; incremental exports by the size of data processed from continuous backups (with a 10 MB minimum charge). S3 storage and PUT requests are billed separately.
Go deeper
Follow the export to CSV guide for the full workflow, unwrap exported items in the DynamoDB JSON converter, or download DynoTable to browse and export table data straight from your desktop. Deciding which service should own the data in the first place? See DynamoDB vs S3.
References
- DynamoDB data export to Amazon S3: how it works — Amazon DynamoDB Developer Guide
- Quotas in Amazon DynamoDB — Amazon DynamoDB Developer Guide
- Point-in-time backups for DynamoDB — Amazon DynamoDB Developer Guide
- Amazon DynamoDB pricing
Last verified 2026-07-13 against the official AWS documentation linked above.