🐳

Docker Compose Validator

Inspect selected Compose YAML structures, dependencies and resource references

Docker Compose Configuration
πŸ”’ 100% client-side β€” your data never leaves this page
Maintained by Evanβ€’Updated: September 30, 2026
compose.yaml

Checks selected structure, dependencies and references in one file. Does not expand variables, include or extends, or run Docker Compose.

Validation result

Syntax, service, and dependency issues appear here.

About this tool

Inspect one Compose YAML document locally, up to 1 MiB and 500 services. The checker parses YAML with bounded alias expansion, checks a non-empty services mapping, selected image/build types, depends_on references and cycles, and named network, volume, config and secret references. Both short and long named-volume syntax are checked; Windows bind paths and the implicit default network are distinguished. Optional missing dependencies produce warnings. This is a selected-rule checker, not the full Compose Specification: it does not expand environment variables, load include or extends files, evaluate profiles, validate every service field or run Docker. Syntax errors show line and column; ordinary warnings do not block a document that passes these checks; unsupported syntax stops evaluation. Editing or clearing input invalidates previous results and pending file reads. Unresolved tags such as !reset or !override stop these checks with an unsupported-syntax notice, without interpreting their contents as normal references.

Frequently Asked Questions

Does passing mean Docker Compose will accept the file?

No. This checker covers the rules listed on the page. Use docker compose config with the actual environment, included files and profiles, then test the intended deployment.

Are long-form volumes checked?

Yes. A type: volume entry with source: data must declare data at the top level. Bind mounts, anonymous volumes and Windows drive paths are not mistaken for named volumes.

What does dependency checking include?

It checks missing service names, selected long-form options, self-dependencies and cycles among declared depends_on edges. Missing required:false dependencies produce warnings. It does not evaluate health checks, startup success or active profiles.

Are YAML extensions and external files resolved?

YAML anchors and merge keys are parsed with an alias expansion bound; x- extension keys are permitted. Environment interpolation and include/extends resolution are not performed. Unresolved custom tags stop checking and require Docker Compose; they are not treated as ordinary YAML values.

Is the YAML uploaded or saved?

No. File reading and checks run locally, without starting Docker or contacting a registry. This tool does not save an input draft.

Keep browsing