Image converter for Amstrad CPC
Transform modern images into authentic Amstrad CPC graphics with advanced palette quantization, dithering algorithms, and multiple export formats.
Try Web Version • Download Desktop App • Report Bug
- Classic CPC: 27 colors mode for authentic retro graphics
- CPC Plus: 4096 colors palette for enhanced visuals
- Rasters: Per-scanline palette changes for CPC Classic and CPC Plus
- Real-time palette quantization with perceptual color matching
- Multiple dithering algorithms: Floyd-Steinberg, Atkinson, Sierra, and more
- Adjustments: Brightness, contrast, saturation controls
- Adaptive processing: Automatic CPU/GPU fallback for optimal performance
- SCR: Native Amstrad CPC screen format
- Linear: Raw pixel data
- Palette: Color palette extraction
- PNG: Preview with applied effects
- DSK: Disk image with your graphics
- SNA: Snapshot for instant emulator loading
- And more...
- Desktop app: Windows, macOS (Intel & Apple Silicon), Linux (AppImage, deb, rpm)
- Web version: Works in any modern browser
- Auto-updates: Built-in updater keeps your desktop app current
Download the latest version for your platform:
| Platform | Download |
|---|---|
| Windows | .exe installer (recommended) or .msi package |
| macOS Intel | .dmg (x64) |
| macOS Apple Silicon | .dmg (M1/M2/M3) |
| Linux | .AppImage (universal) or .deb / .rpm |
Tip: The desktop app includes automatic updates! You'll be notified when new versions are available.
No installation required! Try Pixsaur directly in your browser:
Works on any device with a modern web browser.
For macOS and Linux, we provide an automated setup script that installs everything you need:
git clone https://github.com/IIIvan37/pixsaur.git
cd pixsaur
./scripts/setup-dev-environment.shThis script will automatically install:
- System dependencies (Xcode CLI Tools for macOS, GTK/WebKit for Linux)
- Node.js (via Homebrew on macOS)
- pnpm
- Rust
- Project dependencies (pnpm install)
Supported distributions: Ubuntu, Debian, Linux Mint, Pop!_OS, Elementary, Arch, Manjaro, Fedora, RHEL, CentOS, openSUSE
After installation, run:
source $HOME/.cargo/env # Load Rust environment
pnpm tauri:dev # Start developmentIf you prefer manual installation or are on Windows:
- Node.js (v18 or later) - Download
- pnpm (v8 or later) -
npm install -g pnpm - Rust (latest stable) - Install rustup
- Git - For cloning the repository
git clone https://github.com/IIIvan37/pixsaur.git
cd pixsaur
pnpm installmacOS
xcode-select --install
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source $HOME/.cargo/envWindows
- Install Microsoft C++ Build Tools
- Install Node.js
- Install Rust
- Install pnpm:
npm install -g pnpm - Restart your terminal
Linux (Ubuntu/Debian)
# System dependencies
sudo apt update
sudo apt install build-essential curl wget file libssl-dev pkg-config
# Rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source $HOME/.cargo/env
# WebKit2GTK (try 4.1 first, fallback to 4.0)
sudo apt install libwebkit2gtk-4.1-dev libayatana-appindicator3-dev librsvg2-dev libgtk-3-dev || \
sudo apt install libwebkit2gtk-4.0-dev libappindicator3-dev librsvg2-dev libgtk-3-devDesktop app (Tauri):
pnpm tauri:devWeb version only:
pnpm dev
# Open http://localhost:5173pnpm install: Install project dependenciespnpm dev: Start the Vite development server for the web version (http://localhost:5173)pnpm build: Type-check with TypeScript and build the web version (output in dist/)pnpm preview: Preview the built web version locallypnpm typecheck: Run TypeScript type checking without emitting filespnpm test: Run tests with Vitestpnpm test:coverage: Run tests with coverage reportpnpm lint: Check code linting with Biomepnpm lint:fix: Fix linting issues automaticallypnpm format: Check code formatting with Biomepnpm format:fix: Format code automaticallypnpm check: Run full Biome check (lint + format)pnpm check:fix: Fix all Biome issues automaticallypnpm i18n:extract: Extract internationalization messages with Linguipnpm i18n:compile: Compile internationalization messagespnpm tauri: Run Tauri CLI commandspnpm tauri:dev: Start Tauri development mode (desktop app)pnpm tauri:build: Build the desktop applicationpnpm asm:expand: Expand INCLUDE directives in RASM assembly files
The asm/src/ folder contains Z80 assembly demonstration programs for displaying exported images on Amstrad CPC:
| Program | Description |
|---|---|
scr-plus-raster |
CPC Plus standard screen with rasters |
scr-plus-raster-overscan |
CPC Plus overscan (96×280) with rasters |
scr-classic-raster |
CPC Classic standard screen with rasters |
scr-classic-raster-overscan |
CPC Classic overscan (96×280) with rasters |
Each program includes a Makefile for building with RASM and running on an emulator. Extract the Pixsaur ZIP export to the data/ folder of the demo program.
- React 19 - Modern UI library
- TypeScript - Type-safe development
- Vite - Lightning-fast build tool
- Jotai - Atomic state management
- Tauri 2 - Lightweight cross-platform framework
- Rust - High-performance backend
- pixsaur-color - Custom colorimetric library (RGB color space)
- WebGL - GPU-accelerated processing with CPU fallback
- Biome - Ultra-fast linting and formatting
- Vitest - Unit testing framework
- TypeScript - Static type checking
We welcome contributions! Whether it's:
- Bug reports
- Feature requests
- Documentation improvements
- Code contributions
Please read our Contributing Guide to get started.
This project is licensed under the MIT License - see the LICENSE file for details.
Made for the Amstrad CPC community