Popcorn runs Elixir and Erlang applications in the browser on a BEAM virtual machine compiled to WebAssembly.
Your application runs on the user's device, with OTP processes, message passing, and supervision. JavaScript and Elixir communicate through Popcorn's APIs.
- Popcorn 1.0 documentation: installation, tutorials, guides, and API reference.
- JavaScript package: bundler setup and JavaScript usage.
- Elixir package: application setup and packaging.
- LocalLiveView: Phoenix LiveView running in the browser.
Popcorn 1.0 is a prerelease based on Erlang/OTP. The stable npm channel still uses Popcorn 0.3 and AtomVM; see the 0.3 documentation.
Try the demos at popcorn.swmansion.com and browse their source code. The Elixir language tour also runs on Popcorn.
Community projects include Popcorn on iOS and LocalLiveView demos.
We use mise to manage tools and tasks. See mise.toml for tool versions and available tasks, and scripts/ for development, testing, and build scripts. The Hello Popcorn example includes local build and run instructions.
Please report issues and discuss large contributions before you start work.
Popcorn is created by Software Mansion.
Since 2012 Software Mansion is a software agency with experience in building web and mobile apps as well as complex multimedia solutions. We are Core React Native Contributors and experts in live streaming and broadcasting technologies. We can help you build your next dream product – Hire us.
Copyright 2025, Software Mansion
Licensed under the Apache License, Version 2.0