📜 Explained entirely in your browser

Ansible Playbook Explainer

Paste a playbook and get a plain-English, task-by-task breakdown of exactly what it will do — which modules run, on what hosts, under what conditions, and which handlers get notified. Nothing is uploaded.

How it works

The pasted YAML is parsed in-browser with js-yaml, then for each task the explainer scans its keys and treats the first one that isn't a reserved playbook keyword (things like when, notify, tags, or become) as the module actually being called. That module name is looked up in a curated dictionary of common Ansible modules to produce its plain-English description, while tasks nested in block/rescue/always are recursively flattened and labeled accordingly.

FAQ

Why does a task show its module name with no description?
The explainer only describes modules in its built-in dictionary of common, unambiguous ones (apt, copy, systemd, docker_container, and similar) — an obscure, custom, or third-party module still shows up with its name and arguments, just without a guessed-at description.
How does it find the module used in a task that has many keys?
It scans a task's keys and treats the first one that isn't a reserved playbook keyword (like when, notify, become, or loop) as the module name — this works for the vast majority of real playbooks but can misidentify tasks that use unusual key combinations.

Free, unlimited, no account. If this saved you a paid tool, a small thanks is appreciated.

Say thanks — $3