A downloadable tool for Windows

Get this tool and 1 more for $5.39 USD
View bundle
Buy Now
On Sale!
31% Off
$2.59 $1.78 USD or more

English - Version en Français, en bas de page

Hello Pico-8 users!

If you've made it here, it probably means you're already familiar with Pico-8, a wonderful virtual console for making, sharing and playing tiny games and other computer programs. This fantasy machine is intentionally limited by design to simulate the harsh hardware limitations of the video game consoles around the 1980s.

As you may know, Pico-8 games are limited to:
- a 128x128 pixel, 16-color display.
- 8k of commands (or "tokens")
- 256 8x8 sprites
... and these restrictions can be difficult to deal with!

Whether you are on the Pico-8 programming side, or are interested in image processing or low resolution image compression, Image-To-Pico8 software can generate images for you, easily and quickly.
It will save you time!

A simple 128x96 image will take nearly all the space available if you copy it as ‘Sprite data’. If you want to optimize the occupied space, you need to store your image somewhere else, like in the ‘Map data’. This page will show you how to convert an image to pico-8 while optimizing its size.

Convert an image into pico-8 optimizing its size

Image-To-Pico8 (or “ImgToP8”) is an utility software when you don’t use the Map section in your Pico-8 cartridge, that is to say, you don't use the 3rd tab ("map") in Pico-8:

The map section is useful when you deal with level design or data layout. However if your game is not a platformer or a top-down shooter, chances are that this part will stay empty.

The purpose of ImageToPico8 software is to use this empty unused space to optimize your Pico-8 cartridge. It will make it possible to process and convert your images to pico-8 map data.
ImageToPico8 converts any PNG, JPG, BMP, PCX image into 4-color bitmap usable in pico-8. It optimizes the cartridge space, by not using the sprite tab of the cartridge.

Example images - Conversion results

woman face from thispersondoesnotexist code to convert image into pico8 map data

mountains landscape p8 code to convert mountains picture into pico8 map data

To draw such image, you may think the most straightforward method is to use sprites.
If you use the sprite tab to store a 128x96 image, it will take 192 slots of the 256 slots available (each slot being a 16-colors and 8x8 pixels sprite). That is equal to 6 kbytes and leaves you only 2 kb (32 slots) to draw 32 sprites.
But if your image has only 4 colors, you can store 4 pixels in one byte, which means total image data will only weigh 3 kb. Furthermore, if you don’t plan to use the map tab, you can fully store these 3k of image data as “map data”, that is to say, in the __map__ section of your p8 file. This leaves you the sprite tab fully available, which corresponds to a capability of drawing 128 sprites.
Since you were not using map tab, you've just saved the equivalent of 192 sprites of cartridge space!

How to convert your image into pico-8 map data with ImageToPico8

The process can be divided in 3 steps:

First Buy Now to download ImageToPico8.
  1. Launch ImageToPico8 : Preview and convert your image -- you will have the possibility to preview the result of your conversion, in any 4-color palette you want.
    For example, type:     ImgToP8 "D:\My folder\MyPhoto.jpg"

  2. Copy and paste the result, in your cartridge, as Pico-8 map data.

  3. Use one of the code samples to display the image. This is done in Pico-8 by accessing directly to the map data (in virtual console memory) with POKE function.
    Detailed how-to and image conversion examples here

Make lively animations

To make GIFs like these ones, you may use ImageToPico8 and batch several image processes:
You can use the flag -gif to process the image file several times and generate an animated GIF out of it!
You can also use the flag -repeat and -still to generate multiple still images.
For example, type:

ImgToP8 -orange -gif "C:\my\path\myfile.jpg"

...or for still images:

ImgToP8 -blue -repeat10 -still "C:\my\path\myfile.jpg"

Games made using Image-To-Pico8 converter

background image and animation made thanks to ImageToPico8
The background image and its animation has been created thanks to Image-To-Pico8. The image pixels are stored in the Map tab. The code of the display and its juicy cosine offset-x animation is a variation of this example of code: display and animation.
Game: Invasion Commander

