Overview
Phoenix is a web framework for Elixir that runs on the Erlang VM. It is known for LiveView, which renders interactive pages on the server and pushes updates over a WebSocket, so features such as live feeds, forms with validation and dashboards can be built with little custom JavaScript. HEEx templates and function components give compiler-checked attributes and slots.
Real-time features are built in: PubSub and Channels broadcast events across one or many nodes, and Presence tracks who is connected without an extra dependency. The site says Phoenix can handle millions of WebSocket connections, relying on the Erlang VM's concurrency.
Out of the box you get mix phx.gen.auth for authentication, Ecto for databases (Postgres, MySQL, SQLite and SQL Server adapters built in), JSON API support, built-in metrics with a live dashboard, and an optional generated Dockerfile. For GraphQL the site points to the Absinthe library.
Phoenix was created by Chris McCord in 2014, is MIT licensed, and counts Elixir's creator José Valim among its top contributors.
Pricing and plans
What it does
- LiveView
- Server-rendered interactive UI over WebSockets with streams and components.
- PubSub and Channels
- Real-time messaging across one or dozens of nodes.
- Presence
- Track connected users across a cluster with no external dependency.
- Auth generator
- mix phx.gen.auth generates a full authentication system.
- Ecto
- Database layer with Postgres, MySQL, SQLite and SQL Server adapters.
- Live dashboard
- Built-in instrumentation and metrics dashboard.
Strengths and limitations
Strengths
- Real-time features without extra infrastructure
- Interactive UIs with little JavaScript via LiveView
- Erlang VM concurrency and fault tolerance
- Compiler-checked components and built-in formatting
Limitations
- Requires learning Elixir and the Erlang VM, a smaller talent pool than JavaScript, Python or PHP
- LiveView keeps a persistent WebSocket connection per user, which shapes how you host and scale
- GraphQL needs a separate library (Absinthe)
- Fewer third-party libraries and hosting guides than mainstream stacks
Who it suits
Good for
- Real-time apps: chat, dashboards, collaboration
- Teams wanting interactive UIs without a heavy SPA
- Systems that need high connection counts
Look elsewhere if
- Teams that must hire from the largest language pools
- Static sites or tiny functions
Pricing history
-
Phoenix 1.8 released
Released 5 August 2025: scopes for secure data access, magic-link login in phx.gen.auth, dark mode support and an AGENTS.md in new apps. It requires Erlang/OTP 25+ and is backwards compatible with some deprecations. Source ↗
Alternatives to Phoenix
Questions
What is Phoenix LiveView?
A Phoenix library that renders interactive pages on the server and updates them over WebSockets.
Is Phoenix free?
Yes, it is MIT licensed.
Which databases does Phoenix support?
Through Ecto: Postgres, MySQL, SQLite and SQL Server are built in.
Does Phoenix have authentication?
Yes. mix phx.gen.auth generates a complete authentication system.
Sources read for this page