Question: What are the naming conventions in DynamoDB?

Answered by Rafal Wilinski
Last updated: October 23rd, 2026
Answer
DynamoDB table and index names must contain 3 to 255 characters, using letters, digits, underscores, hyphens or dots. Names are case-sensitive. A table name must be unique within one AWS account and Region, not across AWS globally.
Use a predictable convention such as orders-prod and orders-dev, or let infrastructure tooling generate physical names. Keep customer information and secrets out of resource names. Index names such as ByCustomerAndDate describe the lookup they support; choose one consistent convention across your application.
Attribute names follow different rules. They use UTF-8, must be nonempty and generally must be smaller than 64 KB. Table and index key attribute names have a 255-character API limit. For INCLUDE projections, keep each projected non-key attribute name within 255 UTF-8 bytes. Attribute names contribute to item size, so readable, concise names are preferable to unnecessarily long ones.
Reserved words and punctuation are allowed in attribute names, but need aliases in expressions. For example, map #state to status in ExpressionAttributeNames and use #state in the expression. A dot inside a literal attribute name must also be aliased to distinguish it from a nested document path. The reserved-word checker helps spot these cases.
Do not confuse a key's name with its value. Key attributes must be String, Number or Binary. A partition-key value need only be unique when it is the whole primary key; with a sort key, the pair is unique. Names such as PK and SK are conventions, not DynamoDB requirements. See DynamoDB keys for examples.
Source: AWS naming rules.
Other Common DynamoDB FAQ (with Answers)
- Is DynamoDB open source?
- What are the key differences between DynamoDB and Neo4j?
- Does DynamoDB charge for storage?
- How to access DynamoDB from EC2?
- What are the key differences between DynamoDB and Elasticsearch?
- How do you access DynamoDB from outside AWS?
- How do you store Japanese characters in DynamoDB?
- Does DynamoDB support load balancing?
- Is DynamoDB serverless?
- Can DynamoDB store documents?
- How do you mock DynamoDB in a test?
- Can DynamoDB have nested objects?
- Can DynamoDB have duplicates?
- Can colons and special characters be used in DynamoDB attributes?
- How do you handle empty strings in DynamoDB?
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