Lint CloudFormation JSON templates for missing DeletionPolicy, hardcoded IDs, open security groups, invalid refs, and score 0-100.
Always set DeletionPolicy and UpdateReplacePolicy on stateful resources like RDS instances, DynamoDB tables, and S3 buckets. This prevents accidental data loss during stack deletion or updates that require resource replacement.
Never expose SSH (22), RDP (3389), or database ports to 0.0.0.0/0. Use NoEcho for password parameters. Avoid hardcoding secrets in templates. Use AWS Secrets Manager or SSM Parameter Store instead.
Include a Description for documentation. Use Outputs for cross-stack references. Keep templates under 50 resources and use nested stacks for larger architectures. Tag all resources for cost tracking.
Avoid hardcoding account IDs and AMI IDs. Use pseudo parameters like AWS::AccountId and AWS::Region. Store AMI IDs in SSM Parameter Store or use Mappings for multi-region deployments.
The CloudFormation Template Linter analyzes your AWS CloudFormation templates for syntax errors, missing required fields, and deviations from best practices. It checks resource type validity, required property presence, parameter and output structure, and flags common mistakes like circular dependencies or missing DependsOn attributes. The linter runs entirely in your browser and provides categorized findings with severity levels so you can prioritize fixes before deploying to AWS.
Disclaimer: This tool runs entirely in your browser. No data is sent to our servers. Always verify outputs before using them in production. AWS, Azure, and GCP are trademarks of their respective owners.