# incomplete filter docs

**URL:** <https://forum.ansible.com/t/incomplete-filter-docs/45624>\
**Category:** Get Help\
**Tags:** documentation\
**Created:** [April 1, 2026, 5:30pm UTC](https://forum.ansible.com/t/incomplete-filter-docs/45624 "2026-04-01T17:30:16Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![nickhardiman](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/nickhardiman/32/315_2.png) [@nickhardiman](https://forum.ansible.com/u/nickhardiman)\
**Post date:** [April 1, 2026, 5:30pm UTC](https://forum.ansible.com/t/incomplete-filter-docs/45624/1 "2026-04-01T17:30:16Z")

</div>

**some doc pages on filters are incomplete**.

Where’s the best place to start with discussing filter docs?

I was looking at filter docs today. This filter page looks great.

- [ansible.utils.ipaddr filter – This filter is designed to return the input value if a query is True, else False. — Ansible Community Documentation](https://docs.ansible.com/projects/ansible/latest/collections/ansible/utils/ipaddr_filter.html)

And somebody put a lot of work into a descriptive page to go with it.

- [Using the ipaddr filter — Ansible Community Documentation](https://docs.ansible.com/projects/ansible/latest/collections/ansible/utils/docsite/filters_ipaddr.html)

These pages, not so much.

- [ansible.builtin.lower filter – Convert a value to lowercase. — Ansible Community Documentation](https://docs.ansible.com/projects/ansible/latest/collections/ansible/builtin/lower_filter.html)
- [ansible.builtin.map filter – Applies a filter on a sequence of objects or looks up an attribute. — Ansible Community Documentation](https://docs.ansible.com/projects/ansible/latest/collections/ansible/builtin/map_filter.html)

---

<div class="post-metadata">

**Author:** ![chris](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/chris/32/293_2.png) [@chris](https://forum.ansible.com/u/chris)\
**Post date:** [April 1, 2026, 7:27pm UTC](https://forum.ansible.com/t/incomplete-filter-docs/45624/2 "2026-04-01T19:27:37Z")

</div>

I suspect it is because they are Jinja2 filters?

> **[Template Designer Documentation — Jinja Documentation (3.1.x)](https://jinja.palletsprojects.com/en/stable/templates/#builtin-filters)**
>
> abs()

But I agree that better docs would be good, the Jinja2 docs are fairly minimal, I always appreciate lots of examples inAnsible docs.

---

<div class="post-metadata">

**Author:** ![bcoca](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/bcoca/32/9269_2.png) [@bcoca](https://forum.ansible.com/u/bcoca)\
**Post date:** [April 1, 2026, 8:34pm UTC](https://forum.ansible.com/t/incomplete-filter-docs/45624/3 "2026-04-01T20:34:19Z")

</div>

`lower` and `map` are documented by Jinja, as they are part of that library. We do not document those in Ansible itself.

NEVERMIND: As per `ipaddr`, you can open an issue in the ansible.utils collection’s repo [Issues · ansible-collections/ansible.utils · GitHub](https://github.com/ansible-collections/ansible.utils/issues)

That page you posted IS the proper documentation, also accessible (if the collection is installed) via `ansible-doc -t filter ansible.utils.ipaddr`

---

<div class="post-metadata">

**Author:** ![nickhardiman](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/nickhardiman/32/315_2.png) [@nickhardiman](https://forum.ansible.com/u/nickhardiman)\
**Post date:** [April 2, 2026, 6:57am UTC](https://forum.ansible.com/t/incomplete-filter-docs/45624/4 "2026-04-02T06:57:50Z")

</div>

Thanks for this.

Yes, at first I thought the jinja2 docs would be authoritative and so that’s cool.  
But my brain also prefers better docs with examples.

Is this something a beginner like me can tackle?

I’m happy to learn how to contribute to these page myself, if I can figure out how to get started.

A bit more on my issue with ansible.builtin.map -

I find you’ve got to twiddle the Jinja2 way to get to the Ansible way. [Template Designer Documentation — Jinja Documentation (3.1.x)](https://jinja.palletsprojects.com/en/stable/templates/#jinja-filters.map) contains Jinja2 speak. `jinja-filters.map(*value: Iterable[Any]* , **args: Any* ,*** kwargs: Any* ) → Iterable[Any]` - sorry, what?

Also, there’s no CLI help - I was working offline yesterday, so the web was not an option. Doc command `ansible-doc -t filter -l` (and `ansible-navigator doc -t filter -l`) missed out the map filter.

```auto
vboxuser@fedoravm:~$ ansible-doc -t filter -l
...
ansible.builtin.log
ansible.builtin.mandatory <----- where is ansible.builtin.map?
ansible.builtin.md5
ansible.builtin.normpath
...

```

---

<div class="post-metadata">

**Author:** ![shertel](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/shertel/32/1241_2.png) [@shertel](https://forum.ansible.com/u/shertel)\
**Post date:** [April 2, 2026, 1:36pm UTC](https://forum.ansible.com/t/incomplete-filter-docs/45624/5 "2026-04-02T13:36:50Z")

</div>

> Also, there’s no CLI help - I was working offline yesterday, so the web was not an option.

It was added in 2.19. The changelog includes `ansible-doc - Return dynamic stub when reporting on Jinja filters and tests not explicitly documented in Ansible`.

---

<div class="post-metadata">

**Author:** ![sivel](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/sivel/32/1198_2.png) [@sivel](https://forum.ansible.com/u/sivel)\
**Post date:** [April 2, 2026, 4:58pm UTC](https://forum.ansible.com/t/incomplete-filter-docs/45624/6 "2026-04-02T16:58:11Z")

</div>

It is my hope that we will make these stubs completely dynamic in a future release. As such, there would additionally be no functionality for adding per filter documentation for filters we don’t own.
