| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| README.md | 2026-05-29 | 2.7 kB | |
| pixelator_v5.tar.gz | 2026-05-29 | 1.2 MB | |
| pixelator_v4.tar.gz | 2026-02-23 | 990.5 kB | |
| pixelator_v3.tar.gz | 2026-02-12 | 989.2 kB | |
| pixelator_v2.tar.gz | 2026-02-01 | 968.6 kB | |
| pixelator_v1.tar.gz | 2025-10-27 | 1.4 MB | |
| pixelator_v0.tar.gz | 2025-10-10 | 1.9 MB | |
| Totals: 7 Items | 7.4 MB | 0 |
π§© Pixelator
Reassemble your images as animated puzzles β export to MP4.
Pixelator is a program that randomly reassembles scattered image fragments back into place.
It can run in interactive mode (with a graphical interface) or in headless mode via a REST API.
Β© 2025 Michel Zivy β License GNU GPL v3
Local Installation (Graphical Mode)
Prerequisites
sudo apt install libx11-dev libpng-dev imagemagick ffmpeg
Compilation & Installation
make
sudo make install
Use
make DBG=yesfor a debug build.
Usage
puzzle -i <image> [-n <pieces>] [-b black|white|light|choose|"#123456"|"rgb(R,G,B)"] [-s <speed>] [-v] [-o]
| Option | Description | Default |
|---|---|---|
-i |
Path to the image | β |
-n |
Number of pieces per side (1β50) | 20 |
-b |
Background color: black, white, light, choose , "#123456", "rgb(R,G,B)" |
black |
-s |
Speed factor (0.1 to 10) | 1 |
-v |
Acceleration towards the end | disabled |
-o |
Export the video as .mp4 |
disabled |
Example
puzzle -i images/la_joconde25.png -n 12 -o -b white
Without Installation
./puzzle -i <image> [options]
Headless Mode (Web Server)
Compiles the binary without X11, used by the Node.js API:
Prerequisites
sudo apt install libpng-dev ffmpeg
Compilation
make puzzle-headless
Produces the puzzle-headless binary, used by api/server.js.
Web Interface + Docker Compose
The application includes a vanilla web interface (HTML/CSS/JS) and a REST API.
Start the Full Stack
docker compose up --build
Then open http://localhost:8080 in your browser.
Architecture
Browser β http://localhost:8080
β
βΌ
[Nginx :80] (web service)
βββ / β static files (frontend)
βββ /api/β¦ β proxy β [Node.js :8080] β puzzle-headless
API Endpoints
| Method | Route | Description |
|---|---|---|
GET |
/health |
API health check |
POST |
/pixelate |
Send an image, receive an MP4 |
POST /pixelate β parameters (multipart/form-data)
| Field | Type | Description |
|---|---|---|
image |
file | Image file β required |
n |
integer | Pieces per side (2β50) |
b |
string | Background: black, white, light, choose |
s |
float | Speed (0.1β10) |
v |
bool | Acceleration towards the end (true/false) |