# Sort version number

**URL:** <https://forum.ansible.com/t/sort-version-number/3871>\
**Category:** Get Help\
**Created:** [February 14, 2024, 3:29pm UTC](https://forum.ansible.com/t/sort-version-number/3871 "2024-02-14T15:29:30Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![daemenseth](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/daemenseth/32/677_2.png) [@daemenseth](https://forum.ansible.com/u/daemenseth)\
**Post date:** [February 14, 2024, 3:29pm UTC](https://forum.ansible.com/t/sort-version-number/3871/1 "2024-02-14T15:29:30Z")

</div>

I have a issue with sorting

I have a list from version numbers:  
[‘9.0.0’, ‘11.1.1’, ‘11.1.0-h2’, ‘11.1.0’]

I want to sort these:  
I have this code:  
- set\_fact:  
sorted\_versions: “{{ result | sort(reverse=true) }}”

but the sorting is then:  
[‘9.0.0’, ‘11.1.1’, ‘11.1.0-h2’, ‘11.1.0’]

instead of:  
[‘11.1.1’, ‘11.1.0-h2’, ‘11.1.0’,‘9.0.0’,]

How can I arrange that?

---

<div class="post-metadata">

**Author:** ![mkrizek](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/mkrizek/32/2055_2.png) [@mkrizek](https://forum.ansible.com/u/mkrizek)\
**Post date:** [February 14, 2024, 3:53pm UTC](https://forum.ansible.com/t/sort-version-number/3871/2 "2024-02-14T15:53:48Z")

</div>

The `sort` filter is provided by [Jinja2](https://jinja.palletsprojects.com/en/3.1.x/templates/#jinja-filters.sort) which uses Python’s `sorted` that does not know how to sort versions (which versioning scheme?). You would have to provide a sorting function to `sorted` and in order to do that you would have to implement your own filter since provided `sort` does not allow that functionality.

Maybe the `version_sort` from the `community.general` collection would work for your use case? See [community.general.version\_sort filter – Sort a list according to version order instead of pure alphabetical one — Ansible Documentation](https://docs.ansible.com/ansible/latest/collections/community/general/version_sort_filter.html)

---

<div class="post-metadata">

**Author:** ![daemenseth](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/daemenseth/32/677_2.png) [@daemenseth](https://forum.ansible.com/u/daemenseth)\
**Post date:** [February 15, 2024, 1:46pm UTC](https://forum.ansible.com/t/sort-version-number/3871/3 "2024-02-15T13:46:25Z")

</div>

I solved the issue with adding a filter plugin.
