A Phoenix LiveView Component for phone number input fields, basically a intl-tel-input for Phoenix LiveView.

Based on ISO and ex_phone_number, which in turn is based on libphonenumber.


If available in Hex, the package can be installed by adding live_phone to your list of dependencies in mix.exs:

def deps do
    {:live_phone, "~> 0.4"}

Documentation can be generated with ExDoc and published on HexDocs. Once published, the docs can be found at

To your assets/package.json file add:

"live_phone": "file:../deps/live_phone",

To your app.js add something like:

import LivePhone from "live_phone"
let Hooks = {}
Hooks.LivePhone = LivePhone

And finally to your CSS add:

@import "../../deps/live_phone/assets/live_phone";


In the example/ directory you will find a very minimal Phoenix application to demonstrate LivePhone in usage.

Browser Tests (chromedriver)

To run the browser tests you need to install chromedriver (brew install chromedriver on MacOS) and it has to be running already. The tests are excluded by default, but you can include them with --include browser. See below:

$ chromedriver # hound assumes default port 9515)
$ mix test --include browser