Programming Languages

Best Elixir Books

12books
3top picks

Editor's top Elixir books

3
BeginnerPaid★ Top Pick

Programming Elixir 1.6

Pragmatic Bookshelf / Dave Thomas

Dave Thomas — one of the original Agile Manifesto authors — brings the same clarity that made Programming Ruby a classic. This book teaches Elixir the right way: pattern matching and functional thinking from the first page, not bolted on later.

IntermediatePaid★ Top Pick

Elixir in Action

Manning / Saša Jurić

The most thorough treatment of OTP and BEAM concurrency patterns. Jurić builds a production-grade server from scratch across the book, teaching GenServer, supervisors, and distributed Elixir through progressive elaboration. The third edition covers Elixir 1.15 and modern OTP patterns.

Cover of Adopting Elixir: From Concept to Production
AdvancedPaid★ Top Pick

Adopting Elixir: From Concept to Production

Ben Marx, José Valim & Bruce Tate · Pragmatic Bookshelf · 318 pages · ~8 hrs to read

Written by Elixir's creator alongside the engineer who took it to production at Bleacher Report. Doesn't teach syntax — covers hiring, training teams, and running Elixir in production, the questions every team actually asks before adopting it.

Elixir Books for Beginners

3
BeginnerPaid★ Top Pick

Programming Elixir 1.6

Pragmatic Bookshelf / Dave Thomas

Dave Thomas — one of the original Agile Manifesto authors — brings the same clarity that made Programming Ruby a classic. This book teaches Elixir the right way: pattern matching and functional thinking from the first page, not bolted on later.

Cover of The Little Elixir & OTP Guidebook
BeginnerPaid

The Little Elixir & OTP Guidebook

Benjamin Tan Wei Hao · Manning · 454 pages · ~11 hrs to read

A gentler, more project-driven on-ramp to OTP than Elixir in Action — builds a ring-buffer log store and a metaprogrammed DSL as running examples. Good second book once basic syntax clicks but GenServer still feels abstract.

Cover of Learn Functional Programming with Elixir: New Foundations for a New World
BeginnerPaid

Learn Functional Programming with Elixir: New Foundations for a New World

Ulisses Almeida · Pragmatic Bookshelf · 258 pages · ~6 hrs to read

Written by a former Plataformatec consultant (the company that originally sponsored Elixir's development), this isolates the functional-programming mindset shift — immutability, pipelines, pattern matching over branching — for developers arriving from OOP languages, before OTP concepts are introduced at all.

Intermediate & Advanced Elixir Books

9
IntermediatePaid★ Top Pick

Elixir in Action

Manning / Saša Jurić

The most thorough treatment of OTP and BEAM concurrency patterns. Jurić builds a production-grade server from scratch across the book, teaching GenServer, supervisors, and distributed Elixir through progressive elaboration. The third edition covers Elixir 1.15 and modern OTP patterns.

IntermediatePaid

Programming Phoenix LiveView

Bruce Tate & Sophie DeBenedetto · Pragmatic Bookshelf

The definitive resource for building interactive web applications with Phoenix LiveView. Covers the full LiveView lifecycle, form handling, real-time updates, and testing. Written by Bruce Tate and Sophie DeBenedetto, both active in the Elixir community.

Cover of Adopting Elixir: From Concept to Production
AdvancedPaid★ Top Pick

Adopting Elixir: From Concept to Production

Ben Marx, José Valim & Bruce Tate · Pragmatic Bookshelf · 318 pages · ~8 hrs to read

Written by Elixir's creator alongside the engineer who took it to production at Bleacher Report. Doesn't teach syntax — covers hiring, training teams, and running Elixir in production, the questions every team actually asks before adopting it.

Cover of Designing Elixir Systems with OTP
IntermediatePaid

Designing Elixir Systems with OTP

James Edward Gray II & Bruce Tate · Pragmatic Bookshelf · 308 pages · ~8 hrs to read

Goes beyond "here is GenServer" into how to layer an OTP application so it stays maintainable as it grows — the architecture-level thinking most Elixir tutorials skip entirely.

Cover of Metaprogramming Elixir: Write Less Code, Get More Done (and Have Fun!)
AdvancedPaid

Metaprogramming Elixir: Write Less Code, Get More Done (and Have Fun!)

Chris McCord · Pragmatic Bookshelf · 170 pages · ~4 hrs to read

Written by the creator of Phoenix. Macros are how Phoenix's router and Ecto's changesets do their magic — this is the shortest path to understanding what's actually happening at compile time.

Cover of Testing Elixir: Effective and Robust Testing for Elixir and its Ecosystem
IntermediatePaid

Testing Elixir: Effective and Robust Testing for Elixir and its Ecosystem

Andrea Leopardi & Jeffrey Matthias · Pragmatic Bookshelf · 329 pages · ~8 hrs to read

Written by a member of the Elixir core team. Covers the genuinely hard parts of testing a BEAM application — async processes, Ecto sandboxing, Phoenix integration tests, property-based testing with StreamData.

Cover of Real-Time Phoenix: Build Highly Scalable Systems with Channels
IntermediatePaid

Real-Time Phoenix: Build Highly Scalable Systems with Channels

Stephen Bussey · Pragmatic Bookshelf · 423 pages · ~11 hrs to read

Phoenix Channels and PubSub are Elixir's strongest differentiator for real-time features — this is the dedicated treatment, written by an engineer who built production real-time systems on it.

Cover of Programming Phoenix 1.4: Productive, Reliable, Fast
IntermediatePaid

Programming Phoenix 1.4: Productive, Reliable, Fast

Chris McCord, Bruce Tate & José Valim · Pragmatic Bookshelf · 457 pages · ~11 hrs to read

The framework-authors' own book on Phoenix fundamentals — contexts, channels, and Ecto — written before LiveView existed. Still the clearest treatment of the conventional controller/JSON API side of Phoenix.

Cover of Concurrent Data Processing in Elixir
AdvancedPaid

Concurrent Data Processing in Elixir

Svilen Gospodinov · Pragmatic Bookshelf · 232 pages · ~6 hrs to read

The dedicated treatment of Task, GenStage, Flow, and Broadway that Elixir in Action only touches on — the actual tools you reach for once you're building a real data-processing pipeline instead of a single GenServer.

Learn next

phoenixerlangdistributed-systemspostgresqlwebsockets