Free and OpenSource Litophane Maker & Color Lithophane for 3D printing
Upload a photo, configure filament layers with Transmission Depth simulation, preview in 3D, and export print-ready STL files — 100% client-side, no server needed, no cloud files upload!!
Open Source Lithophane & Color Lithophane Generator
From pixel to sculpture — all in your browser.
PixelSculpt is a free, open-source web application that transforms any photograph into a 3D-printable lithophane. Everything runs directly in your browser — no server, no upload, no account required. Your images never leave your computer.
Load a photo, adjust parameters, preview in real-time 3D, and export a ready-to-print STL file in seconds.
- Drag & drop or click to upload (PNG, JPG, WebP)
- Auto Optimize — analyzes image luminance histogram and automatically calculates optimal brightness, contrast, gamma, and pixel sampling for the best lithophane result
- Manual adjustments: brightness, contrast, gamma correction
- Image inversion and mirroring (for backlit orientation)
- Bilinear sampling for smooth gradients
- Gaussian smoothing (separable, multi-pass)
- Layer quantization to eliminate print banding artifacts
- Configurable pixel sampling (1x–4x) for file size control
- Width and height in mm with aspect ratio lock
- 15 size presets organized in 3 groups:
- Photo formats: 10×15, 13×18, 15×20, 20×25, 20×30 cm
- Paper formats: A6, A5, A4, Letter, Postcard
- Aspect ratios: 1:1, 4:3, 3:2, 16:9, 9:16
- mm ↔ px unit toggle with live DPI calculation
- Quick swap width/height button
- Multi-layer filament stack with per-layer color, height, and Transmission Depth (TD) values
- Beer-Lambert optical absorption simulation — realistic light transmission through colored filament layers
- AMS mode: automatic multi-color filament change with full layer configuration
- Manual Swap mode: single or multi-filament with precise pause-at-layer instructions for hand swapping
- Layer persistence when switching between AMS and Manual modes
- Drag & drop layer reordering
- Filament Change Schedule with exact layer numbers for each color change
- Real-time TD preview with auto-contrast labels
- Color ramp visualization
- 28+ built-in presets: Generic, Prusament, eSun, Polymaker, Bambu Lab
- Custom preset creation with brand, name, color, and TD value
- Import/Export presets as JSON
- Brand filter dropdown
- Flat mode: standard horizontal print on bed
- Vertical mode: standing lithophane with automatic support generation
- Triangle supports: two removable triangular prisms at 25% and 75% width, with 0.15mm gap for easy removal
- Stand base: full-width permanent base plate with rear extension for stability
- Configurable stabilizer height (20–100%) and thickness (0.5–4mm)
- Real-time 3D preview of supports (blue semi-transparent)
- Real-time Three.js preview with orbit, pan, and zoom
- 5 camera presets: Front, Back, Top, 3/4 Tilt, Reset — with smooth animated transitions
- Mouse controls: left-drag rotate, right/middle-drag pan, scroll zoom
- Keyboard controls: arrow keys rotate (Shift = fast), WASD pan, +/- zoom, 1-4 camera presets
- Backlight simulation with adjustable intensity slider (5–100%)
- Wireframe toggle
- Touch support for mobile devices
- STL Binary (compact) and STL ASCII formats
- Watertight manifold mesh generation — no slicer repair needed
- Optional border frame with adjustable width
- Estimated file size display (KB/MB + triangle count)
- Automatic filename suffix (_flat / _vertical)
- 5 languages: English, Italiano, Deutsch, Français, Español
- External
lang.jsonfor easy translation contributions - Language preference saved in localStorage
- 100% client-side — zero server dependency, no cloud upload for your privacy, your images stays yours!
- Single HTML file + one JSON translation file
- Three.js r128 for 3D rendering
- Works offline after initial page load
- GitHub Pages ready
- Visit the live demo
- Open in any modern browser
- Drop a photo
- Click Auto Optimize or adjust parameters manually
- Choose Flat or Vertical orientation
- Click Export STL
- Import into your slicer and print!
| Parameter | Value |
|---|---|
| Orientation | Vertical (for best quality) |
| Layer height | 0.08–0.12 mm |
| Infill | 100% (solid) |
| Walls | 1–2 perimeters |
| Nozzle | 0.4 mm |
| Material | PLA (white for classic lithophanes) |
| Speed | 30–40 mm/s |
pixelsculpt/
├── index.html ← The complete application
├── lang.json ← Translations (EN, IT, DE, FR, ES)
├── README.md ← This file
└── LICENSE ← MIT License
PixelSculpt è un'applicazione web gratuita e open-source che trasforma qualsiasi fotografia in una litofania stampabile in 3D. Tutto funziona direttamente nel tuo browser — nessun server, nessun upload, nessun account necessario. Le tue immagini non lasciano mai il tuo computer.
Carica una foto, regola i parametri, visualizza l'anteprima 3D in tempo reale ed esporta un file STL pronto per la stampa in pochi secondi.
- Drag & drop o click per caricare (PNG, JPG, WebP)
- Ottimizzazione Automatica — analizza l'istogramma di luminanza dell'immagine e calcola automaticamente luminosità, contrasto, gamma e campionamento pixel ottimali per il miglior risultato
- Regolazioni manuali: luminosità, contrasto, correzione gamma
- Inversione e specchiatura dell'immagine (per orientamento retroilluminato)
- Campionamento bilineare per gradazioni uniformi
- Smoothing Gaussiano (separabile, multi-passata)
- Quantizzazione ai layer per eliminare artefatti di banding in stampa
- Campionamento pixel configurabile (1x–4x) per controllo dimensione file
- Larghezza e altezza in mm con blocco proporzioni
- 15 formati predefiniti organizzati in 3 gruppi:
- Formati fotografici: 10×15, 13×18, 15×20, 20×25, 20×30 cm
- Formati carta: A6, A5, A4, Letter, Cartolina
- Rapporti d'aspetto: 1:1, 4:3, 3:2, 16:9, 9:16
- Commutazione mm ↔ px con calcolo DPI in tempo reale
- Pulsante scambio rapido larghezza/altezza
- Stack multi-layer con colore, altezza e valore TD (Transmission Depth) per ogni layer
- Simulazione ottica di assorbimento Beer-Lambert — trasmissione realistica della luce attraverso strati di filamento colorato
- Modalità AMS: cambio filamento automatico multicolore con configurazione completa dei layer
- Modalità Cambio Manuale: filamento singolo o multiplo con istruzioni precise di pausa-al-layer per cambio manuale
- Persistenza dei layer quando si passa tra modalità AMS e Manuale
- Riordinamento layer tramite drag & drop
- Programma Cambio Filamento con numero esatto di layer per ogni cambio colore
- Anteprima TD in tempo reale con etichette auto-contrasto
- Visualizzazione rampa colore
- 28+ preset inclusi: Generic, Prusament, eSun, Polymaker, Bambu Lab
- Creazione preset personalizzati con brand, nome, colore e valore TD
- Import/Export preset in formato JSON
- Filtro dropdown per brand
- Modalità Piatto: stampa orizzontale standard sul piano
- Modalità Verticale: litofania in piedi con generazione automatica dei supporti
- Supporti triangolari: due prismi triangolari rimovibili al 25% e 75% della larghezza, con gap di 0.15mm per facile rimozione
- Base di appoggio: base permanente a tutta larghezza con estensione posteriore per stabilità
- Altezza (20–100%) e spessore (0.5–4mm) stabilizzatori configurabili
- Anteprima 3D in tempo reale dei supporti (blu semi-trasparente)
- Anteprima Three.js in tempo reale con orbita, pan e zoom
- 5 preset camera: Fronte, Retro, Alto, Vista 3/4, Reset — con transizioni animate fluide
- Controlli mouse: click sinistro ruota, click destro/centrale pan, scroll zoom
- Controlli tastiera: frecce ruotano (Shift = veloce), WASD pan, +/- zoom, 1-4 preset camera
- Simulazione retroilluminazione con slider intensità regolabile (5–100%)
- Toggle wireframe
- Supporto touch per dispositivi mobili
- Formati STL Binario (compatto) e STL ASCII
- Generazione mesh manifold stagna — nessuna riparazione nello slicer necessaria
- Cornice opzionale con larghezza regolabile
- Stima dimensione file in tempo reale (KB/MB + conteggio triangoli)
- Suffisso automatico nel nome file (_flat / _vertical)
- 5 lingue: English, Italiano, Deutsch, Français, Español
- File
lang.jsonesterno per contributi di traduzione facili - Preferenza lingua salvata nel localStorage
- 100% client-side — zero dipendenze server
- Un singolo file HTML + un file JSON di traduzione
- Three.js r128 per il rendering 3D
- Funziona offline dopo il caricamento iniziale della pagina
- Pronto per GitHub Pages
- Visita la demo live
- Apri in qualsiasi browser moderno
- Trascina una foto
- Clicca Ottimizzazione Auto o regola i parametri manualmente
- Scegli orientamento Piatto o Verticale
- Clicca Esporta STL
- Importa nel tuo slicer e stampa!
| Parametro | Valore |
|---|---|
| Orientamento | Verticale (per migliore qualità) |
| Altezza layer | 0.08–0.12 mm |
| Riempimento | 100% (solido) |
| Pareti | 1–2 perimetri |
| Ugello | 0.4 mm |
| Materiale | PLA (bianco per litofanie classiche) |
| Velocità | 30–40 mm/s |
- Tealight & LED holder supports — integrated support structures compatible with standard tealight candles and Bambu Lab LED modules, directly in the stabilizer system
- Selective 3D relief extrusion — paint or select regions of the lithophane to extrude beyond the surface, creating dramatic three-dimensional relief effects (imagine elements popping out of the frame)
- Additional filament preset packs
- Curved and cylindrical lithophane shapes
- Multi-image lithophane box/lamp generator
- G-code preview with layer-by-layer simulation
Contributions are welcome! You can help by:
- Adding translations to
lang.json - Submitting filament preset packs
- Reporting bugs or suggesting features via Issues
- Opening Pull Requests
MIT License — free for personal use.
Made with ❤️ for the 3D printing community
From pixel to sculpture.