Атоми можна використовувати щоразу, коли потрібно виразити набір констант. Атоми дають типобезпечний спосіб порівнювати значення. Атом визначається своїм імʼям, перед яким стоїть двокрапка:
# Atoms start with a ':',
# followed by alphanumeric snake_cased characters
:an_atom
Багато функцій зі стандартної бібліотеки Elixir повертають атом, щоб позначити результат:
Enum.fetch([1], 0)
# => {:ok, 1}
Enum.fetch([1], 2)
# => :error
Атоми усередині подано цілим числом у таблиці пошуку, і ці числа призначаються автоматично. Завдяки цьому порівнювати атоми швидше, ніж порівнювати рядки тексту (англ. string). Змінити це внутрішнє значення неможливо. Динамічно створювати атоми з вхідних даних, які надав користувач, зазвичай вважається антипатерном. Середовище виконання має місце лише для обмеженої кількості атомів, тож створення нових атомів під час виконання може не вдатися, якщо таблиця атомів заповнена.