Skip to main content

Customize Termux: the complete guide to your Android terminal

Learn how to fully customize Termux: colors, themes, extra keys, fullscreen, cursor, fonts and dotfiles management. The reference guide for mobile developers.

Avatar of Diane
Customizing Termux on Android
  • All termux.properties options explained
  • How to change terminal colors with colors.properties
  • Installing Nerd Fonts for icons
  • Managing your config with dotfiles and symlinks

Termux is the most powerful terminal emulator on Android. But out of the box, it looks… plain. The good news? Everything is customizable. This guide covers every available configuration option.

Where is the configuration?

Termux uses three files in ~/.termux/:

FilePurpose
termux.propertiesTerminal behavior (keyboard, appearance, shortcuts)
colors.propertiesTerminal colors (16-color palette + background + foreground)
font.ttfCustom font

After every change, apply settings:

termux-reload-settings

Or fully restart the Termux app.

If the terminal concept itself is new, what a TTY is and why it still matters gives the background.


termux.properties: all options

Appearance

PropertyValuesDefaultDescription
fullscreentrue/falsefalseHides Android status and navigation bars
use-fullscreen-workaroundtrue/falsefalseFixes display bugs in fullscreen mode
use-black-uitrue/falsefalseForces dark theme for drawer and dialogs
night-modetrue/false/systemsystemFollows Android dark mode
terminal-margin-horizontal0–100 dp3Left/right margin
terminal-margin-vertical0–100 dp0Top/bottom margin
terminal-toolbar-height0.4–3.01.0Toolbar height scale
terminal-cursor-styleblock/underline/barblockCursor style
terminal-cursor-blink-rate0+ ms0Blink speed (0 = no blink)
terminal-transcript-rowsintegerautoScrollback buffer size

Example — immersive terminal:

fullscreen = true
use-fullscreen-workaround = true
use-black-ui = true
terminal-cursor-style = underline

Keyboard & Extra Keys

The extra keys bar is the double row above the keyboard showing ESC, CTRL, ALT, arrows, etc.

PropertyValuesDefaultDescription
extra-keysJSON array2 rowsDefines which keys are shown
extra-keys-styledefaultdefaultKey style
extra-keys-text-all-capstrue/falsetrueAuto-capitalize key labels
hide-soft-keyboard-on-startuptrue/falsefalseHide keyboard on start
soft-keyboard-toggle-behaviourshow/hide/enable/disableshow/hideKeyboard toggle behavior
enforce-char-based-inputtrue/falsefalseForce character-by-character input
ctrl-space-workaroundtrue/falsefalseFixes Ctrl+Space on some devices

Completely hide the bar (if you have a physical keyboard):

extra-keys = [[]]

Minimalist single row:

extra-keys = [['ESC','/','-','HOME','UP','END','PGUP']]

Custom two rows:

extra-keys = [['ESC','|','/','-','HOME','UP','END'],['TAB','CTRL','ALT','LEFT','DOWN','RIGHT','ENTER']]

Tip: Toggle the bar anytime with Volume Up + K.

If you also type in other Android apps, the CMDglows keyboard for Android offers its own Ctrl action mode.

Session Shortcuts

Termux sessions are like terminal tabs. Manage them via the drawer (swipe from left) or these physical keyboard shortcuts:

PropertyDefaultDescription
shortcut.create-sessionctrl + tNew session
shortcut.next-sessionctrl + 2Next session
shortcut.previous-sessionctrl + 1Previous session
shortcut.rename-sessionctrl + nRename session
disable-hardware-keyboard-shortcutsfalseDisable all physical keyboard shortcuts

Behavior

PropertyValuesDefaultDescription
back-keyback/escapebackAndroid back button = app back or Escape key
volume-keysvirtual/volumevirtualVolume keys = system volume or terminal shortcuts
bell-charactervibrate/beep/ignorevibrateTerminal bell behavior
terminal-onclick-url-opentrue/falsefalseOpen URLs by clicking on them
disable-terminal-session-change-toasttrue/falsefalseDisable session change notification

System

PropertyValuesDefaultDescription
allow-external-appstrue/falsetrueAllow Termux to launch Android apps
default-working-directorypath~Startup directory
delete-tmpdir-files-older-than-x-days-on-exit-1 to 1000003Auto-cleanup temp files
run-termux-am-socket-servertrue/falsetrueAndroid communication server
disable-file-share-receivertrue/falsefalseDisable file share receiver
disable-file-view-receivertrue/falsefalseDisable file view receiver

