Ansible vs Ansible-Core: Key Differences Explained (2026)
By Luca Berton · Published 2024-01-01 · Category: installation
Ansible vs ansible-core comparison. Understand the difference between the community package and the core engine, which to install, version mapping.
What's the Difference Between Ansible and ansible-core?
Since Ansible 2.10, the project split into two packages:
ansible-core(formerlyansible-base): The core engine — includesansible-playbook,ansible-galaxy,ansible-vault, the task executor, and theansible.builtincollection only.ansible(community package): A superset that installsansible-corePLUS a curated set of community collections (80+ collections includingcommunity.general,ansible.posix,ansible.windows, etc.).
Quick Comparison
| Feature | ansible-core | ansible (community package) |
|---|---|---|
| Includes | Core engine + ansible.builtin | Core engine + 80+ collections |
| Install size | ~15 MB | ~200 MB |
| Collections | Only ansible.builtin | community.general, ansible.posix, ansible.windows, amazon.aws, etc. |
| Maintained by | Red Hat core team | Community + Red Hat |
| Update frequency | Every ~4 months | Follows ansible-core releases |
| Best for | Minimal installs, CI/CD, EEs | Getting started, full-featured |
| pip install | pip install ansible-core | pip install ansible |
Version Mapping
The ansible community package and ansible-core use different version numbers:
| Ansible (community) | ansible-core | Python Required |
|---|---|---|
| 13.x | 2.19.x | 3.11+ |
| 12.x | 2.18.x | 3.10+ |
| 11.x | 2.17.x | 3.10+ |
| 10.x | 2.16.x | 3.10+ |
| 9.x | 2.15.x | 3.9+ |
| 8.x | 2.14.x | 3.9+ |
# Check ansible community package version
ansible --version
# Check ansible-core version specifically
python3 -m pip show ansible-coreSee also: Ansible 2.16.0: Major Enhancements and Updates
When to Install ansible-core Only
Install just ansible-core when you:
- Build Execution Environments (EEs): Minimize image size by including only needed collections
- Use CI/CD pipelines: Faster install, smaller footprint
- Need specific collections only: Install them individually with
ansible-galaxy - Work with Ansible Automation Platform: AAP uses ansible-core with curated collections
pip install ansible-core
ansible-galaxy collection install community.general
ansible-galaxy collection install ansible.posixWhen to Install the Full ansible Package
Install the full ansible package when you:
- Getting started: All common modules available immediately
- Don't know which collections you need: Everything included
- Want convenience over size: One install, everything works
- Follow tutorials: Most guides assume the full package
pip install ansibleSee also: Ansible-Core: The Foundation of Modern IT Automation
What's Included in ansible.builtin?
The ansible.builtin collection (included in ansible-core) provides essential modules:
- Files:
copy,file,template,lineinfile,blockinfile,fetch,stat,unarchive - System:
service,user,group,cron,sysctl,hostname,reboot - Packages:
apt,yum,dnf,pip,package - Commands:
command,shell,raw,script,expect - Network:
get_url,uri - Logic:
assert,debug,fail,set_fact,pause,wait_for - Cloud:
git
ansible.builtin, you only need ansible-core.
Common Collections NOT in ansible-core
These require the full ansible package or individual installation:
| Collection | Modules | Install |
|---|---|---|
community.general | parted, timezone, modprobe, nmcli | ansible-galaxy collection install community.general |
ansible.posix | mount, sysctl, at, acl | ansible-galaxy collection install ansible.posix |
ansible.windows | win_copy, win_shell, win_service | ansible-galaxy collection install ansible.windows |
amazon.aws | ec2_instance, s3_bucket, iam_role | ansible-galaxy collection install amazon.aws |
community.docker | docker_container, docker_compose | ansible-galaxy collection install community.docker |
community.postgresql | postgresql_db, postgresql_user | ansible-galaxy collection install community.postgresql |
Migration: From ansible to ansible-core
If you're downsizing from the full package to ansible-core:
- Identify used collections:
grep -r "community\.\|ansible\.\|amazon\.\|google\.\|azure\." playbooks/ roles/ \
| grep -oP '[a-z_]+\.[a-z_]+\.[a-z_]+' | sort -u- Create requirements.yml:
---
collections:
- name: community.general
version: ">=9.0.0"
- name: ansible.posix
version: ">=2.0.0"- Switch packages:
pip uninstall ansible
pip install ansible-core
ansible-galaxy collection install -r requirements.ymlSee also: Ansible Core 2.14.2 & Community 7.2.0: Latest Updates
FAQ
Should I install ansible or ansible-core?
For learning and general use, install ansible (the full package). For production, CI/CD, or Execution Environments, install ansible-core with only the collections you need.
Can I have both installed?
No. The ansible package includes ansible-core as a dependency. Installing ansible automatically installs the matching ansible-core version. You can't have them as separate installations.
Why did Ansible split into two packages?
Before Ansible 2.10, all modules shipped in one monolithic package. As the module count grew to 3,000+, releases became slow and unwieldy. The split allows collections to release independently and users to install only what they need.
How do I check which collections are installed?
ansible-galaxy collection listThis shows all installed collections with versions, regardless of whether you installed ansible or ansible-core.
Related Articles
Category: installation