Peace of mind from prototype to production

Build rich, interactive web applications quickly, with less code and fewer moving parts. Join our growing community of developers using Phoenix to craft APIs, HTML5 apps and more, for fun or at scale.

defmodule TimelineLive do
  use Phoenix.LiveView

  def render(assigns) do
    render("timeline.html", assigns)

  def mount(_, socket) do
    {:ok, assign(socket, :tweets, [])}

  def handle_info({:new, tweet}, socket) do
     update(socket, :tweets, fn tweets ->
       Enum.take([tweet | tweets], 10)

I implemented a shopping cart using Phoenix Live View and then realized that it syncs automatically across multiple tabs and always displays the correct state. I wasn’t even trying to make any of that work. #myelixirstatus

Phoenix LiveView

The most fun you'll ever have building interactive web applications – without the complexity.

Try it now:

Everything you need to ship it


Interact with users and push events, across one or dozens of nodes, by using our built-in PubSub, and Channels.


Run mix phx.gen.auth for full-featured authentication that grows with your application.


Build scalable GraphQL apps with Absinthe, or use our built-in JSON support for world class APIs.

Docker Ready

Package your app and (optionally) generate a Dockerfile for hassle-free deployment, wherever you choose to run your apps.


Built-in instrumentation and a live dashboard gives you insight into your applications. Monitor performance and diagnose issues right within your app.


Phoenix runs on the Erlang VM with the ability to handle millions of WebSocket connections alongside Elixir's tooling for building robust systems.


Know who is connected right now, across one or dozens of nodes, by using our built-in Presence. No dependency required.


Ecto is a lean interface around your database, focused on productivity and long-term maintainability. Postgres, MySQL, SQLite, and SQL Server built-in.

The best of front-end and backend in your HTML

HEEx (HTML + Embedded Elixir) is a performant templating language with support for reusable components.

Reusable Components

A natural syntax for encapsulating your HTML into functional and reusable building blocks

Compiler Checks

Declare attributes and slots for your components and get immediate feedback right in your editor – say goodbye to typos and guesswork

Built-in Formatting

Format your whole codebase with a single command – whether writing Elixir or HTML. Forget tedious fiddling with copy/pasted blocks of code.

Companies Using Phoenix

Recent News

Phoenix LiveView 1.0-rc is here!

by Chris McCord

The first released candidate of LiveView 1.0 is out!

Read More

Phoenix LiveView 0.19 released

by Chris McCord

LiveView 0.19.0 is out! This release includes long awaited dynamic form features, new stream primitives, and closes the gap towards a 1.0 release.

Read More