image2cpp

image2cpp is a simple tool to change images into byte arrays (or arrays back into an images) for use with (monochrome) displays such as OLEDs on your Arduino or Raspberry Pi.
It was originally made to work with the Adafruit OLED library (for which your can find an example sketch for Arduino here) but has been expanded by the community to be useful in all kind of (embedded) projects.

More info (and credits) can be found in the Github repository. This is also where you can report any issues you might come across.

Did you find this tool useful? Feel free to support my open source software on Github
GitHub Sponsor

1. Select image

All processing is done locally in your browser; your images are not uploaded or stored anywhere online.

or

1. Paste byte array


x px
Read images appear at step 3 below

2. Image Settings

    Only images file type are allowed
    No files selected
    0 - 255; if the brightness of a pixel is above the given level the pixel becomes white, otherwise they become black. When using alpha, opaque and transparent are used instead.
    Centering the image only works when using a canvas larger than the original image.

    3. Preview

    No files selected

    4. Output

    Adds some extra Arduino code around the output for easy copy-paste into this example. If multiple images are loaded, generates a byte array for each and appends a counter to the identifier.
    Adds some extra Arduino code around the output for easy copy-paste. If multiple images are loaded, generates a single byte array.
    Creates a GFXbitmapFont formatted ouput. Used by a modified version of the Adafruit GFX library. GitHub project and example here.
    First ASCII character value is used only if a glyph identifier of length equal to 1 is not provided for each image. The value itself will be incremented by 1 for each glyph.
    If your image looks all messed up on your display, like the image below, try using a different mode.
    Useful when working with the u8g2 library.