A browser-based pixel art converter: turn photos and images into pixel art with adjustable block size, color count, conversion algorithms, and built-in / custom palettes.
Live site: https://image2pixel.app
| Original | Result |
|---|---|
- Real-time preview in the browser (no install, no build step)
- Block size 2–20 · color count 2–64
- 5 conversion algorithms (default: Classic LAB)
- Built-in palette collections (PICO-8, DawnBringer, Endesga, AAP-64, hardware / wplace, and more)
- Custom palette upload
- Perler / fuse bead (拼豆) blueprint export with brand palettes (Perler, Hama, Nabbi, Artkal)
- Grid overlay, 1:1 pixel export, PNG download, and print (A4)
- Transparency (alpha) support
- UI languages: English · 简体中文 · 繁體中文
- Companion page: Pixel Font Generator
| Algorithm | Summary |
|---|---|
| Classic (Median Cut) | Block average → Median Cut palette in RGB → nearest color. Fast baseline. |
| Classic LAB (default) | Same solid blocks, but palette + matching in CIELAB for more perceptual results. |
| LAB + Dithering | Classic LAB pipeline + Floyd–Steinberg error diffusion (CIELAB distance). |
| Tezumie Style | Center-pixel sampling (hard edges) + LAB Floyd–Steinberg dithering. |
| Tezumie (No Dither) | Center-pixel sampling without dithering — clean hard-color blocks. |
On-page copy under Conversion Algorithms explains each option; labels are fully localized.
- Open an image (JPG / PNG / WebP).
- Adjust Block Size, Color Count, Algorithm, and optionally Show Grid.
- Pick a built-in palette or upload a custom one; for fuse beads, choose a brand palette and enable Blueprint before Save.
- Optionally enable 1:1 to export one physical pixel per color block.
- Save as PNG or Print (grid is preserved when enabled).
| Platform | Link |
|---|---|
| Steam (desktop) | Image2pixel — Pixel Art Generator |
| App Store (iOS) | image2pixel |
| Google Play (Android) | image2pixel |
| Chrome Extension | Image2Pixel Picker |
Extension privacy policy: web/chrome-extension-privacy-policy.html.
├── server.js # Optional static server (serves web/ on :5000)
├── pixelizer.js # Legacy / reference pixelizer helpers
├── scripts/ # Palette conversion helpers
└── web/
├── index.html # Main converter
├── pixel-text-generator.html
├── css/style.css
├── js/
│ ├── main.js # UI + conversion orchestration
│ ├── algorithms.js # CIELAB / dither / Tezumie pipelines
│ ├── i18n.js # EN / zh-CN / zh-TW strings
│ └── pixel-text-generator.js
├── palette/ # Built-in + fuse bead palettes
├── zh-CN/ · zh-TW/ # Localized legal pages
└── *.html # Privacy, EULA, support, extension policy
git clone https://github.com/32comic/image2pixel-web.git
cd image2pixel-web
node server.js # http://localhost:5000Or open web/index.html directly. No npm install or bundler required (Node is only needed for server.js).
Current: v1.1.0
- Algorithm selector with 5 pipelines (Classic, Classic LAB, LAB + Dithering, Tezumie Style, Tezumie No Dither)
- On-page algorithm introduction section
- Localized algorithm labels (EN / 简体中文 / 繁體中文)
- 1:1 export checkbox (one physical pixel per color block)
- Perler bead (拼豆) blueprint export
- 7 fuse bead brand palettes (Perler, Hama, Nabbi, Artkal)
- Print support
- Transparency (alpha channel) support
- Grid display; improved download interaction
- Mobile layout: hide original preview ≤768px; result uses full width
- Initial web converter: preview, block size, color count, PNG download
- Background detection: samples image corners; averages RGB for a stable background estimate
- Anti-aliasing cleanup: color-distance threshold (default 30) remaps near-background noise
- Scaling: aspect-preserving, nearest-neighbor for crisp blocks
- Algorithms: see table above; implementation lives in
web/js/algorithms.jsandweb/js/main.js
Custom restricted license — see LICENSE.
Copyright © 2024–2026 image2pixel.app. All rights reserved.
Personal / educational / non-commercial use is permitted under the license terms. Commercial use requires written permission.
Thanks to Pixel It for the inspiration.