The Elixir Team
(https://elixir-lang.org) 📸 Data Snapshot: June 20, 2026Pull the main entities out of the H1, then check whether they actually recur through the body. A page that announces one thing and then talks about another drifts. Headings with no real sentences underneath read as pseudo-substance.
There is zero detectable semantic drift between the homepage signal and the sub-page substance. The H5 header on the homepage defines Elixir as a dynamic, functional language, and the Learning and Install pages deliver the literal means to verify that claim. The Cases page supports the Companies using Elixir in production claim with structured evidence of real-world use. The heading hierarchy is logically consistent across all four audited pages, facilitating a clear understanding of the tool’s utility.
Semantic Coherence is read from the heading hierarchy first: what each page announces in its H1 and headings, then whether the body actually delivers on it. Below is the structure the engine mapped, followed by the clean text to check for drift between promise and reality.
🏗️ Semantic Structure — heading hierarchy & page identity (the promise the page makes)
HOMEPAGE The Elixir programming language (https://elixir-lang.org)
The Elixir programming language
Welcome to Elixir, a dynamic, functional language designed for building scalable and maintainable applications
NAV_HEADER_HEADING_REPEATED The Elixir programming language (https://elixir-lang.org/cases.html)
The Elixir programming language
Welcome to Elixir, a dynamic, functional language designed for building scalable and maintainable applications
NAV_HEADER_HEADING_REPEATED_BODY Learning resources – The Elixir programming language (https://elixir-lang.org/learning.html)
Learning resources – The Elixir programming language
Welcome to Elixir, a dynamic, functional language designed for building scalable and maintainable applications
NAV_HEADER Installing Elixir – The Elixir programming language (https://elixir-lang.org/install.html)
Installing Elixir – The Elixir programming language
Welcome to Elixir, a dynamic, functional language designed for building scalable and maintainable applications
📝 The Narrative — clean text per page (homepage promise vs. sub-page reality)
HOMEPAGE (https://elixir-lang.org) The Elixir programming language
[H5] Elixir is a dynamic, functional language for building scalable and maintainable applications.
Elixir runs on the Erlang VM, known for creating low-latency, distributed, and fault-tolerant systems. These capabilities and Elixir tooling allow developers to be productive in several domains, such as web development, embedded software, machine learning, data pipelines, and multimedia processing, across a wide range of industries.
Here is a peek:
iex> "Elixir" |> String.graphemes() |> Enum.frequencies()
%{"E" => 1, "i" => 2, "l" => 1, "r" => 1, "x" => 1}
Check our Getting Started guide and our Learning page to begin your journey with Elixir. Or keep scrolling for an overview of the platform, language, and tools.
#superbowl
#mqtt
#growth
#team
#web
#streaming
#scaling
#web
#energy
#iot
#nerves
#open-data
#gov
#phoenix
#multiplayer
#udp
#otp
#virtual-spaces
#phoenix
#biz-intelligence
#phoenix
#messaging
#broadway
#computer-vision
#phoenix
#api
#integration
#xml
#collab
#phoenix
#otp
#social
#broadway
#real-time
#genstage
#otp
#paas
#phoenix
#embedded
#nerves
[H3] Platform features
[H4] Scalability
All Elixir code runs inside lightweight threads of execution (called processes) that are isolated and exchange information via messages:
current_process = self()
# Spawn an Elixir process (not an operating system one!)
spawn_link(fn ->
send(current_process, {:msg, "hello world"})
end)
# Block until the message is received
receive do
{:msg, contents} -> IO.puts(contents)
end
Due to their lightweight nature, you can run hundreds of thousands of processes concurrently in the same machine, using all machine resources efficiently (vertical scaling). Processes may also communicate with other processes running on different machines to coordinate work across multiple nodes (horizontal scaling).
Together with projects such as Numerical Elixir, Elixir scales across cores, clusters, and GPUs.
[H4] Fault-tolerance
The unavoidable truth about software in production is that things will go wrong. Even more when we take network, file systems, and other third-party resources into account.
To react to failures, Elixir supervisors describe how to restart parts of your system when things go awry, going back to a known initial state that is guaranteed to work:
children = [
TCP.Pool,
{TCP.Acceptor, port: 4040}
]
Supervisor.start_link(children, strategy: :one_for_one)
The combination of fault-tolerance and message passing makes Elixir an excellent choice for event-driven systems and robust architectures. Frameworks, such as Nerves, build on this foundation to enable productive development of reliable embedded/IoT systems.
[H3] Language features
[H4] Functional programming
Functional programming promotes a coding style that helps developers write code that is short, concise, and maintainable. For example, pattern matching allows us to elegantly match and assert specific conditions for some code to execute:
def drive(%User{age: age}) when age >= 16 do
# Code that drives a car
end
drive(User.get("John Doe"))
#=> Fails if the user is under 16
Elixir relies on those features to ensure your software is working under the expected constraints. And when it is not, don't worry, supervisors have your back!
[H4] Extensibility and DSLs
Elixir has been designed to be extensible, allowing developers to naturally extend the language to particular domains, in order to increase their productivity.
As an example, let's write a simple test case using Elixir's test framework called ExUnit:
defmodule MathTest do
use ExUnit.Case, async: true
test "can add two numbers" do
assert 1 + 1 == 2
end
end
The async: true option allows tests to run in parallel, using as many CPU cores as possible, while the assert functionality can introspect your code, providing great reports in case of failures.
Other examples include using Elixir to write SQL queries, compiling a subset of Elixir to the GPU, and more.
[H3] Tooling features
[H4] A growing ecosystem
Elixir ships with a great set of tools to ease development. Mix is a build tool that allows you to easily create projects, manage tasks, run tests and more:
$ mix new my_app
$ cd my_app
$ mix test
.
Finished in 0.04 seconds (0.04s on load, 0.00s on tests)
1 test, 0 failures
Mix also integrates with the Hex package manager for dependency management and hosting documentation for the whole ecosystem.
[H4] Interactive development
Tools like IEx (Elixir's interactive shell) leverage the language and platform to provide auto-complete, debugging tools, code reloading, as well as nicely formatted documentation:
$ iex
Interactive Elixir - press Ctrl+C to exit (type h() ENTER for help)
iex> h String.trim # Prints the documentation
iex> i "Hello, World" # Prints information about a data type
iex> break! String.trim/1 # Sets a breakpoint
iex> recompile # Recompiles the current project
Code notebooks like Livebook allow you to interact with Elixir directly from your browser, including support for plotting, flowcharts, data tables, machine learning, and much more!
[H4] Erlang compatible
Elixir runs on the Erlang VM giving developers complete access to Erlang's ecosystem, used by companies like WhatsApp, Klarna, and many more to build distributed, fault-tolerant applications. An Elixir programmer can invoke any Erlang function with no runtime cost:
iex> :crypto.hash(:sha256, "Using crypto from Erlang OTP")
<<192, 223, 75, 115, ...>>
To learn more about Elixir, check our Getting Started guide.
[H3] News: Elixir v1.20 released
[H3] Important links
Development & Team
Source code & issues tracker
Watch the Elixirmini-documentary!
[H3] Join the Community
Hex.pm package manager
@elixirlang on Twitter
#elixir on irc.libera.chat
Elixir Forum
Elixir on Slack
Elixir on Discord
IDE/Editor support
Meetups around the world
Jobs and hiring (community wiki)
Events and resources (community wiki)
[IMG: Join the Erlang Ecosystem Foundation]
© 2012–2026 The Elixir Team.
Elixir and the Elixir logo are registered trademarks of The Elixir Team.
SUB-PAGE (https://elixir-lang.org/cases.html) The Elixir programming language
[H1] Cases Click on the cases below to learn more about how companies across different industries are using the power of Elixir and its ecosystem to create and grow their businesses. Cases are listed in the order they have been published. #growth #team #web #social #broadway #real-time #genstage #otp #superbowl #mqtt #streaming #scaling #web #energy #iot #nerves #open-data #gov #phoenix #multiplayer #udp #otp #virtual-spaces #phoenix #biz-intelligence #phoenix #messaging #broadway #computer-vision #phoenix #api #integration #xml #collab #phoenix #otp #paas #phoenix #embedded #nerves [H3] News: Elixir v1.20 released [H3] Important links Development & Team Source code & issues tracker Watch the Elixirmini-documentary! [H3] Join the Community Hex.pm package manager @elixirlang on Twitter #elixir on irc.libera.chat Elixir Forum Elixir on Slack Elixir on Discord IDE/Editor support Meetups around the world Jobs and hiring (community wiki) Events and resources (community wiki) [IMG: Join the Erlang Ecosystem Foundation] © 2012–2026 The Elixir Team. Elixir and the Elixir logo are registered trademarks of The Elixir Team.
SUB-PAGE (https://elixir-lang.org/learning.html) Learning resources – The Elixir programming language
[H1] Learning Elixir’s official documentation includes a Getting Started guide to learn more about Elixir’s foundations. Later on, it explores how to build projects with Mix and OTP. Elixir also includes extensive API documentation. The Elixir Community has also produced plenty of resources to learn the language from different backgrounds and other perspectives. We list some of them below. We are sure you will find a resource that suits your pace and goals. [H2] Books [H4] Elixir in Action [IMG: Elixir in Action cover] Elixir in Action is a tutorial book that aims to bring developers new to Elixir and Erlang to the point where they can develop complex systems on their own. No knowledge about Elixir, Erlang, or functional programming is required, but it is assumed that a reader has a few years of production experience using mainstream OO languages, for example C#, Java, Python, or Ruby. The book starts with a basic introduction to the Elixir language and functional programming idioms. The central part of the book deals with Erlang VM and OTP, discussing topics such as concurrent programming, fault-tolerance, and distributed systems. Finally, you’ll learn how to package your code into components, create a standalone deployable release, and troubleshoot the running system. The theory is demonstrated through a simplistic example that is gradually expanded throughout the book into a fully standalone releasable system. [H4] Programming Elixir 1.6 [IMG: Programming Elixir cover] This book is the introduction to Elixir for experienced programmers, completely updated for Elixir 1.6 and beyond. Explore functional programming without the academic overtones (tell me about monads just one more time). Create concurrent applications, but get them right without all the locking and consistency headaches. Meet Elixir, a modern, functional, concurrent language built on the rock-solid Erlang VM. Elixir’s pragmatic syntax and built-in support for metaprogramming will make you productive and keep you interested for the long haul. Maybe the time is right for the Next Big Thing. Maybe it’s Elixir. [H4] Adopting Elixir [IMG: Programming Elixir cover] Adoption is more than programming. Elixir is an exciting new language, but to successfully get your application from start to finish, you’re going to need to know more than just the language. You need the case studies and strategies in this book. Learn the best practices for the whole life of your application, from design and team-building, to managing stakeholders, to deployment and monitoring. Go beyond the syntax and the tools to learn the techniques you need to develop your Elixir application from concept to production. [H4] Joy of Elixir [IMG: Joy of Elixir] Joy of Elixir is a gentle introduction to programming, aimed at people who already know some things about computers, but who have little-to-no programming experience. This book will teach you the core concepts of the Elixir programming language in a fun and enjoyable way. If you’re completely new to programming and you want to learn how to make a computer do things using the power of programming and you want to experience some joy while doing it, then read this book! [H4] Learn Functional Programming With Elixir [IMG: Learn Functional Programming with Elixir cover] Elixir’s straightforward syntax and this guided tour give you a clean, simple path to learn modern functional programming techniques. No previous functional programming experience required! This book walks you through the right concepts at the right pace, as you explore immutable values and explicit data transformation, functions, modules, recursive functions, pattern matching, high-order functions, polymorphism, and failure handling, all while avoiding side effects. Don’t board the Elixir train with an imperative mindset! To get the most out of functional languages, you need to think functionally. This book will get you there. [H4] The Toy Robot Walkthrough [IMG: Toy Robot] The Toy Robot is a common interview exercise for new programmers. This short book will take you through how to implement it in Elixir in a BDD-style, with some great explanations and imagery along the way. If you’re a new Elixir developer who’s gone through some basic Elixir tutorials and you’re looking for the next thing to build your skills, this book is a great start. It covers the Toy Robot exercise from start to finish, testing with Elixir features such as ExUnit and Doctests along the way. [H4] Elixir Succinctlyfree [IMG: Elixir Succinctly] Elixir Succinctly is a free ebook to start learning Elixir. It covers the installation and the first steps with the language and the syntax. It then describes the Erlang/OTP platform, describing messages, processes, and GenServer. The final part covers the building of a sample Elixir application. [H2] In-depth books [H4] Metaprogramming Elixir [IMG: Metaprogramming Elixir cover] Write code that writes code with Elixir macros. Macros make metaprogramming possible and define the language itself. In this book, you’ll learn how to use macros to extend the language with fast, maintainable code and share functionality in ways you never thought possible. You’ll discover how to extend Elixir with your own first-class features, optimize performance, and create domain-specific languages. [H4] Designing Elixir Systems with OTP [IMG: Designing Elixir Systems with OTP cover] You know how to code in Elixir; now learn to think in it. Learn to design libraries with intelligent layers that shape the right data structures, flow from one function into the next, and present the right APIs. Embrace the same OTP that’s kept our telephone systems reliable and fast for over 30 years. Move beyond understanding the OTP functions to knowing what’s happening under the hood, and why that matters. Using that knowledge, instinctively know how to design systems that deliver fast and resilient services to your users, all with an Elixir focus. [H4] Concurrent Data Processing in Elixir [IMG: Concurrent Data Processing cover] Learn different ways of writing concurrent code in Elixir and increase your application’s performance, without sacrificing scalability or fault-tolerance. Most projects benefit from running background tasks and processing data concurrently, but the world of OTP and various libraries can be challenging. Which Supervisor and what strategy to use? What about GenServer? Maybe you need back-pressure, but is GenStage, Flow, or Broadway a better choice? You will learn everything you need to know to answer these questions, start building highly concurrent applications in no time, and write code that’s not only fast, but also resilient to errors and easy to scale. [H4] Erlang in Angerfree [IMG: Erlang in Anger cover] This book intends to be a little guide about how to be the Erlang medic in a time of war. It is first and foremost a collection of tips and tricks to help understand where failures come from, and a dictionary of different code snippets and practices that helped developers debug production systems that were built in Erlang. [H2] Courses [H4] Elixir Schoolfree [IMG: Elixir School] Elixir-School is an open and community driven effort inspired by Twitter’s Scala School. The site’s content consists of peer-reviewed lessons on various Elixir topics that range in difficulty. The lessons are currently available in over 10 languages to help make programming Elixir more accessible to non-English speakers. [H4] Pragmatic Studio's Elixir/OTP Course [IMG: Pragmatic Studio] Put Elixir and OTP into action as you build a concurrent, fault-tolerant application from scratch in this 6-hour video course from The Pragmatic Studio. By developing a real app with real code, you’ll gain practical experience putting all the pieces together to craft applications the Elixir/OTP way. The first half of the course focuses on core Elixir facets, principles, and techniques. In the second half, we go beyond the basics and focus on what sets Elixir/OTP apart: concurrent processes, the actor model, OTP behaviors, and fault recovery. If you’re new to Elixir, you’ll get step-by-step guidance in an engaging format you won’t find anywhere else. If you have experience with Elixir, you’ll gain a deeper understanding of things you’ve been taking for granted and fill in any knowledge gaps. [H4] grox.io's Elixir Course [IMG: grox.io] Learning complex concepts like programming languages is best with multiple formats. Groxio’s learning method embraces an interactive mini-book for beginners, video overviews for novices, an online book for presenting higher level concepts, videos with live coding to simulate advanced pair programming through projects meaningful to beginners and experts. The Elixir module is a full program with a book with 80 pages, 8 videos, dozens of exercises, and two full test-first projects. Beginners can learn the language, and experts can fill in typical blind spots like writing sigils, building macros, and using streams. [H4] grox.io's OTP Course [IMG: grox.io] This course teaches OTP from a design perspective by showing a system for breaking projects into layers. This course builds on those layering concepts with a 60 page book, 12 videos, projects, and curated links to go into deeper detail for tricky OTP concepts. Understand how back-pressure works, step inside supervision trees, and learn to build your dynamic supervisors. Learn OTP for the first time, or solidify your intuition by building the base concepts by reading a book, watching videos, and working through guided projects using Groxio’s blend of media, designed to take you from novice to expert. [H4] ThinkingElixir.com's Pattern Matching Coursefree [IMG: ThinkingElixir.com] Pattern matching is a really powerful language feature. It is built in to almost every corner or Elixir. In order for you to even read Elixir code and follow along, you have to understand Pattern Matching. Once you “get” pattern matching, it feels like a super power. Pattern Matching makes new patterns of coding possible. You start to unlearn some of the patterns you’ve used in other languages because now you can create even clearer and more elegant code than was possible before! The course covers getting setup with Elixir, the data types, how to pattern match each of them, and more! An included TDD project helps you easily apply what you’re learning. [H4] LearnElixir.tv [IMG: LearnElixir.tv cover] LearnElixir.tv is a video course which provides in-depth, step-by-step videos about Elixir’s main features. Videos range from 7 to 15 minutes in length. It’s intended to help beginners get familiar with all of Elixir’s features by building their knowledge incrementally. Experienced Elixir developers might also learn a trick or two. [H4] Educative.io's Metaprogramming in Elixir Course [IMG: Educative.io] Get introduced to the concept of metaprogramming. Learn how to level up your programming skills by discovering the full potential of the macro system in Elixir. Understand the ins and outs of metaprogramming at a fundamental level and write incredible libraries by doing more with less code. [H4] Learn-Elixir.dev [IMG: Learn-Elixir.dev cover] At your own pace, progress through 132 videos, 30 quizzes, 9 assignments, and 2 major projects of your choosing to demonstrate your working knowledge of a production-level quality of code. You’ll learn Syntax/Fundamentals, REST, GraphQL with Absinthe, Phoenix, OTP, Testing, Ecto, architecture, how to scale, how to go distributed, and more… Join our weekly live coaching sessions every Wednesday at 12:00-noon pacific time to close any gaps in knowledge and get specific answers to your specific questions! Found your start-up, migrate a codebase, build that app! Our midterm and final projects create a great win-win scenario for you to complete your personal project while mastering the language. Or if you’re more career-focused we can offer referrals, recommendations, or references and host your completed projects on GitHub to show hiring managers your proficiency programming Elixir. [H4] TechSchoolfree [IMG: TechSchool] TechSchool is an open-source platform that teaches programming through free YouTube videos and other websites. The goal is to make technology education accessible to everyone. It includes several Elixir courses and a complete Fullstack Elixir + Phoenix Bootcamp. [H2] Screencasts [H4] ElixirStreamsfree [IMG: elixir streams cover] ElixirStreams provides free video tips (under 3 mins!) covering a variety of Elixir and Phoenix topics. The videos help you sharpen the saw as you learn about new tools and tricks, and they keep you up to date with the latest developments in the language. [H4] ElixirCasts.iofree [IMG: elixircasts.io cover] ElixirCasts is a collection of simple screencasts that cover a wide range of Elixir and Phoenix topics. Each episode tackles a specific problem or explores a new library, demystifying it in a language that’s easy to understand. Episodes range from beginner focused to more moderate and advanced topics. Come build your knowledge of Elixir with us, one episode at a time. [H4] Alchemist Campfree [IMG: Alchemist Camp cover] Alchemist Camp is the largest producer of free Elixir screencasts and has dozens of hours of screencasts on YouTube. The videos are often longer-form and focused around projects, such as building a small Phoenix clone, or an OTP worker to regularly collect statistics from multiple APIs. Content is driven by viewer request. Alchemist Camp is aimed at people who have some web development experience and want to ship real-world projects in Elixir. [H2] Other resources [H4] Elixir Flashcards [IMG: Elixir Flashcards] Elixir flashcards are a set of beautifully crafted, professionally printed, poker sized flashcards to help you master the Elixir language. Flashcards are a great way to highlight knowledge gaps, identify misconceptions or false beliefs, and help you memorise key concepts. When used in groups or teams, flashcards can help spark interesting discussions, and help bring people together to learn in a fun way by playing games. Combined with books, tutorials and screencasts, using flashcards is the killer combination to master Elixir. [H4] Elixir Koansfree [IMG: Elixir Koans] Elixir koans is a fun, easy way to get started with the Elixir programming language. It is an idiomatic tour of the language. [H4] Exercismfree [IMG: Exercism Elixir track] Exercism is an open source platform that provides free practice and mentoring in many languages, including Elixir. It features exercises of varying difficulty, from string processing to using OTP, that are mentored by volunteers. Once you have completed an exercise you can also view other students’ solutions. [H4] Running in Production Podcastfree [IMG: Running in Production Podcast] Running in Production is a podcast where developers and engineers talk about running small and large Elixir / Phoenix web apps in production. T
SUB-PAGE (https://elixir-lang.org/install.html) Installing Elixir – The Elixir programming language
[H1] Install
The quickest way to install Elixir is through install scripts, operating system package manager, or using one of the available installers. If such an option is not available, then we recommend using the precompiled packages or compiling the language yourself. All of these options are detailed next.
Note that Elixir v1.20 requires Erlang 27.0 or later. Many of the instructions below will automatically install Erlang for you. If they do not, the “Installing Erlang” section has you covered.
If you are not sure if you have Elixir installed or not, you can run elixir --version in your terminal.
[H2] By Operating System
Install Elixir according to your operating system and tool of choice.
[H3] macOS
Using install scripts
Using Homebrew:
Run: brew install elixir
Using Macports:
Run: sudo port install elixir
Using version managers
[H3] GNU/Linux
Below we list steps for installing Elixir in different distributions. If your distribution is not listed or the steps below do not work, you may consider using version managers.
Arch Linux (Community repository)
Run: pacman -S elixir
Fedora
Fedora’s Rawhide repository keeps more recent versions: sudo dnf --repo=rawhide install elixir elixir-doc erlang erlang-doc
You may use the default distribution, but those often lag behind: sudo dnf install elixir erlang
Documentation is available in separate packages: sudo dnf install elixir-doc erlang-doc
Gentoo
Run: emerge --ask dev-lang/elixir
GNU Guix
Run: guix package -i elixir
Ubuntu
Using install scripts
The packages in apt tend to lag several versions behind. You may use RabbitMQ Packages outlined below, which are likely newer than apt:
sudo add-apt-repository ppa:rabbitmq/rabbitmq-erlang
sudo apt update
sudo apt install git elixir erlang
[H3] BSD
FreeBSD
The latest Elixir release is named lang/elixir-devel.
The default Elixir, lang/elixir, may
lag slightly as dependent ports are often not able to be updated to the
newest Elixir release immediately.
Using ports:
Run: cd /usr/ports/lang/elixir && make install clean
Using pkg:
Run: pkg install elixir or pkg install elixir-devel
OpenBSD
Run: pkg_add elixir
[H3] Windows
Using Windows installers:
Download and run the Erlang installer
Download and run the Elixir installer compatible with your Erlang/OTP version:
Elixir 1.20.1 on Erlang 29
Elixir 1.20.1 on Erlang 28
Elixir 1.20.1 on Erlang 27
Run erl in the terminal if you are unsure of your Erlang/OTP version.Previous Elixir versions are available in our Releases page.
Using install scripts
Using Scoop:
Install Erlang: scoop install erlang
Install Elixir: scoop install elixir
Using Chocolatey:
Install Elixir (installs Erlang as a dependency): choco install elixir
Using version managers
[H3] Raspberry Pi and embedded devices
To build and package an Elixir application, with the whole operating system, and burn that into a disk or deploy it overwhere, check out the Nerves project.
If you want to install Elixir as part of an existing Operating System, please follow the relevant steps above for your Operating System or install from precompiled/source.
[H3] Docker
If you are familiar with Docker you can use the official Docker image to get started quickly with Elixir.
Enter interactive mode
Run: docker run -it --rm elixir
Enter bash within container with installed elixir
Run: docker run -it --rm elixir bash
The above will automatically point to the latest Erlang and Elixir available. For production usage, we recommend using Hex.pm Docker images, which are immutable and point to a specific Erlang and Elixir version.
[H2] Install scripts
Elixir and Erlang/OTP can be quickly installed for macOS, Windows, or Ubuntu using an install.sh/install.bat script:
If you are using bash (macOS/Ubuntu/Windows), run:
curl -fsSO https://elixir-lang.org/install.sh
sh install.sh elixir@1.20.1 otp@28.4
installs_dir=$HOME/.elixir-install/installs
export PATH=$installs_dir/otp/28.4/bin:$PATH
export PATH=$installs_dir/elixir/1.20.1-otp-29/bin:$PATH
iex
If you are using PowerShell (Windows), run:
curl.exe -fsSO https://elixir-lang.org/install.bat
.\install.bat elixir@1.20.1 otp@28.4
$installs_dir = "$env:USERPROFILE\.elixir-install\installs"
$env:PATH = "$installs_dir\otp\28.4\bin;$env:PATH"
$env:PATH = "$installs_dir\elixir\1.20.1-otp-29\bin;$env:PATH"
iex.bat
You may want to set the $PATH environment variable for your whole system. Use install.sh --help or install.bat --help to learn more about available arguments and options.
[H2] Version managers
There are many tools that allow developers to install and manage multiple Erlang and Elixir versions. They are useful if you have multiple projects running on different Elixir or Erlang versions, can’t install Erlang or Elixir as mentioned above or if the version provided by your package manager is outdated. Here are some of those tools:
asdf - install and manage different Elixir and Erlang versions
mise - install and manage different Elixir and Erlang versions
kerl - install and manage different Erlang versions
Keep in mind that each Elixir version supports specific Erlang/OTP versions. See the supported versions alongside our docs.
[H2] Precompiled package
Elixir provides a precompiled package for every release. First install Erlang and then download the appropriate precompiled Elixir below. You can consult your Erlang/OTP version by running erl -s halt:
Elixir 1.20.1 on Erlang/OTP 29
Elixir 1.20.1 on Erlang/OTP 28
Elixir 1.20.1 on Erlang/OTP 27
Once you download the release, unpack it, and you are ready to run the elixir and iex commands from the bin directory. However, we recommend you to add Elixir’s bin path to your PATH environment variable to ease development.
[H3] Mirrors and nightly builds
The links above point directly to the GitHub release. We also host and mirror precompiled packages and nightly builds globally via builds.hex.pm using the following URL scheme:
https://builds.hex.pm/builds/elixir/${ELIXIR_VERSION}-otp-${OTP_VERSION}.zip
For example, to use Elixir v1.13.3 with Erlang/OTP 24.x, use:
https://builds.hex.pm/builds/elixir/v1.13.3-otp-24.zip
To use nightly for a given Erlang/OTP version (such as 25), use:
https://builds.hex.pm/builds/elixir/main-otp-25.zip
For a list of all builds, use:
https://builds.hex.pm/builds/elixir/builds.txt
[H2] Compiling from source
You can download and compile Elixir in few steps. The first one is to install Erlang. You will also need make available.
Next you should download source code (.zip, .tar.gz) of the latest release, unpack it and then run make inside the unpacked directory (note: if you are running on Windows, read this page on setting up your environment for compiling Elixir).
After compiling, you are ready to run the elixir and iex commands from the bin directory. It is recommended that you add Elixir’s bin path to your PATH environment variable to ease development.
In case you are feeling a bit more adventurous, you can also compile from main:
git clone https://github.com/elixir-lang/elixir.git
cd elixir
make clean compile
[H2] Installing Erlang
The only prerequisite for Elixir is Erlang, version 27.0 or later. When installing Elixir, Erlang is generally installed automatically for you. However, if you want to install Erlang manually, you might check:
Source code distribution and Windows installers from Erlang’s official website
Precompiled packages for some Unix-like installations
A general list of installation methods from the Riak documentation
After Erlang is installed, you should be able to open up the command line (or command prompt) and check the Erlang version by typing erl -s erlang halt. You will see some information similar to:
Erlang/OTP 27.0 [64-bit] [smp:2:2] [...]
Notice that depending on how you installed Erlang, Erlang binaries might not be available in your PATH. Be sure to have Erlang binaries in your PATH, otherwise Elixir won’t work!
[H2] Setting PATH environment variable
It is highly recommended to add Elixir’s bin path to your PATH environment variable to ease development.
On Windows, there are instructions for different versions explaining the process.
On Unix systems, you need to find your shell profile file, and then add to the end of this file the following line reflecting the path to your Elixir installation:
export PATH="$PATH:/path/to/elixir/bin"
[H2] Asking questions
After Elixir is up and running, it is common to have questions as you learn and use the language. There are many places where you can ask questions, here are some of them:
#elixir on irc.libera.chat
Elixir Forum
Elixir on Slack
Elixir on Discord
elixir tag on StackOverflow
When asking questions, remember these two tips:
Instead of asking “how to do X in Elixir”, ask “how to solve Y in Elixir”. In other words, don’t ask how to implement a particular solution, instead describe the problem at hand. Stating the problem gives more context and less bias for a correct answer.
In case things are not working as expected, please include as much information as you can in your report, for example: your Elixir version, the code snippet and the error message alongside the error stacktrace.
Enjoy!
[H3] News: Elixir v1.20 released
[H3] Important links
Development & Team
Source code & issues tracker
Watch the Elixirmini-documentary!
[H3] Join the Community
Hex.pm package manager
@elixirlang on Twitter
#elixir on irc.libera.chat
Elixir Forum
Elixir on Slack
Elixir on Discord
IDE/Editor support
Meetups around the world
Jobs and hiring (community wiki)
Events and resources (community wiki)
[IMG: Join the Erlang Ecosystem Foundation]
© 2012–2026 The Elixir Team.
Elixir and the Elixir logo are registered trademarks of The Elixir Team.
This page presents a snapshot of public data from The Elixir Team, captured on June 20, 2026, to show how machine logic reads Semantic Coherence signals into an AI reputation evaluation.
Purpose: This data is presented under “Fair Use” for the purpose of independent signal analysis, allowing readers to see the raw signals behind the reputation score.
Notice to The Elixir Team: This analysis is part of a non-adversarial audit conducted by 1 Euro SEO. The results are intended as professional feedback to help improve any website’s machine-readability and authority signals. The evaluation is free, and any company can request a fresh audit at any time.
Any company can use the insights for free and improve its voice. When a company has updated its content, it can always submit a new audit request, which will be reflected in a new current score.
To all users: You are encouraged to visit the live site at https://elixir-lang.org to view the most current version of its content and see directly what this company is about and what it offers.