Default usage
Block size 7, no other modifications.
Upload .hex or .txt palette files, or build colors manually.
Sample outputs at different block sizes, palettes, and grayscale settings.
Block size 7, no other modifications.
Block size 17, four colors.
Block size 10, grayscale.
Block size 8, sixteen colors.
Chainable methods from the original pixelit library this tool reimplements.
<img src="sky.jpg" id="pixelitimg" alt=""> <canvas id="pixelitcanvas"></canvas> <script src="pixelit.js"></script> <script> const px = new pixelit(); px.draw().pixelate(); </script>
config = {
to: HTMLCanvasElement, defaults to #pixelitcanvas
from: HTMLImageElement, defaults to #pixelitimg
scale: int 1..50, defaults to 8
palette: [[r,g,b], ...], defaults to a fixed palette
maxHeight: int | null, defaults to null
maxWidth: int | null, defaults to null
}Based on giventofly/pixelit (MIT). Algorithm credit goes to the original author.
Help Us Improve
—
(—)
Free pixel art converter: turn photos into pixel art with block-size grid, 8-bit palettes, 16-color sets, and grayscale. In-browser PNG download.
Block size slider (pixel grid)
Scale pixel blocks from 1 to 50—the main control for image to pixel art grid density and chunky sprites.
8-bit and 16-color palettes
Vinik24, NES, Endesga 16, Aurora 4, and more—for 8-bit picture and 16-bit style looks from photos.
Grayscale mode
Convert the pixelated canvas to grayscale for monochrome sprites, avatars, or UI mockups.
Sprite sizes: 16×16 to 128×128
Cap max width/height for avatar-scale 16×16 pixel art or larger 128×128 tiles from photos.
Palette import
Load .hex or .txt palette files compatible with pixilart.com and Paint.NET exports.
PNG download
Save the current canvas as pxArt.png—ready after you turn a photo into pixel art.
Upload or use the sample
Start with the default sky photo or upload JPG, PNG, or other browser-supported images.
Tune block size and effects
Adjust block size for the pixel grid, enable palette or grayscale for 8-bit/16-color looks, and pick a palette from the dropdown.
Download PNG
When the preview looks right, click Download PNG to save pxArt.png to your device.
Start around block size 7
The default example uses block size 7 for balanced detail—raise it for a more retro, pixelated picture look.
Limit colors for 8-bit sprites
Enable palette with a 4- or 8-color set when preparing assets for limited-color engines.
Use 16-color palettes for richer scenes
Endesga 16 and similar sets approximate a 16 bit art style while keeping a small swatch count.
Resize large photos first
Use max width or max height to hit 16×16, 128×128, or other targets without oversized canvases.
Indie game developers: Prototype sprite styles from reference photos before redrawing in Aseprite or LibreSprite.
UI and brand designers: Create retro social assets or thumbnails with consistent 8-bit or 16-color limits.
Educators and students: Demonstrate how resolution, block size, and color depth affect perceived image quality.
Makers and hobbyists: Turn personal photos into pixel art avatars, profile pictures, or black-and-white 16×16 experiments.
No account required
Open the page and convert immediately—no sign-up or watermarks.
Privacy-first processing
Images never leave your browser during conversion—ideal for client photos.
Familiar Pixel It controls
Same block size, palette, and API behavior as the MIT reference project on GitHub.
Free to use
No subscription or export limits for PNG downloads.
“Pixel It is an open-source JavaScript library that converts images to pixel art using canvas-based downscaling, nearest-neighbor upscaling, and optional palette quantization.”
Pixel It — open-source pixel art converter: This tool is a port of the MIT-licensed Pixel It algorithm. The image is drawn to a canvas, downscaled by the block size, then scaled back up with nearest-neighbor interpolation to produce the pixel art effect. github.com/giventofly/pixelit
“Nearest-neighbor interpolation selects the value of the nearest pixel, producing a blocky, pixelated result that preserves hard edges without anti-aliasing.”
Nearest-neighbor interpolation: The block size slider controls how many source pixels are averaged into each pixel block. Nearest-neighbor upscaling ensures sharp, jagged edges characteristic of retro pixel art. en.wikipedia.org/wiki/Nearest-neighbor_interpolation
“Early game consoles and computers used hardware-limited color palettes. The NES used a 54-color master palette with up to 25 colors per screen; 16-color palettes like Endesga 16 are modern artist-designed sets.”
8-bit and 16-color palettes in retro graphics: Built-in palettes (Vinik24, NES, Endesga 16, Aurora 4) snap pixel colors to the nearest match in the selected set, simulating the limited-color look of retro hardware. en.wikipedia.org/wiki/List_of_color_palettes