Pico8 Tracker music - song cover

pixel song cover for Pico-8 music tracker
If you make music with the Pico-8 Tracker, you could wish to use a pixelated image for your song cover. That’s what they did in the example above as they used ImageToPico8. They used to a custom palette involving original pico8 colors 1,3 and alternate colors 129,131 making the final palette "129,1,131,3". To achieve this, type:

ImgToP8 -dw128 -dh128 -pc129,1,131,3 "C:\my\path\myfile.jpg"

How to setup a custom palette or use a palette preset.

Full options list to convert images

- Image-To-Pico8 complete options list.


In short, if you purchased "Image-To-Pico8" software, Anto80 allows you to use it to produce images for multiple projects, whether commercial or non-commercial. Full license terms.


- Special thanks to Pico-8 by Lexaloffle Please kindly note that Image-To-Pico8 (ImgToP8) is independent software, not affiliated with Pico-8 by Lexaloffle

- Man standing on stone looking at sunset : Joshua Earle https://unsplash.com/@joshuaearle
- Landscape photography of brown mountains : Sergey Pesterev https://unsplash.com/@sickle
- Electro man head : Hailey Reed https://unsplash.com/@haileysreed
- Smiling grayscale woman with straight hair, Grayscale woman with blonde curly hair, Blue palette man, and Glitched Woman with cap in pink and purple palette : "This Person Does Not Exist" www.thispersondoesnotexist.com
- Gray Cat : Cedric VT https://unsplash.com/@cedric_photography
- Woman in glasses (Color Cycling) : Max Ilienerwise https://unsplash.com/@ilienerwise
- Photography of house near body of water, twilight sunset : Justin Bisson Beck https://unsplash.com/@justinbissonbeck
- Landscape photo of black rock formation on body of water near seashore : Benjamin Behre https://unsplash.com/@hellothisisbenjamin


Bonjour à toute la communauté francophone Pico-8 !

Si vous êtes du côté de la programmation Pico-8, ou si vous vous intéressez au traitement d'image ou à la compression d'image en basse résolution, ce logiciel Image-To-Pico8 peut vous produire des images facilement, rapidement et ainsi vous faire gagner du temps!

- Pour vous rendre service, les exemples de code en Français sont aussi disponibles.
- Vous pouvez aussi consulter la page de Image-To-Pico8 en Français.
- Liste complète des options de conversion de Image-To-Pico8.

Licence: En bref, si vous avez acheté le logiciel "Image-To-Pico8", Anto80 vous autorise à l'utiliser pour générer des images pour autant de projets que vous voulez, qu'ils soient commerciaux ou non. Conditions d'utilisation complètes.

[Haut de la page] - Version en anglais


Get this tool and 1 more for $5.39 USD
View bundle
Buy Now
On Sale!
31% Off
$2.59 $1.78 USD or more

In order to download this tool you must purchase it at or above the minimum price of $1.78 USD. You will get access to the following files:

image-to-pico8-converter-windows.zip 716 kB
Version 1.617

Development log


Log in with itch.io to leave a comment.


This is a wonderful utility! Thank you for making it.

If possible, could you please add some code samples for putting GIF images into P8 files, or for "faking" the GIF effect in P8? Your other tutorials are good, but I did not see anything like this.


Thanks for your support and nice words!

I appreciate your feedback! Sure! In fact, such still pictures/examples with associated commands and the results would be an improvement. I'll about how to provide it, maybe an online "recap" page, as well as a downloadable separate example zip, with images full credits/source.

Also, I'd like to keep all my examples license-free using websites like unsplash.

As for converting images into animated p8, only the cosine example provided exists for now. I didn't include p8 code to simulate the noise effect because if your GIF has n frames, it would require n times the space in map data section, and I can't think about an elegant and compressed way to achieve this for now.