See it as a diagram
Everything below, as a diagram you can edit. Describe yours and see it in seconds.
No account needed · Editable canvas, not a picture
The abbreviation problem
Vendors file icons under the full product name, because that is what the marketing catalogue calls them. Engineers search using the three letters they type in the console every day. The two almost never match, and the mismatch is worst for the oldest services, which is also where the icons are used most.
The list below covers most of what goes wrong in practice. It is worth keeping next to whoever maintains your icon folder, because the same handful of lookups fails repeatedly.
Azure and Google have their own versions of this. ADLS is filed as Data Lake Storage, GCS as Cloud Storage, and Azure Active Directory now appears under the Entra naming while diagrams and engineers alike still say AD. Getting the current name right matters twice, since the label under the icon should be the current product name too.
What you type What the vendor filed it under ------------- ------------------------------------------------ s3 Simple Storage Service sqs Simple Queue Service sns Simple Notification Service iam Identity and Access Management alb Elastic Load Balancing > Application Load Balancer nlb Elastic Load Balancing > Network Load Balancer eks Elastic Kubernetes Service ecs Elastic Container Service vpc Virtual Private Cloud adls Azure Data Lake Storage gcs Cloud Storage (Google Cloud)
The near-misses that put the wrong logo in a diagram
Name similarity is what most icon pickers fall back on when the exact string is not found, and it fails in a specific, dangerous way: it returns something confidently. This is measurable rather than theoretical. Running the abbreviations above against this site's own index of 2,095 icons, the ones with a stored alias resolve cleanly at 95 percent confidence: sqs to Simple Queue Service, gcs to Google Cloud Storage, vpc to the AWS VPC mark. The ones without fall through to name similarity and answer anyway. A bare s3 returns S3 on Outposts and a CSS3 logo, tied at 80. A bare alb returns two Azure load balancer marks, because Azure has "alb" as a stored alias and AWS does not. A bare iam returns Azure IP Address Manager. A bare adls returns nothing at all.
Read those four results as the argument for alias-first lookup rather than as an argument against search. Every one of the wrong answers is plausible in a grid of thumbnails, and only one of them is even the right cloud.
The other near-miss is picking the wrong tier of mark within the same pack. The AWS package ships architecture service icons, resource icons, category icons and group icons in separate top-level folders. Compute exists as a category icon, EC2 exists as a service icon, and an EC2 instance exists as a resource icon, in light and dark variants. All three are legitimate artwork and only one of them means what your box means.
Load balancing is the clearest case. There is one Elastic Load Balancing service mark, and beneath it separate resource marks for the application, network, gateway and classic balancers; this library carries all five files. Reaching for the service mark when the box is a specific ALB is not wrong, it is just vaguer than the diagram could be.
The rule that resolves the tier question: a node representing a managed service takes the service icon. A node representing one concrete thing inside that service, such as a single instance or a single bucket, takes the resource icon. A container drawn around several nodes takes the group icon. Category icons belong on slides that talk about a family of services, not on architecture nodes.
Alias-first lookup instead of guessing
The fix is to store the names people actually type alongside each icon rather than hoping string distance saves you. Each icon in the registry carries an alias array: the Simple Queue Service mark answers to sqs, aws-sqs, simple-queue-service and amazon-simple-queue-service, and the RDS mark answers to rds, amazon-rds, relational-database-service and managed-database. The abbreviation then resolves to the file the vendor filed under a longer name, at exact-alias confidence rather than by guessing.
That lookup is available three ways. Browsing the AWS collection with its search box, landing directly on a per-service page such as the SQS icon when a search engine sent you there, or through the MCP server, where a coding agent calls canvas_search_icons and gets ranked matches with a confidence and a match type back before it places a node. That tool is one of the 27 canvas tools the server exposes; see the agent integration for that path.
Or skip the lookup entirely
The lookup exists because someone is placing nodes by hand. When the diagram is generated from a description, the mapping happens during generation, from the full service name rather than the abbreviation, which is what steps around the whole failure mode above: name the services in a sentence and each node arrives with its mark already attached, drawn from a library of 2,098 files covering the three clouds plus the data and runtime tooling that surrounds them.
If one assignment is wrong, change that node on the canvas rather than starting over. That is the part worth optimising, because there is always one node where the right answer was a judgement call.
FAQ
Why can I not find an S3 icon in the AWS icon package?
Is there a separate icon for ALB and NLB?
What is the difference between an AWS service icon and a resource icon?
How do I search for a cloud icon by its abbreviation?
A service has both a category icon and a service icon. Which one goes on the node?