A single ARN is easy to read by eye. A pasted list of two hundred of them — from a CloudTrail export, a policy's Resource array, or a spreadsheet column someone handed you — is not. Bulk ARN Parser takes a whole block of ARNs, one per line, and turns it into a single sortable, filterable, exportable table, with every line's partition, service, region, account id, resource type and resource id broken out as its own column.
Each line is parsed independently using the same field-splitting logic as the single-ARN parser: the fixed header up to the fifth colon becomes partition, service, region and account, and everything after that is treated as the resource, split on whichever of / or : appears first into a resource type and resource id. That single rule covers the ARN shapes you will meet in a real list — IAM roles and users, Lambda functions with aliases, DynamoDB tables, EC2 instances, KMS keys, SNS topics, SQS queues, S3 buckets and objects — without needing to know in advance which services are represented.
Every successfully parsed line also gets a validity badge, which is a stricter pass on top of the parse: it checks the partition against the three real AWS partitions, that the account id is either empty or exactly 12 digits, that the region looks like a real AWS region code, and that the service field is a plausible lowercase identifier. A line can parse cleanly (enough colon-separated fields, right prefix) and still show a red "invalid" badge if, say, the account id has the wrong number of digits — that distinction matters when you are auditing a list someone else produced and want to catch subtly wrong ARNs, not just outright garbage.
Lines that do not meet even the minimum shape of an ARN — too few colon-separated fields, or missing the arn: prefix — are not silently dropped and not shown as a broken table row either. They are collected into a separate "Failed lines" panel, each with its original line number, so a stray comment, a header row, or a genuinely malformed entry stays visible and traceable back to exactly where it was in your paste, instead of corrupting the table or vanishing without a trace.
Once the list is parsed, a live filter box searches across every column of every row — the ARN itself, the service, the account id, the resource id — so finding every line that touches a particular account or a particular Lambda function is a single keystroke, not a manual scan. A small stats row above the table summarizes the batch at a glance: total non-blank lines, how many parsed, how many failed, and how many distinct AWS services showed up across the list.
When you need the result somewhere else, the table exports as CSV (copy to clipboard or download) or as a JSON array of the same parsed records, ready to paste into a spreadsheet, attach to a ticket, or feed into a script. This is a browser-only tool: nothing you paste is ever sent anywhere, which matters given that ARN lists routinely contain real AWS account ids.