dynobase-icon
Dynobase

Error: dynamodb ttl not deleting / erasing items

Rafal Wilinski

Answered by Rafal Wilinski

Last updated: October 23rd, 2026

Solution

DynamoDB TTL does not delete items immediately when they expire. If an item remains, first check that TTL is enabled and that its configured attribute contains a Number in Unix epoch seconds; valid expired items are typically deleted within a few days.

  1. Run DescribeTimeToLive and confirm the configured AttributeName and status. Names are case-sensitive.
  2. Inspect the item's stored type. A numeric string is ignored, and milliseconds represent a far-future time when read as seconds.
  3. Check that the item has expired and is not more than five years in the past, which TTL ignores.
  4. Allow for asynchronous deletion. Filter expired records from application reads when they must no longer be used.
aws dynamodb describe-time-to-live --table-name Sessions
const expiresAt = Math.floor(Date.now() / 1000) + 3600;
// Store expiresAt as a Number for a one-hour lifetime.

A restored table needs TTL configured again, and multi-Region strongly consistent global tables do not support TTL. Missing TTL attributes are allowed but those items do not expire. Use CloudWatch TimeToLiveDeletedItemCount to check actual deletion activity and the TTL converter to inspect your timestamp.

See timestamp formats and AWS documentation.

Dynobase is a Professional GUI Client for DynamoDB

Start your 7-day free trial today

Product Features

Download
/
Pricing
/
Member Portal
/
Privacy
/
EULA
/
Twitter
© 2026 Dynobase
+
Still using AWS DynamoDB Console?
Try Dynobase to accelerate your DynamoDB workflow. Start your 7-day free trial today.