What It Does

ASCII Saver captures your live camera feed and renders it in real time as ASCII characters on your screen. It uses a two-process architecture: a background camera agent captures frames and writes them to shared memory, and the screensaver reads and renders them using a CVDisplayLink-driven view.

When the screensaver activates, it signals the camera agent to start. When it deactivates, the agent stops and releases the camera. The agent only runs when needed.

Colour Filters

FilterDescription
ClassicWarm parchment-style ASCII — the default look
MatrixBright green on black with glow effect
AmberWarm amber terminal aesthetic with glow
Raw FeedTinted grayscale camera image (not ASCII)
SilhouetteiPod-style person outline with cycling colours, using ML person segmentation

Effects

EffectDescription
ScanlinesSemi-transparent horizontal lines for a CRT look
Phosphor PersistencePrevious frame lingers as a fading afterimage
GlitchRandom pixel offsets for a corruption effect
InterferenceRandom static bands and tear lines

Configuration

Right-click the screensaver preview in System Settings to open the configuration panel. All settings are saved and persist across restarts.

Installation

  1. Download ASCIISaver-Installer.pkg from the link above
  2. Double-click to run the installer — it installs the screensaver and the camera agent
  3. Open System Settings → Wallpaper → Screen Saver and select ASCII Saver
  4. If ASCII Saver doesn’t appear in the list, close System Settings and reopen it — macOS sometimes needs a restart to detect newly installed screensavers
  5. Launch ASCII Saver Camera Agent from Applications — grant camera permission when prompted
  6. Return to the Screen Saver settings and configure your preferences (right-click the preview to access the options panel)
  7. You may need to close and reopen System Settings once more for the preview to display correctly — this is a macOS quirk

The camera agent appears in the menu bar. Add it to System Settings → General → Login Items so it starts automatically.

How It Works

Uninstalling

Run the included uninstall script, or manually remove /Library/Screen Savers/ASCIISaver.saver and /Applications/ASCIISaverCameraAgent.app.

Building from Source

Requires Xcode 16+ and an Apple Developer certificate.

  1. Clone the repo: git clone https://github.com/PerpetualBeta/ASCIISaver.git
  2. Run gmake build (produces .build/ASCIISaver.saver and the helper agent)
  3. For the signed, notarised installer .pkg: gmake release

Requirements

macOS 14 (Sonoma) or later. A built-in or external camera.