<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Raghvendra Pandey</title>
    <description>The latest articles on DEV Community by Raghvendra Pandey (@pandey-raghvendra).</description>
    <link>https://dev.to/pandey-raghvendra</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3031233%2F3db6d024-1e58-41bb-983a-cb43818587d0.png</url>
      <title>DEV Community: Raghvendra Pandey</title>
      <link>https://dev.to/pandey-raghvendra</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/pandey-raghvendra"/>
    <language>en</language>
    <item>
      <title>I built a free tool to generate AWS architecture diagrams from Terraform — no signup, no credentials needed</title>
      <dc:creator>Raghvendra Pandey</dc:creator>
      <pubDate>Sat, 18 Apr 2026 19:37:33 +0000</pubDate>
      <link>https://dev.to/pandey-raghvendra/i-built-a-free-tool-to-generate-aws-architecture-diagrams-from-terraform-no-signup-no-e0o</link>
      <guid>https://dev.to/pandey-raghvendra/i-built-a-free-tool-to-generate-aws-architecture-diagrams-from-terraform-no-signup-no-e0o</guid>
      <description>&lt;p&gt;When someone asks "can you show me the architecture?", &lt;br&gt;
most DevOps engineers groan internally.&lt;/p&gt;

&lt;p&gt;Not because the architecture is complicated — because &lt;br&gt;
drawing it is. You open draw.io, spend 45 minutes dragging &lt;br&gt;
boxes, and by the time you share it, someone has already &lt;br&gt;
changed the infrastructure.&lt;/p&gt;

&lt;p&gt;Existing automated tools like Cloudcraft want $49/month &lt;br&gt;
&lt;strong&gt;and&lt;/strong&gt; read access to your AWS account. That's a non-starter &lt;br&gt;
for most individual engineers and small teams.&lt;/p&gt;

&lt;p&gt;So I built &lt;a href="https://infrasketch.cloud" rel="noopener noreferrer"&gt;InfraSketch&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;
  
  
  What it does
&lt;/h2&gt;

&lt;p&gt;Paste your Terraform HCL or docker-compose.yml → get a &lt;br&gt;
clean architecture diagram instantly.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Parses 25+ AWS resource types&lt;/li&gt;
&lt;li&gt;Detects relationships between resources automatically&lt;/li&gt;
&lt;li&gt;Groups by category (Networking, Compute, Database, 
Storage, Load Balancing, Messaging, Security)&lt;/li&gt;
&lt;li&gt;Uses official AWS Architecture icons&lt;/li&gt;
&lt;li&gt;Export as PNG, SVG, or draw.io file&lt;/li&gt;
&lt;li&gt;100% client-side — your code never leaves your browser&lt;/li&gt;
&lt;li&gt;No signup, no cloud credentials, completely free&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  How it works
&lt;/h2&gt;

&lt;p&gt;The tool does static analysis of your HCL code using a &lt;br&gt;
custom JavaScript parser. It extracts resource type and &lt;br&gt;
name from each &lt;code&gt;resource&lt;/code&gt; block, detects cross-references &lt;br&gt;
between resources, groups them visually by category, and &lt;br&gt;
renders the diagram as SVG with official AWS icons.&lt;/p&gt;

&lt;p&gt;Everything runs in your browser. There is no backend server.&lt;/p&gt;
&lt;h2&gt;
  
  
  Try it with this example
&lt;/h2&gt;

