Developer tools · Containers

Docker image name validator.

Paste an image reference such as ghcr.io/owner/app:1.2 to check it against the same grammar Docker and containerd use, then see it split into registry, repository, tag and digest. This checks syntax only. It cannot tell you whether the image exists. Nothing leaves your browser.

Advertisement

Input

Format: [registry/]repository[:tag][@digest]. No spaces and no https:// prefix.

Result

Enter an image reference and press Validate.

The rules an image reference must follow

A reference is name[:tag][@digest]. The name is an optional registry host (with optional :port) followed by one or more path components separated by /. Each path component is lowercase letters and digits, optionally joined by a single ., one or two underscores, or any number of dashes. It cannot start or end with a separator.

The repository name can be at most 255 characters. A tag starts with a letter, digit or underscore, then allows letters, digits, _, . and -, up to 128 characters. A digest is algorithm:hex; for sha256 the hex part must be exactly 64 lowercase characters, and 128 for sha512.

Names with no registry, such as ubuntu or bitnami/nginx, live on Docker Hub. The first part is treated as a registry host only if it is localhost, contains a . or :, or has an uppercase letter. A single-component Hub name gets the library/ prefix, so ubuntu normalizes to docker.io/library/ubuntu:latest.

Sources: distribution/reference (regexp.go, reference.go, normalize.go), the reference implementation Docker and containerd use; OCI Distribution Spec (name and tag patterns); OCI Image Spec, descriptor.md (digest format).

Frequently asked questions

What are the rules for a Docker image name?

Repository path components must be lowercase alphanumerics with optional separators (., _, __, dashes), the repository is at most 255 characters, and a tag is at most 128 characters of letters, digits, _, . and -, not starting with . or -.

Why is my image name rejected for uppercase letters?

Repository names must be lowercase. Uppercase is allowed in the registry host and in the tag only, so MyReg.io/app:V1 is fine but myreg.io/App:v1 is not.

Does a valid result mean the image exists?

No. This tool only checks that the text is a well-formed reference. It never contacts a registry, so it cannot tell whether the image, tag or digest exists or whether you have access to it.

What happens when I give both a tag and a digest?

It is valid syntax, but tools pull by the digest and ignore the tag. The tag is kept only as a human-readable hint.

Format check only

A pass means the reference is well-formed under the distribution/reference grammar. It does not confirm that the image exists, that the registry is reachable, or that you may pull it. Runs entirely in your browser; nothing is sent or stored.

Advertisement
Advertisement
Listening…