Skip to content

// guides

Neovim on Your Phone: Android & iPhone (2026)

Yes, you can run Neovim on your phone in 2026. There are three realistic paths, and which one wins depends on your phone and how far you push plugins. On Android, Termux installs real local Neovim 0.12.3 with one command and runs offline. On iPhone, the only fully local option is iVim, which is a Vim port, not Neovim, so no Lua config and no LSP. When you want a full modern Neovim, with Mason installing every language server, Treesitter compiling, and your plugins intact, we open a cloud Ubuntu container from a native app, because its x86_64 userland skips the architecture fight that trips up on-device setups. This guide tells you which path wins when, with the exact commands.

tl;dr

Android, local + offline: Termux + pkg install neovim (0.12.3). iPhone, local: iVim, though it's Vim, not Neovim. Full modern Neovim with Mason and LSP that just works, on either phone: a cloud Ubuntu container reached from a native app. We ship Cosyra with vim pre-installed and neovim one apt command away; sign up gets you 1 hour of compute free, no credit card.

Diagram ranking the three real ways to run Neovim on a phone in 2026: a Cosyra cloud Ubuntu container where Mason and LSP just work on x86_64, Termux running real local Neovim 0.12.3 on Android with an arm64 language-server wall, and iVim on iPhone which is a Vim port with no plugins or LSP.
The Neovim-on-phone landscape, verified 2026-06-24 against the Termux neovim build script, LazyVim Discussion #6725, and the iVim repository.

The three realistic paths to run Neovim on a phone

Every "Neovim on my phone" question collapses to one of these three answers. They are not equivalent. The editor binary is the easy part. Neovim runs in all three. What separates them is whether the plugin and language-server ecosystem comes along, and whether you can use it offline.

