Developer Tools · Developer
Docker Compose Validator
Validate docker-compose.yml in your browser and visualize the service dependency graph and port map. Detects port conflicts, depends_on cycles, and more.Runs in your browser
Last updated:
How to Use
Expand how to useCollapse how to use
- 1
Paste your docker-compose.yml
Paste the docker-compose.yml you want to validate into the text area, or upload a file. You can also start from a sample.
- 2
Review validation and issues
Issues such as port conflicts, depends_on cycles, and undefined references are listed by severity. Filter them by severity.
- 3
Explore the graph and ports
Service dependencies are shown as a dependency graph and published ports in a port map table, giving you the full picture of the configuration.
docker-compose.yml
Validation Result
Enter a docker-compose.yml to validate
What is the Docker Compose Validator?
Docker Compose Validator is an online tool that validates your docker-compose.yml in the browser and visualizes its structure. Beyond catching YAML syntax errors with line numbers, it runs semantic checks: whether multiple services publish the same host port (port conflicts), whether depends_on references a service that does not exist, whether there are circular dependencies, whether services reference undefined named volumes or networks, and whether images are pinned to a specific version (a warning on latest). It also renders the relationships between services as an interactive dependency graph and lists every published port in a port map table, so you can quickly grasp the whole picture when wiring up multi-container stacks for your homelab or self-hosted setup. Everything runs entirely in your browser, and your file is never sent to any server.
Key Features
- Detects host port conflicts
- Detects circular dependencies and references to non-existent services in depends_on
- Visualizes service dependencies as an interactive graph
- Checks for undefined named volume and network references
- Runs entirely in your browser with no data sent to any server
When It Helps
- Wiring up multi-container stacks for a homelab or self-hosted setup
- Debugging service dependencies and port assignments
- Checking a docker-compose.yml for port conflicts before deploying
- Reviewing the structure of a compose file written by someone else
Frequently Asked Questions
Is my input sent anywhere?
No. All validation and visualization run in JavaScript in your browser, and your docker-compose.yml is never sent to any server.
Which port notations are supported?
ports supports "8080:80", "127.0.0.1:8080:80", "8080:80/udp", ranges (8080-8081:80-81), and the long syntax (published / target). depends_on dependencies are extracted from both the short list form and the long form (with conditions).
Why is the image latest tag flagged?
latest can change every time it is updated, which makes reproducible deployments harder. This tool surfaces it as informational guidance to pin a specific version (it is not an error).
How is this different from docker compose config?
docker compose config requires the Docker CLI locally, while this tool works entirely in the browser. It also focuses on visual inspection, such as the dependency graph and instant highlighting of port conflicts.