&lt;p&gt;Paste this into InfraSketch:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight hcl"&gt;&lt;code&gt;&lt;span class="nx"&gt;resource&lt;/span&gt; &lt;span class="s2"&gt;"aws_vpc"&lt;/span&gt; &lt;span class="s2"&gt;"main"&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nx"&gt;cidr_block&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"10.0.0.0/16"&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nx"&gt;resource&lt;/span&gt; &lt;span class="s2"&gt;"aws_subnet"&lt;/span&gt; &lt;span class="s2"&gt;"public"&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nx"&gt;vpc_id&lt;/span&gt;     &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;aws_vpc&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;main&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;id&lt;/span&gt;
  &lt;span class="nx"&gt;cidr_block&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"10.0.1.0/24"&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nx"&gt;resource&lt;/span&gt; &lt;span class="s2"&gt;"aws_internet_gateway"&lt;/span&gt; &lt;span class="s2"&gt;"gw"&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nx"&gt;vpc_id&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;aws_vpc&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;main&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;id&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nx"&gt;resource&lt;/span&gt; &lt;span class="s2"&gt;"aws_lb"&lt;/span&gt; &lt;span class="s2"&gt;"app"&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nx"&gt;name&lt;/span&gt;               &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"app-alb"&lt;/span&gt;
  &lt;span class="nx"&gt;load_balancer_type&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"application"&lt;/span&gt;
  &lt;span class="nx"&gt;subnets&lt;/span&gt;            &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;aws_subnet&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;public&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;id&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nx"&gt;resource&lt;/span&gt; &lt;span class="s2"&gt;"aws_eks_cluster"&lt;/span&gt; &lt;span class="s2"&gt;"main"&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nx"&gt;name&lt;/span&gt;     &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"production"&lt;/span&gt;
  &lt;span class="nx"&gt;role_arn&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;aws_iam_role&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;eks&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;arn&lt;/span&gt;
  &lt;span class="nx"&gt;vpc_config&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nx"&gt;subnet_ids&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;aws_subnet&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;public&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;id&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nx"&gt;resource&lt;/span&gt; &lt;span class="s2"&gt;"aws_iam_role"&lt;/span&gt; &lt;span class="s2"&gt;"eks"&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nx"&gt;name&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"eks-role"&lt;/span&gt;
  &lt;span class="nx"&gt;assume_role_policy&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;jsonencode&lt;/span&gt;&lt;span class="p"&gt;({})&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nx"&gt;resource&lt;/span&gt; &lt;span class="s2"&gt;"aws_db_instance"&lt;/span&gt; &lt;span class="s2"&gt;"db"&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nx"&gt;identifier&lt;/span&gt;     &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"prod-db"&lt;/span&gt;
  &lt;span class="nx"&gt;engine&lt;/span&gt;         &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"postgres"&lt;/span&gt;
  &lt;span class="nx"&gt;instance_class&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"db.t3.medium"&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nx"&gt;resource&lt;/span&gt; &lt;span class="s2"&gt;"aws_s3_bucket"&lt;/span&gt; &lt;span class="s2"&gt;"assets"&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nx"&gt;bucket&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"my-app-assets"&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nx"&gt;resource&lt;/span&gt; &lt;span class="s2"&gt;"aws_sqs_queue"&lt;/span&gt; &lt;span class="s2"&gt;"events"&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nx"&gt;name&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"event-queue"&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You'll see VPC, subnet, IGW, ALB, EKS, IAM, RDS, S3, and &lt;br&gt;
SQS — all grouped, connected, and rendered with official &lt;br&gt;
AWS icons.&lt;/p&gt;

&lt;h2&gt;
  
  
  The draw.io export
&lt;/h2&gt;

&lt;p&gt;One feature people find particularly useful — after &lt;br&gt;
generating the diagram you can export it as a draw.io file. &lt;br&gt;
This means InfraSketch generates the base structure &lt;br&gt;
automatically, then you open it in diagrams.net and &lt;br&gt;
customize it for presentations or documentation. Best of &lt;br&gt;
both worlds.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's next
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;CloudFormation template support&lt;/li&gt;
&lt;li&gt;Kubernetes manifest visualization
&lt;/li&gt;
&lt;li&gt;Azure and GCP resource icons&lt;/li&gt;
&lt;li&gt;Terragrunt support (top community request already!)&lt;/li&gt;
&lt;li&gt;Better connection routing and layout engine&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Links
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Tool: &lt;a href="https://infrasketch.cloud" rel="noopener noreferrer"&gt;infrasketch.cloud&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;GitHub: &lt;a href="https://github.com/pandey-raghvendra/infrasketch" rel="noopener noreferrer"&gt;pandey-raghvendra/infrasketch&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Built by a DevOps/SRE engineer with 9 years of production &lt;br&gt;
experience, frustrated by the same problem you probably &lt;br&gt;
have. Feedback and contributions welcome.&lt;/p&gt;

&lt;p&gt;What resource types or features would you like to see next?&lt;/p&gt;

</description>
      <category>devops</category>
      <category>terraform</category>
      <category>aws</category>
      <category>opensource</category>
    </item>
  </channel>
</rss>
