# `List.Chars`
[🔗](https://github.com/elixir-lang/elixir/blob/v1.20.0-rc.3/lib/elixir/lib/list/chars.ex#L5)

The `List.Chars` protocol is responsible for
converting a structure to a charlist (only if applicable).

The only function that must be implemented is
`to_charlist/1` which does the conversion.

The `to_charlist/1` function automatically imported
by `Kernel` invokes this protocol.

# `t`

```elixir
@type t() :: term()
```

All the types that implement this protocol.

# `to_charlist`

```elixir
@spec to_charlist(t()) :: charlist()
```

Converts `term` to a charlist.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
