जब भी आपको कुछ स्थिरांक व्यक्त करने हों, आप एटम का उपयोग कर सकते हैं। एटम वैल्यू की तुलना करने का एक टाइप-सुरक्षित तरीका देते हैं। एक एटम अपने नाम से परिभाषित होता है, और उस नाम के आगे कोलन लगाया जाता है:
# Atoms start with a ':',
# followed by alphanumeric snake_cased characters
:an_atom
Elixir की स्टैंडर्ड लाइब्रेरी के बहुत से फंक्शन परिणाम बताने के लिए एक एटम लौटाते हैं:
Enum.fetch([1], 0)
# => {:ok, 1}
Enum.fetch([1], 2)
# => :error
एटम को भीतर से एक लुकअप टेबल में पूर्णांक द्वारा दर्शाया जाता है, और ये पूर्णांक अपने आप सेट हो जाते हैं। इससे एटम की तुलना करना स्ट्रिंग की तुलना करने से तेज़ हो जाता है। इस आंतरिक वैल्यू को बदलना संभव नहीं है। उपयोगकर्ता द्वारा दिए गए इनपुट से डायनामिक रूप से एटम बनाना आम तौर पर एक एंटी-पैटर्न माना जाता है। रनटाइम में सीमित संख्या के एटम के लिए ही जगह होती है। अगर एटम टेबल भर जाए, तो रनटाइम पर नए एटम बनाना विफल हो सकता है।