Skip to content

JPG to XBM Converter

Convert JPG to XBM in your browser. JPG files usually come from cameras, phones, scanners and almost every app that saves photos; XBM is the better fit for X11 cursors, icons and C programs that embed bitmaps. You get a 1-bit X BitMap (C source), black and white at 50% brightness or dithered if you choose. Nothing is uploaded.

  • Processed locally
  • No upload, no wait
  • No sign-up
  • No watermark

Drop images here

or choose files · paste with Ctrl/⌘ V

JPG expected · other image formats also work

Files are processed on this device. Nothing is uploaded.0 B uploaded

How to use JPG to XBM

  1. 1

    Add your JPG files: drop them here, choose them, or paste from the clipboard.

  2. 2

    Set the quality.

  3. 3

    Click Convert. Each file is decoded and encoded in a background thread on this device.

  4. 4

    Download the .xbm files one at a time or together as a ZIP.

Why use Aback Images for jpg to xbm

Where the XBM goes next

XBM opens in X11 utilities, GIMP, ImageMagick and XnView.

XBM next to JPG

Both formats are lossy, so the size mostly follows the quality setting; at the default the XBM usually lands in the same range as the JPG.

A second lossy pass

JPG is lossy already, since it stores lossy DCT coding in 8×8 pixel blocks, with colour usually stored at half resolution, so keep the quality at or above the default to avoid stacking a new layer of artefacts on the old one.

Processed on your device

Your images are decoded, edited and encoded inside this browser tab by Web Workers. Nothing is uploaded to a server.

JPG vs XBM

What changes from JPG to XBM

Encoding: the JPG uses lossy DCT coding in 8×8 pixel blocks, with colour usually stored at half resolution; XBM uses none: bits written as hexadecimal bytes in C source, and the download is a 1-bit X BitMap (C source), black and white at 50% brightness or dithered if you choose.

Bit depth: 8 bits per channel in the JPG; XBM allows 1 bit per pixel, and the XBM written here has 1 bit per pixel.

Colour: YCbCr shown as RGB, greyscale, or CMYK from print software in the JPG; XBM supports two colours, foreground and background, written here as pure black and white.

Metadata: the JPG can carry EXIF (camera, date, GPS), XMP, IPTC and an ICC profile in APP segments; XBM can carry the #define names for width, height and an optional hotspot, but nothing is copied across.

About JPG

JPEG is the universal photo format. It compresses by discarding fine detail the eye is least sensitive to, which makes photos small but blurs sharp edges and text if pushed too far.

A JPEG starts with the bytes FF D8 and is a run of marker segments: APP1 carries EXIF and often a thumbnail, APP2 an ICC profile, DQT the quantization tables that decide the quality, and SOS the compressed scan, which ends at FF D9.

JPG files usually come from cameras, phones, scanners and almost every app that saves photos.

About XBM

XBM is the 1-bit image format of the X Window System, written as C source code so it can be compiled straight into a program. It was used for cursors, icons and window decorations, and early web browsers displayed it.

An XBM file is C code: '#define name_width 16', '#define name_height 16', optional x_hot and y_hot lines, then 'static unsigned char name_bits[] = { 0x00, ... };' with each byte holding eight pixels, least significant bit first.

When converting JPG to XBM makes sense

XBM is the better choice for X11 cursors, icons and C programs that embed bitmaps, while JPG suits photographs that need to open anywhere.

XBM strengths: Plain text that compiles into C programs; Tiny for small icons. Drawbacks to weigh: Black and white only; Large as text for big images; Dropped by modern browsers.

Limitations

  • A JPEG that has been edited and re-saved several times has already lost detail; convert from the camera original when you have it.
  • XBM holds two colours only, so the picture is reduced to black and white at 50% brightness, or with dithering if you turn it on.
  • XBM is plain C source text, so large images make large files; it is meant for icons, cursors and line art.
  • Only two colours survive the conversion.

Frequently asked questions

Does converting JPG to XBM lose quality?

XBM is lossy, so detail the eye barely notices is discarded to save space. The JPG was lossy already, so keep the quality high to avoid stacking artefacts.

Which apps open XBM files?

X11 utilities, GIMP, ImageMagick and XnView. It does not open in web browsers.

Are my images uploaded anywhere?

No. Processing happens inside your browser with WebAssembly and Web Workers. The site only downloads the app code and codecs; your files never leave your device. You can confirm this with the live upload counter on the tool, or in your browser's network panel.

Can I process many files at once?

Yes. Drop a whole selection or folder. Files are processed in parallel on several worker threads, each result can be downloaded on its own, and everything can be saved as one ZIP.

Is it free? Is there a file limit or watermark?

It is free with no account, no watermark and no daily limit. The only limit is your device's memory: very large images (over roughly 100 megapixels) may be refused to keep the tab from crashing.