colors.properties: terminal colors

This is where it gets interesting. The ~/.termux/colors.properties file controls the entire color palette of your terminal.

How it works

Your terminal uses 16 standard ANSI colors. When a program (git, npm, Claude Code, vim…) wants to display colored text, it uses an ANSI code referencing one of these 16 colors:

ColorPropertyUsed for
Blackcolor0 / color8 (bright)Secondary background, muted text
Redcolor1 / color9Errors, git deletions, failures
Greencolor2 / color10Success, git additions, confirmations
Yellowcolor3 / color11Warnings, modified files
Bluecolor4 / color12Titles, directories, links
Magentacolor5 / color13Keywords, accents
Cyancolor6 / color14Info, parameters, strings
Whitecolor7 / color15Primary light text

Plus three special properties:

  • foreground — default text color
  • background — background color
  • cursor — cursor color

Example: Nord theme

foreground=#d8dee9
background=#2e3440
cursor=#d8dee9

color0=#3b4252
color1=#bf616a
color2=#a3be8c
color3=#ebcb8b
color4=#81a1c1
color5=#b48ead
color6=#88c0d0
color7=#e5e8f0

color8=#4c566a
color9=#bf616a
color10=#a3be8c
color11=#ebcb8b
color12=#81a1c1
color13=#b48ead
color14=#8fbcbb
color15=#eceff4

Choose a theme

Browse and preview all 114 themes in our interactive tool → Termux Theme Previewer

Three ways to install a theme:

  1. Manually — paste into ~/.termux/colors.properties
  2. Termux
    — F-Droid app with built-in selector (no preview though)
  3. Dotfiles — versioned file + symlink (recommended for developers)

Custom fonts

Termux uses a single font file: ~/.termux/font.ttf. To change it:

# Download JetBrainsMono Nerd Font (with icons)
curl -fsSL "https://github.com/ryanoasis/nerd-fonts/releases/download/v3.2.1/JetBrainsMono.zip" -o font.zip
unzip -q font.zip "JetBrainsMonoNerdFont-Regular.ttf"
cp JetBrainsMonoNerdFont-Regular.ttf ~/.termux/font.ttf
termux-reload-settings

Nerd Fonts add icons to your terminal (folders, git, languages…), essential for tools like Starship, Neovim, or Yazi.

Alternative: install Termux

from F-Droid for a visual font picker.


Managing config with dotfiles

The best approach for developers: version your Termux configuration in a dotfiles repo and symlink it.

dotfiles/
├── termux/
│   ├── termux.properties
│   └── colors.properties
├── dotfiles/
│   └── termux.sh
└── ...

In your install script

mkdir -p "$HOME/.termux"
ln -sf "$HOME/dotfiles/termux/termux.properties" "$HOME/.termux/termux.properties"
ln -sf "$HOME/dotfiles/termux/colors.properties" "$HOME/.termux/colors.properties"
termux-reload-settings

Benefits:

  • Git-versioned configuration
  • Reproducible on any new device
  • Shareable with your team

Here’s our optimized config for mobile development:

# ~/.termux/termux.properties

# Immersive appearance
fullscreen = true
use-fullscreen-workaround = true
use-black-ui = true
terminal-cursor-style = underline

# Hide extra keys bar (physical keyboard)
extra-keys = [[]]

# Behavior
terminal-onclick-url-open = true
disable-terminal-session-change-toast = true
back-key = escape

For the other Termux pages on the site, see the Termux page.


Our Termux dotfiles (open source)

We use this exact configuration daily. Our dotfiles repo includes:

  • Optimized termux.properties for mobile development
  • Automatic install script with symlinks
  • Neovim, Starship, Zoxide, Nerd Fonts — all preconfigured
  • AI coding agents setup (LLM CLI, Shell-GPT)

github.com/dianedef/dotfiles — clone, run bash dotfiles/termux.sh, done.


ShipGlows — server dev environments

If you develop on a server (VPS, Codespace), ShipGlows automates everything: isolation with Flox, process management with PM2, HTTPS with Caddy, SSH tunnels and public URLs via DuckDNS.

github.com/commandglows/shipglows — an interactive CLI to deploy and manage your dev environments.


🎯 Training: Code on Mobile

Want to go further? Module IX of the CMDglows Training teaches you how to:

  • Configure Termux for optimized server access
  • Understand why SSH ≠ Mosh for AI coding tools
  • Use OpenCode/KiloCode from your phone
  • Structure your workflow for mobility

Was this article helpful?

Related Articles