How to use this developer tool
- Paste the requested YAML or key/value input.
- Adjust the available options for the target output.
- Select Validate Compose or press Ctrl/Cmd + Enter.
- Review findings, then copy or download the result.
Check a Docker Compose YAML document for structural mistakes before you run it. The validator parses services, networks, volumes, ports, dependencies, environment entries, and common service keys in the browser. It reports precise findings without sending configuration data to a server. Use the result as an early review step; Docker Compose remains the final authority for engine-specific validation and interpolation.
Parses a Compose document, confirms that services form a mapping, checks service definitions and flags common errors such as missing image/build sources, malformed ports, unknown dependencies, and invalid environment shapes.
The result is generated locally and should be reviewed before deployment.
The Sample button loads a representative input. Running it produces the same structured output displayed in the result panel, including counts and any findings.
services:
web:
image: nginx:1.27
ports:
- "8080:80"
environment:
NODE_ENV: production
api:
build: ./api
depends_on:
- webThe check is structural and conservative. It recognizes current Compose files with or without a top-level version key and does not require obsolete version declarations.
It does not expand anchors, resolve environment-variable substitutions, inspect referenced files, or run the Docker Compose schema.
The result follows the static rules described on this page. Review finding 1 in context and confirm it with the relevant Docker or Kubernetes command before deployment.
The result follows the static rules described on this page. Review finding 2 in context and confirm it with the relevant Docker or Kubernetes command before deployment.
The result follows the static rules described on this page. Review finding 3 in context and confirm it with the relevant Docker or Kubernetes command before deployment.
Input is processed in your browser. The page does not make a network request with the configuration, but downloaded output and browser history should still be handled according to your security policy.
The result follows the static rules described on this page. Review finding 5 in context and confirm it with the relevant Docker or Kubernetes command before deployment.