Path Platform Neovim version Plugins + LSP Offline Cost
Termux Android 0.12.3 (local) Plugins yes; Mason LSP limited on arm64 Yes Free
iVim iOS n/a (it's Vim, not Neovim) None (no plugin manager, no LSP) Yes Free
Cosyra cloud container iOS, Android, web 0.12.x (Ubuntu 24.04, x86_64) Full Mason + LSP + Treesitter No $29.99/mo after free hour

Our opinion, which a desktop-Neovim blog probably wouldn't lead with: the Neovim binary running on a phone is not the interesting question; it has run on Termux for years. The interesting question is whether :Mason can install the language servers your config expects. Two of these three paths say "some of them," and one says "all of them." That is the decision.

Path 1: a cloud Ubuntu container

For a full modern Neovim that behaves exactly like the one on your laptop, the practical answer is a cloud Linux container reached from a native phone app. We built Cosyra for this case: every signup gets an isolated Ubuntu 24.04 workspace on Azure, x86_64, with Git, Node.js, Python, tmux, and vim pre-installed, and Neovim one command away.

# Inside a Cosyra workspace, reached from the iOS/Android app
apt install neovim          # Neovim 0.12.x on Ubuntu 24.04
git clone https://github.com/you/dotfiles ~/.config/nvim
nvim                        # lazy.nvim bootstraps your plugins
# :Mason -> installs language servers the way it does on a laptop

Because the workspace is real x86_64 Ubuntu, the things that fight you on a phone's arm64 userland just work: :MasonInstall clangd installs, pyright installs, Treesitter parsers compile against the local toolchain. Your init.lua runs unchanged. And because the 30 GB of storage is persistent, your config survives session hibernation and is the same whether you open it from an iPhone on the couch or an Android phone the next morning. The modal-editing friction is handled by a terminal toolbar pinned above the keyboard with dedicated ESC, TAB, CTRL, ALT, and arrow keys, the keys Neovim leans on hardest.

The honest trade-off: no offline mode. The container lives in the cloud, so a flight with no Wi-Fi is dead air, and Termux wins on that one dimension. For everything else (full LSP, persistent config, the same Neovim on every device), the cloud container is the path that needs no apologies. The mobile coding terminal pillar covers how this category sits next to local terminals, and TUI apps on phone goes deeper on running tmux, htop, and other full-screen terminal apps from glass.

Try Neovim from your phone in a few minutes. Sign up gets 1 hour of compute free, no credit card, no trial signup. vim is pre-installed and neovim is one apt install away, with Mason and LSP working on x86_64.

Path 2: Termux on Android

Termux is the honest local answer on Android. It is a free, open-source terminal emulator with its own apt-style package manager, and it ships real Neovim. The termux-packages neovim build script we re-read on 2026-06-24 pins TERMUX_PKG_VERSION=0.12.3, so a clean install gives you Neovim 0.12.3 on-device.

# From a fresh Termux install (F-Droid build recommended)
pkg update && pkg upgrade
pkg install neovim git
nvim --version              # NVIM v0.12.3

# Bring your config; lazy.nvim bootstraps on first launch
git clone https://github.com/you/dotfiles ~/.config/nvim

Your dotfiles and a Lua-based lazy.nvim setup work the same way they do on a desktop. The wall you hit is language servers. Mason downloads prebuilt binaries, and many are published for x86_64 only, while Termux runs on arm64. The canonical report is LazyVim Discussion #6725: :MasonInstall clangd fails as "unsupported" even when a working system clangd already exists, and the tracked cause sits in mason.nvim issue #1578 (clangd on aarch64 unsupported). The fix is to stop asking Mason:

# Install servers Termux packages, then skip Mason for them
pkg install clang                 # provides a working clangd
pkg install python-lsp-server     # Python LSP

# In your Lua config, use the system binary instead of Mason:
# { "neovim/nvim-lspconfig", opts = { servers = { clangd = { mason = false } } } }

The other Android caveat is the phantom-process killer: on Android 12+, the OS can reap background processes, which matters for long language-server or build sessions. The Termux README documents it; on Android 14+ you disable it under Developer Options. If you want a full Ubuntu or Debian environment on Android instead of Termux's Bionic-libc world, the Linux container on Android guide covers proot-distro, UserLAnd, and a cloud x86_64 container.

Path 3: iVim on iPhone

On an iPhone there is no native Neovim, and there is not going to be one. The closest fully local editor is iVim, a Vim port to iOS available on the App Store. It is genuinely useful for what it is: it opens, edits, and saves files offline with full Vim motions, imports custom fonts, and adds an extended keyboard row that covers symbols the system keyboard hides. What it is not is Neovim: no init.lua, no plugin manager, no built-in LSP client, no Treesitter.

So on iPhone the split is clean. If you want Vim motions on a file you have in iCloud, iVim is fine and free. If you want Neovim, meaning your plugins, your language servers, your Treesitter highlighting, the only path that delivers it on iOS is a cloud container where Neovim runs server-side and the phone is the client. There is no third option that runs a real Neovim plugin ecosystem locally on an iPhone today.

When each path actually wins

Decision framework, deliberately blunt:

Worked example: clone your config and get LSP running

The test that separates these three paths is a single workflow: clone your dotfiles, open a file, and ask for an LSP rename. Same steps, three very different outcomes.

That workflow is the whole guide condensed. If your phone Neovim is for offline edits on Android, Termux is enough. If it's for a full LSP-driven setup, or you're on an iPhone at all, a cloud Ubuntu container is the path that doesn't require apologizing for itself.

FAQ

Can you run Neovim on an iPhone?

Not natively. The closest fully local option is iVim, which is a Vim port to iOS — not Neovim — so there is no Lua config, no plugin manager, and no LSP. Neovim's own install documentation lists no iOS target, and there is no App Store build of Neovim itself. If you specifically want Neovim — your init.lua, lazy.nvim, Treesitter, LSP — on an iPhone, the realistic path is a cloud Ubuntu container reached from a native app, where Neovim runs server-side on x86_64 and the phone is just the client.

What version of Neovim does Termux install?

As of 2026-06-24, the Termux neovim build script pins TERMUX_PKG_VERSION=0.12.3, so a clean pkg install neovim gives you Neovim 0.12.3 on Android arm64. That is current enough for modern config conventions (Lua, lazy.nvim, built-in LSP client). The catch is not the editor version — it is which plugins and language servers you can install on arm64, covered below.

Why does Mason fail to install language servers in Neovim on Termux?

Mason downloads prebuilt language-server binaries, and many of those are published for x86_64 (and sometimes glibc) only, while Termux runs on Android's arm64 Bionic-libc userland. A representative report is LazyVim Discussion #6725, where :MasonInstall clangd fails as unsupported even though a working system clangd already exists from pkg install clang. The tracked root cause is on Mason's side — see mason.nvim issue #1578 (clangd on aarch64 unsupported). The workaround is to install servers with pkg and set mason = false for them so Neovim uses the system binary. On an x86_64 cloud container this whole class of problem disappears — Mason installs servers the way it does on a Linux laptop.

Will my existing Neovim config and plugins work on a phone?

Mostly, yes. Clone your dotfiles into ~/.config/nvim and a Lua-based setup with lazy.nvim bootstraps on first launch the same way it does on a desktop, on both Termux and a cloud container. The parts that fight you on Termux are the ones that ship native binaries: Mason-installed language servers (arm64 gap above) and Treesitter parsers that compile against the local toolchain. On a cloud x86_64 container those compile and install unchanged, which is the main reason we reach for one when we want our full plugin set rather than a trimmed mobile config.

Is a phone keyboard actually usable for a modal editor like Neovim?

The single real objection to Neovim on glass is the ESC key — modal editing lives or dies on a fast, reliable Escape. Local iOS terminals solve it with extended key rows; iVim documents adding compact buttons that cover keys the system keyboard hides. We solve it in Cosyra with a terminal toolbar pinned above the keyboard that has dedicated ESC, TAB, CTRL, ALT, and arrow keys. Our honest opinion, which a desktop-Neovim blog probably wouldn't share: once ESC and CTRL are one tap away, Neovim on a phone is genuinely good, not a party trick. Most people who say the keyboard kills it are picturing typing a 500-line file on the train — but the real mobile loop is navigating, running an LSP rename, and editing a handful of lines.

Neovim on Termux versus a cloud Ubuntu container — which should I use?

Use Termux if you are on Android, want it free, and need it to work with no signal — a subway tunnel, a flight. You get real local Neovim 0.12.3 and you accept the arm64 ceiling on prebuilt language servers. Use a cloud container if you are on an iPhone (Termux has no iOS build), or you want your full LSP and Treesitter setup to install with zero architecture workarounds, or you want the same config and files on every device. We built Cosyra for the second case; the trade-off we won't hide is that it needs internet.

Recap

Neovim on Android, local and offline → Termux + pkg install neovim (0.12.3), with a mason = false fallback for arm64 language servers. Local editing on iPhone → iVim, but it's Vim, not Neovim. Full modern Neovim with Mason and LSP that just works, on either phone → a cloud Ubuntu container reached from a native app.

We built Cosyra for the last case. Sign up gets 1 hour free, no credit card. Pro is $29.99/month for 120 hours of compute and 30 GB persistent storage when you need it.