The keypad phone. Back in your hand.

A Series 40–style feature phone for Mac and iPhone. Real calls, texts, contacts, camera, music, radio, Java games and the web, all through your own device. Press its keys or just touch the screen.

Checking the latest release…
A live phone. Click the keys, or use your keyboard.
Display
240 × 320
Keys
21 + nav
Runs on
macOS 13 · iOS 16
Your data
Stays on device

Features

Every key does something real.

The phone hands real work to the device it runs on. Where Apple doesn't allow something, the feature isn't there, instead of pretending.

Real calls and VoIP

Dial on the keypad and press the call key. iPhone places the call, a Mac uses FaceTime, or link a VoIP account and KeyPhone makes and answers internet calls itself.

Settings › Call › VoIP account

Text messages

Write with multi-tap, predictive text or the messenger's keyboard, and send through Messages. Key, message and ringing tones go quiet when your iPhone is on silent.

Menu › Messaging

Your contacts

Names is your device's address book. Add, edit or delete a name and Contacts changes too. Groups and speed dials included.

Right key › Names

Camera, Gallery and Recorder

A live viewfinder on the phone's screen. Photos are saved exactly as framed, the Gallery is your real Photos library, and the Recorder keeps voice memos.

Menu › Media › Camera

Music, Apple Music and Spotify

Your Apple Music library plays straight away, with shuffle, repeat, seeking, volume, Up next and a sleep timer. Your own song files and Spotify work too, and the radio streams thousands of internet stations.

Menu › Media

Seven phone models

Original handsets from different eras: a backlit monochrome bar, a glossy colour phone, a slim metal bar, a flip, and a wide messenger with a full keyboard and landscape screen in five colours, Midnight black among them. The menus, fonts, themes and wallpapers change with each.

≡ › Phone model

Organiser that works

Alarms, reminders and timers ring even when the app is closed. Live weather on the standby screen, a world clock, currency and unit converter, a ringtone composer and the torch.

Menu › Organiser

Java games and apps

Install .jar games from a file or a web address. Java stays ready in the background, so games open in a moment, even with no internet; anything the built-in engine can't run moves to the full engine online. Blocks, Mines and Snake come built in.

Menu › Applications

The real web

Open any site in mobile layout, with bookmarks, text size, image and cookie settings. Install a game straight from a download link.

Menu › Web

Install

Two downloads. One phone.

Both apps are built from this repository's source on GitHub's servers for every release.

Mac

macOS 13 Ventura or later · Apple silicon and Intel
  1. Download KeyPhone.dmg and open it.
  2. Drag KeyPhone onto Applications in the window that appears.
  3. Open it from Applications. The first time, macOS says it can't check the developer. Open System Settings › Privacy & Security, scroll down and click Open Anyway.
If macOS says the app is damaged, run this once in Terminal, then open it again:
xattr -dr com.apple.quarantine "/Applications/KeyPhone.app"

iPhone

iOS 16 or later · free Apple ID
  1. Download KeyPhone.ipa on your Mac or PC.
  2. Install it with a sideloading tool such as Sideloadly or AltStore. Connect your iPhone, choose the .ipa and sign in with your Apple ID.
  3. Trust the app on the iPhone: Settings › General › VPN & Device Management, then turn on Developer Mode if iOS asks.
With a free Apple ID, iOS stops opening sideloaded apps after 7 days. Reinstall with the same tool to renew; your phone's contacts and settings are kept. The icon follows light and dark mode on iOS 18 and later.

Straight answers

What it can't do.

Some things are walled off by Apple, so the phone leaves them out instead of faking them.

Build it yourself

Open source.

The phone is one HTML file. The Mac and iPhone apps wrap it and connect it to the system. On a Mac with Xcode:

# get the code
git clone https://github.com/harkhowalia-1/KeyPhone.git
cd KeyPhone/apple
# needs Homebrew
brew install xcodegen
./make_web.sh && xcodegen generate
open Larch.xcodeproj