Ansible Playbook Validator
Paste an Ansible playbook or task file and catch the structural mistakes that break a run
before ansible-playbook even reaches a host — YAML errors, plays missing
hosts, and tasks that call no module (or more than one). It runs entirely in
your browser.
Results
Results appear here as you type.
100% private — validation runs entirely in your browser. Your input is never uploaded.
- name: Configure web servers
hosts: web
become: true
tasks:
- name: Install nginx
ansible.builtin.package:
name: nginx
state: present
- name: Deploy config
ansible.builtin.template:
src: nginx.conf.j2
dest: /etc/nginx/nginx.conf
notify: Reload nginx
handlers:
- name: Reload nginx
ansible.builtin.service:
name: nginx
state: reloaded What it checks
- • YAML syntax with line/column.
- • Play structure: each play needs
hostsand tasks/roles. - • Task validity: exactly one module per task; flags zero or multiple.
- • Misindented keys that escaped the
tasks:block. - • Idempotency hints:
shell/commandwithoutcreates/changed_when; unnamed tasks.
A structural check — for deep linting also run ansible-lint and
ansible-playbook --syntax-check.