DynamoDB Table Schema Design Tool
Last updated: October 23rd, 2026
Design a DynamoDB table's primary key, global secondary indexes and capacity settings, then copy the generated CreateTable request. Save it as a JSON file and pass it to the AWS CLI with aws dynamodb create-table --cli-input-json file://table.json, or use it as SDK input. This tool generates a definition; it does not connect to AWS or create the table for you.
Start with the reads and writes your application needs, then choose keys and indexes that support those access patterns. The table creation guide explains the next steps. CloudFormation, SAM and Terraform use their own resource formats, so adapt the output before using it there.
Set Table Name
Must be between 3 and 255 characters long
Primary Key Type
Simple
Simple - key that is composed of only one attribute.
Composite - key that is composed of two attributes. The first attribute is the partition key, and the second attribute is the sort key
Composite - key that is composed of two attributes. The first attribute is the partition key, and the second attribute is the sort key
Select Partition Key
String
Table Class
Standard
The default. Balanced storage and throughput pricing.
Deletion Protection
Disabled
When enabled, the table cannot be deleted until you turn this off.
DynamoDB Stream
Disabled
Emits a change record for every write, which Lambda and Kinesis can consume.
Capacity Mode
On-Demand
Pay for WRU (Write Request Units) and RRU (Read Request Units). Learn More
Frequently Asked Questions
How can I create a DynamoDB table in AWS?
Use the AWS console, AWS CLI, an AWS SDK or an infrastructure tool such as CloudFormation, CDK, SAM or Terraform. This page generates a CreateTable API request; it does not deploy a table. See the table creation guide for a walkthrough.
What should I do with the generated JSON?
Save it as table.json and run
aws dynamodb create-table --cli-input-json file://table.json, or pass the object to an SDK CreateTable operation. It is not an item in DynamoDB AttributeValue JSON format. CloudFormation and SAM need a resource wrapper and compatible properties; Terraform uses a different configuration format, so do not paste the request unchanged.How should I choose a DynamoDB table schema?
List your application's access patterns first: which item or collection each request needs and how results must be sorted. Choose a partition key to distribute traffic, add a sort key for ordered collections, and use secondary indexes for other lookup patterns. The DynamoDB keys guide explains these choices.
Are DynamoDB table names unique?
Yes, within an AWS account and Region. A table with the same name can exist in a different account or Region. Names are case-sensitive in the managed DynamoDB service.
What are DynamoDB table, attribute and GSI naming rules?
Table and secondary-index names must contain 3 to 255 characters using letters, digits, underscores, hyphens or dots. Attributes have separate UTF-8 naming rules; key attribute names are limited to 255 characters by the API. A convention such as orders-prod and keys named pk and sk is an application choice, not an AWS requirement. Alias reserved words when using them in expressions.
Are DynamoDB tables schemaless?
Non-key attributes are flexible: different items can have different attributes and types. You must define the table's primary key and the key attributes of its indexes, using String, Number or Binary types. AttributeDefinitions lists key attributes only, not every field you plan to store.
Are DynamoDB tables encrypted at rest?
Yes. Encryption at rest is always enabled, using an AWS owned key by default at no additional charge. You can choose an AWS managed KMS key or a customer managed KMS key instead; KMS charges and permissions then apply. A customer managed key gives you control over its policy and lifecycle.
Can I rename a DynamoDB table or change its primary key?
No. Create a new table and migrate the data to change the table name or primary key. You can add or remove GSIs and change capacity settings on an existing table. LSIs must be defined when the table is created.
How do I inspect data after creating a table?
Use Explore items in the AWS console, SDK or CLI reads, or a desktop client. Prefer Query when you know the partition key; Scan evaluates items across the table. Dynobase's query workspace provides visual filters and saved queries.
Does this designer support every DynamoDB schema feature?
No. It generates a base-table key, ordinary GSIs, capacity settings, tags, table class, deletion protection and an optional stream. The form does not model LSIs, multi-attribute GSI keys or vector indexes. Use the AWS API or an infrastructure tool for those configurations.
Dynobase is a Professional GUI Client for DynamoDB
Start your 7-day free trial today
Product Features
DynamoDB Tools
DynamoDB Info
© 2026 Dynobase