Cloud & Platform

Cloud Storage URI Parser

Bucket, prefix, object and Hive partitions from any object-storage URI, plus the equivalent HTTPS and CLI forms.

Loading the tool…

Processing happens locally in your browser. What you paste or load is processed by this page and is not uploaded to a server. Nothing is stored unless you use a control that says it stores something, and you can clear anything this site has kept from the privacy page.

How to use this tool

  1. Paste your URIs, one per line, in any mixture of s3://, gs://, abfss://, wasbs:// and https:// forms.
  2. Select Parse URIs.
  3. Copy the form your tool wants from the equivalents at the bottom of each result.
  4. Check whether the result says object or prefix — a trailing slash means a listing, not a file.

What cloud storage uri parser does

The same object has three or four different addresses depending on which tool is asking. Spark wants s3a://, the CLI wants s3://, a browser wants an https:// URL, and Azure wants a container and an account rather than a bucket. Translating between them by hand is trivial and is exactly where the typo gets introduced, usually into a job that then fails at three in the morning.

Paste any of them and this reports the provider, the bucket or container, the prefix, the object and its extension, along with any Hive-style partition segments it finds in the path — and then writes out the equivalent forms so you can copy the one your tool wants. A URI ending in a slash is reported as a prefix rather than an object, because a listing and a file are different things.

Frequently asked questions

They address the same object; the scheme selects the client. s3a:// is the Hadoop filesystem connector used by Spark, Hive and anything on the Hadoop stack, while s3:// is what the AWS CLI and SDKs use. The older s3n:// and the original Hadoop s3:// are both retired. If a Spark job reports that a scheme has no filesystem, this is usually the reason.

Because Azure needs two names where S3 needs one. The part before the @ is the container and the host before .dfs.core.windows.net is the storage account, so abfss://raw@mystorage.dfs.core.windows.net/path means the raw container in the mystorage account. The tool separates them for you, since which one goes where is a frequent source of a failed mount.

Path segments of the form key=value, such as dt=2026-01-01 or region=eu. Query engines read those as columns without opening a file, which is what makes partition pruning work. Seeing them listed is a quick confirmation that a path is laid out the way your engine expects, since a single mistyped segment quietly stops the pruning.

Because a URI ending in a slash addresses a prefix — everything underneath it — and not a single object. Object storage has no real directories, so the distinction is only visible in that trailing character, and a tool that reported the last segment as a filename would be describing a listing as a file.