Most of the time you want an ARN for a specific, well-known AWS service, and a purpose-built form for that service is faster and safer — that is what the S3, Lambda, IAM, EC2, DynamoDB, SNS/SQS and KMS ARN generators elsewhere in this category do. ARN Builder is the generic form underneath all of them: six plain fields — partition, service, region, account id, resource type, and resource id, plus a choice of separator between the last two — that can assemble a syntactically correct ARN for literally any AWS service, including the many that do not have a dedicated generator here.
The reason a generic builder needs a "separator" choice at all is that AWS itself is not consistent about how a resource type attaches to a resource id. The majority of services join them with a slash — an IAM role is role/my-role, a DynamoDB table is table/Orders — but a meaningful minority use a colon instead, most notably a Lambda function with a version or alias suffix, where the shape is function:my-func:3. Get the separator wrong and the ARN looks almost right but is subtly broken; picking it explicitly here removes that guesswork. If a service's resource has no separate "type" at all — an S3 bucket, an SQS queue, an SNS topic — the resource type field is simply left blank, and the resource id alone becomes the resource segment, with no dangling separator.
Region and account are treated as genuinely optional, because for several core AWS services they really are. S3 bucket ARNs and IAM ARNs both omit the region field, and S3 additionally omits the account field, leaving the well-known double-colon in the middle of an ARN like arn:aws:s3:::my-bucket. Leaving those fields blank in the form produces exactly that shape rather than an error, since an empty region or account between two colons is not a mistake for those services — it is the correct format.
Once a field set is filled in enough to attempt a build — a service and a resource — the tool assembles the ARN and immediately runs it back through the same validator used across every tool in this category: the partition must be one of the three real AWS partitions, the account id must be empty or exactly twelve digits, the region (when present) must look like a genuine AWS region code, and the service field must be lowercase letters, digits, and hyphens only. Any of those checks failing produces a specific, named warning displayed alongside the built ARN rather than in place of it, so you can see exactly what looks unusual about the ARN you just built without losing the result.
This tool intentionally does not know anything about which AWS services actually exist, which resource types a given service supports, or what a valid resource id looks like for that service — it has no service-specific knowledge at all, by design, since that knowledge already lives in the seven dedicated per-service generators elsewhere in this category. What it is good for is everything those do not cover: a less common service, an unusual resource type, or simply understanding the mechanics of ARN assembly by building one field by field. Nothing you enter — including account IDs — is ever sent anywhere; the build and the validation both run locally in your browser.