Chuyển Ảnh Thành Pixel Art Online Miễn Phí
Biến ảnh chụp, logo, nhân vật thành pixel art retro với 6 palette kinh điển: GameBoy, PICO-8, NES, C64, Sweetie 16, AAP-64. Xử lý server-side bằng Pillow + dithering Floyd-Steinberg — chất lượng đẹp hơn Canvas client-side nhiều.
Kéo thả ảnh vào đây hoặc
JPEG, PNG, WebP, BMP, GIF — tối đa 15 MB
Tại sao dùng ImgTools?
GameBoy 4 màu, PICO-8 16 màu, NES 54 màu, C64 16 màu, Sweetie 16, AAP-64 — đủ cho mọi style từ chunky 8-bit tới polished 16-bit.
Backend Python Pillow chạy trong ~100-500ms cho ảnh 1-2MB. Dithering Floyd-Steinberg tái tạo gradient mượt bằng ít màu.
Pipeline đầy đủ: downsample LANCZOS → quantize palette → dithering → upscale NEAREST giữ pixel sharp. Đẹp hơn Canvas JS đơn thuần rất nhiều.
Pixel Art là gì và vì sao cần tool server-side?
Pixel art là phong cách nghệ thuật tạo hình bằng pixel vuông rõ ràng, sinh ra từ giới hạn phần cứng của máy chơi game những năm 1980-90 — Nintendo Game Boy chỉ có 4 sắc xanh lục, NES giới hạn 54 màu trong hardware palette, Commodore 64 có 16 màu. Ngày nay indie developer và graphic designer vẫn yêu thích style này vì vẻ đẹp retro nostalgic và tính tối giản — mỗi pixel được đặt chủ đích, không pixel nào thừa.
Có nhiều công cụ browser-side dùng Canvas API pixelate ảnh đơn giản (chỉ downsample + nearest neighbor upscale). Tuy nhiên kết quả thường xấu: màu bị blur vì không quantize palette đúng cách, gradient bị banding thô vì không có dithering. ImgTools Pixel Art chạy server-side bằng Python Pillow — pipeline đầy đủ gồm downsample LANCZOS preserve detail, quantize với palette cố định (hoặc K-means auto), dithering Floyd-Steinberg phân phối error qua các pixel lân cận, rồi upscale NEAREST giữ pixel sắc nét. Kết quả đẹp ngang với Aseprite hay Pyxel Edit xuất ra.
Palette preset phong phú: 4 màu cổ điển Game Boy để làm icon tối giản, 16 màu PICO-8 phổ biến nhất trong indie game scene, 54 màu NES hardware palette cho tái tạo art Super Mario/Zelda phong cách Famicom, 16 màu Commodore 64 nếu bạn muốn style cực retro, 16 màu Sweetie 16 hiện đại và 64 màu AAP-64 cho art phức tạp. Bạn cũng có thể chọn Auto để tool tự tìm palette 32 màu tối ưu từ chính ảnh của bạn bằng median-cut.
- ✓6 palette preset retro: GameBoy (4 màu xanh lục), PICO-8 (16 màu chuẩn indie), NES (54 màu hardware), C64 (16 màu Commodore), Sweetie 16 (modern), AAP-64 (64 màu artist-friendly)
- ✓Chế độ Auto: tool tự extract palette 32 màu tối ưu từ chính ảnh bằng thuật toán median-cut
- ✓Dithering Floyd-Steinberg 2026 — tái tạo gradient và ảnh thực bằng palette hạn chế mà không bị banding thô
- ✓Grid size tuỳ chỉnh 8-256 pixel (cạnh dài): 32 cho chunky 8-bit, 64 cho trung bình, 128 cho chi tiết hơn
- ✓Scale upscale ×1 đến ×8: phóng to bằng NEAREST để giữ pixel sharp, phù hợp display/in ấn
- ✓Xử lý server bằng Pillow + numpy — nhanh hơn Canvas JS client-side, kết quả đẹp hơn rõ rệt
- ✓Hỗ trợ JPEG, PNG, WebP, BMP, GIF — tối đa 15 MB mỗi ảnh
- ✓Preserve alpha channel cho PNG trong suốt — pixel art vẫn giữ transparency cho overlay game asset
Hướng dẫn sử dụng
- 1
Kéo thả hoặc chọn ảnh JPEG, PNG, WebP, BMP hoặc GIF (tối đa 15 MB).
- 2
Chọn palette retro: GameBoy, PICO-8, NES, C64, Sweetie 16 hoặc AAP-64 — hoặc để Auto tự chọn 32 màu.
- 3
Điều chỉnh grid size (32-256 pixel) và scale (×1 đến ×8) theo mức độ retro mong muốn.
- 4
Bật Floyd-Steinberg dithering nếu muốn giữ gradient mượt với ít màu.
- 5
Nhấn Tạo Pixel Art — server xử lý trong tích tắc, preview và download PNG.
Khi nào dùng Pixel Art Converter?
Biến concept art sang pixel art sprite để import vào Unity/Godot/Phaser. Palette PICO-8 hoặc AAP-64 phù hợp nhất cho indie 2D game.
Avatar 64×64 chunky retro style cho discord server theme, Twitch emote, hoặc Steam profile — palette GameBoy hoặc NES làm cảm giác nostalgic.
Series NFT 10000 pieces pixel art như CryptoPunks, Pixelmon — pixelate nhân vật có sẵn với grid 24-32px và palette 16-32 màu.
Làm icon cho game UI retro, achievement badge, item inventory. Scale ×4 để được icon 128×128 từ grid 32px.
Pixelate ảnh quote, tiêu đề blog, banner chuyên đề theme retro gaming — tạo visual identity khác biệt cho nội dung.
Pixelate ảnh meme hot trend thành sticker Telegram/Zalo cỡ 512×512 PNG. Palette Sweetie 16 cho màu tươi, chunky đáng yêu.
Công nghệ đằng sau Pixel Art Converter
Pipeline xử lý gồm 4 bước: (1) Downsample ảnh gốc xuống grid size bạn chọn bằng LANCZOS3 — thuật toán resize chất lượng cao giữ nhiều detail trước khi giảm độ phân giải. (2) Color quantization: giảm palette xuống N màu. Với preset, tool dùng Pillow Image.quantize(palette=...) nhúng palette cố định. Với chế độ Auto, dùng median-cut algorithm tự phân cụm màu phổ biến nhất trong ảnh. (3) Optional Floyd-Steinberg dithering — phân phối sai số quantization sang các pixel chưa xử lý lân cận, tạo cảm giác gradient mượt bằng cách xen kẽ các pixel màu khác nhau. (4) Upscale kết quả bằng NEAREST neighbor để giữ mỗi pixel thành hình vuông sắc nét, không mờ.
Backend chạy FastAPI + Pillow trên Python 3.10 deploy qua Nginx Proxy Manager tại subdomain riêng pixelart-api.phanmemtonghop.com. Xử lý một ảnh 1-2MB thường mất 100-500ms (plus latency mạng). Worker có chế độ HQ optional dùng thư viện Pyxelate — thuật toán Bayesian Gaussian Mixture palette auto-detect tốt hơn median-cut, nhưng chậm hơn 3-5x. Hiện tại chỉ fast mode được enable, HQ mode sẽ bật khi cần chất lượng cao cho batch lớn.
So với xử lý client-side bằng Canvas API: Canvas không có quantization chính xác (chỉ được ditherGL hoặc thư viện JS nhẹ, chất lượng kém), không có LANCZOS downsample (chỉ bilinear, bị soft), không có Floyd-Steinberg (phải implement manual trong WebGL). Server-side Pillow đã được tối ưu 20+ năm, là chuẩn vàng cho image processing Python — kết quả vượt trội rõ rệt khi so side-by-side với các tool Canvas-based như pixelit.co hoặc onlinepixelart.
Câu hỏi thường gặp về Pixel Art Converter
Vì sao cần upload ảnh lên server mà các tool Pixel Art khác chạy trong trình duyệt?
Để đạt chất lượng cao. Canvas API trong browser không có quantization palette mạnh, không có LANCZOS resize, không dithering — kết quả bị soft, banding thô, màu lệch. Server Pillow xử lý pipeline đầy đủ, chất lượng đẹp hơn rõ rệt. Đổi lại, ảnh của bạn được upload tạm thời qua HTTPS, xử lý xong trả về PNG, không lưu lại trên server (không disk write).
Grid size bao nhiêu là chuẩn?
Tuỳ mục đích: 16-32 px cho icon/avatar chunky retro (style GameBoy, NES sprite), 64-96 px cho art có detail vừa phải (nhân vật RPG indie), 128-256 px cho ảnh cảnh hoặc art phức tạp (style Octopath Traveler HD-2D). Thử nhiều giá trị để cảm nhận: grid nhỏ hơn = retro hơn, mất chi tiết nhanh.
Floyd-Steinberg dithering là gì? Có nên bật không?
Dithering là kỹ thuật tái tạo gradient bằng cách xen kẽ các pixel màu khác nhau, dù palette chỉ có vài màu. Floyd-Steinberg phân phối sai số quantization sang các pixel lân cận theo công thức ma trận 4 ô. Bật khi ảnh có gradient (bầu trời, da mặt, ánh sáng) — giúp chuyển màu mượt thay vì banding thô. Tắt khi ảnh đã flat colors (logo, icon, sprite) — dithering sẽ làm rối thêm, không cần thiết.
Khác biệt giữa các palette: GameBoy/PICO-8/NES/C64/Sweetie16/AAP-64?
GameBoy (4 màu xanh lục, dùng cho mono-retro), PICO-8 (16 màu rực rỡ, chuẩn indie game 2020s), NES (54 màu hardware — tái hiện Mario/Zelda), C64 (16 màu cũ kỹ Commodore), Sweetie 16 (16 màu hiện đại tươi sáng), AAP-64 (64 màu cân bằng cho art phức tạp). Chọn theo style: retro 8-bit → GameBoy/NES, modern indie → PICO-8/Sweetie, detail cao → AAP-64, Auto nếu lười chọn.
Ảnh của tôi có bị lưu trên server không?
Không. Server chỉ nhận ảnh vào memory (RAM), xử lý bằng Pillow, trả về PNG qua HTTPS response. Không ghi disk, không database, không log nội dung ảnh. Process worker chỉ xử lý 1 request một lúc, xong thì ảnh bị garbage collect. Kết nối HTTPS full qua Cloudflare, an toàn khi upload ảnh nhạy cảm.
Ảnh tối đa bao nhiêu MB?
15 MB mỗi ảnh. Ảnh lớn hơn sẽ bị reject với HTTP 413 Request Too Large. Nếu ảnh 4K của bạn > 15MB, hãy dùng công cụ Nén ảnh của ImgTools trước để giảm xuống 10MB — chất lượng pixel art không bị ảnh hưởng nhiều vì tool sẽ downsample xuống grid size nhỏ dù sao.
Có được pixelate ảnh trong suốt PNG không?
Có. Tool preserve alpha channel — ảnh PNG có nền trong suốt sẽ giữ transparency khi xuất pixel art. Rất hữu ích cho sprite game asset, icon UI cần overlay lên background khác.
Tôi dùng kết quả cho mục đích thương mại được không?
Được. ImgTools không đòi copyright hay attribution gì cả, bạn toàn quyền dùng ảnh pixel art tạo ra cho mọi mục đích — bán sticker, NFT, asset game, in áo thun, làm logo shop, v.v. Lưu ý: nếu ảnh gốc bạn upload có bản quyền của người khác (như nhân vật anime, logo công ty), hãy đảm bảo bạn có quyền chế tác phái sinh từ nó trước khi thương mại hoá.