All Tools View Categories About Contact Privacy

Bulk ARN Parser

Paste a list of AWS ARNs, one per line, and get a searchable, exportable table of every field.

Runs entirely in your browser — your ARNs and account ids never leave this page.
0
lines
0
parsed
0
failed
0
unique services
#ARNPartitionServiceRegionAccountResource typeResource idValid

  

About Bulk ARN Parser

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.

Features

  • One ARN per line, any quantity — parses the whole pasted block at once.
  • Fixed-column table — ARN, partition, service, region, account, resource type, resource id, valid badge.
  • Per-line validity badge — a stricter check layered on top of a successful parse (partition, account digits, region shape, service format).
  • Failed-lines panel with original line numbers for anything that does not meet the minimum ARN shape.
  • Live search across every column of every row.
  • Batch stats — total lines, parsed, failed, unique services.
  • Copy as CSV, download CSV, download JSON export options.
  • Preserves input order and duplicates — no silent deduplication or reordering.
  • Sample data and one-click clear.
  • 100% client-side — nothing is uploaded, ever.

How to Use

  1. Paste your ARNs, one per line, into the box — or click Load sample.
  2. Click Parse (or just stop typing — it parses live).
  3. Check the stats row for a quick summary: lines, parsed, failed, unique services.
  4. Scan the table — each row shows the ARN's fields plus a green/red validity badge.
  5. Review the Failed lines panel, if present, for anything that would not parse — each entry keeps its original line number.
  6. Search to narrow the table to a specific account, service, or resource id.
  7. Export — copy the visible table as CSV, or download the full result as CSV or JSON.

Examples

Example 1 — mixed service list. Pasting arn:aws:iam::123456789012:role/my-role, arn:aws:s3:::my-bucket/key.txt and arn:aws:lambda:eu-west-1:123456789012:function:my-func produces three rows and a unique-services count of 3.

Example 2 — one bad line. A list where line 2 is not-an-arn parses lines 1 and 3 normally and lists line 2 in the Failed lines panel as "2: not-an-arn".

Example 3 — subtly invalid but parseable. arn:aws:ec2:us-east-1:12345:instance/i-0abc123 parses into the table (it has 6 colon-separated fields and the right prefix) but shows a red validity badge because the account id 12345 is not 12 digits.

Example 4 — auditing one account. Paste a long export, then type an account id into the search box to instantly see only that account's ARNs across every service in the list.

Example 5 — empty input. Clicking Parse with nothing pasted shows a prompt to paste ARNs or load the sample, rather than an empty or misleading table.

Benefits

  • Turns a wall of ARNs into a scannable table in one paste.
  • Nothing silently lost — malformed lines are reported with their line number, not dropped.
  • Catches subtly wrong ARNs, not just outright garbage, via the validity badge.
  • Fast account/service auditing with a live, whole-row search.
  • Export-ready — CSV or JSON, straight into a spreadsheet, ticket, or script.
  • Private — bulk ARN lists, which often contain real account ids, never leave your browser.

Frequently Asked Questions

What does "bulk" mean here — how many ARNs can I paste?
Paste as many ARNs as you like, one per line — a handful or several thousand. Each non-blank line is parsed independently, so a mix of services, accounts and malformed lines in the same paste is fine.
How is this different from the single ARN Parser?
The single-ARN parser shows one field breakdown for one ARN. This tool is built for pasting a whole list at once — CloudTrail exports, a policy's Resource array, a spreadsheet column — and gives you a searchable, exportable table plus a separate panel for any lines that failed to parse.
What counts as a "valid" ARN in the table's badge column?
A line first has to meet the minimum shape to parse at all (starts with <code>arn:</code>, at least 6 colon-separated fields) — anything short of that goes into the failed-lines panel, not the table. Lines that do parse are then run through the same validation used by the ARN Parser tool: known partition, plausible service format, empty-or-12-digit account id, and a region that looks like a real AWS region code. The green/red badge reflects that second, stricter check.
What happens to lines that are not ARNs at all, or are blank?
Blank lines are silently skipped. Lines that do not parse (too few colon-separated fields, or missing the <code>arn:</code> prefix) are listed in a separate "Failed lines" panel with their original line numbers, so nothing is lost or misrepresented in the table.
Can I search or filter the results?
Yes — the filter box matches against every column (ARN, partition, service, region, account, resource type, resource id) for every visible row, live as you type.
What can I export?
Copy the current table as CSV, or download the full parsed result as CSV or JSON — both use the fixed column set: line, ARN, partition, service, region, account, resource type, resource id, and the valid flag.
Does it tell me which AWS services appear in my list?
The stats row shows a count of unique services found across all successfully parsed lines, so you can quickly see whether a list is, say, all IAM roles or a mix of a dozen services.
Is anything uploaded or sent to AWS?
No. Parsing and validation run entirely in your browser with no network requests — useful since bulk ARN lists often contain real account ids.
Does it deduplicate repeated ARNs?
No, every non-blank line is kept as its own row, in its original order, even if the same ARN appears more than once — that mirrors what a real export or policy document would contain.
Can order or line numbers matter for my use case?
Yes — both the parsed table and the failed-lines panel keep the original line number from your paste, so you can trace any row straight back to where it came from.