Convert XPM to DJVU

Drag and drop files here or click to select.
Max file size 100mb.
Uploading progress:

XPM vs DJVU Format Comparison

AspectXPM (Source Format)DJVU (Target Format)
Format Overview
XPM
X PixMap

A color extension of XBM created by Groupe Bull in 1989, storing palette-based color images as C source code arrays. XPM supports up to 256 colors with named X11 color values, designed for colored icons and UI elements in the X Window System.

Lossless Legacy
DJVU
DjVu Document Format

AT&T Labs' wavelet-compressed document format using IW44 compression with intelligent content separation for extreme compression of images and documents.

Lossy Standard
Technical Specifications

Color Depth: Up to 256 colors (palette-based)

Compression: None (C source text)

Transparency: One transparent color supported

Animation: Not supported

Extensions: .xpm

Color Depth: 24-bit RGB

Compression: IW44 wavelet + JB2 text

Transparency: Mask layer

Multi-page: Bundled documents

Extensions: .djvu, .djv

Image Features
  • Colors: Up to 256 named X11 colors
  • C Source: Compilable source code format
  • Transparency: Single transparent color
  • Palette: Character-to-color mapping
  • Human-readable: ASCII art representation
  • Hotspot: Optional cursor coordinate
  • Full Color: 24-bit RGB output
  • Multi-page: Document bundling
  • Text Layer: Searchable OCR
  • Hyperlinks: Navigation support
  • Thumbnails: Built-in previews
  • Progressive: Incremental rendering
Processing & Tools

XPM files are C source code with ASCII art color mapping, read by X11 toolkits and Pillow.

from PIL import Image
img = Image.open('icon.xpm')
img.save('output.png')

# XPM is ASCII art in C syntax:
# "  ..XX..",
# "  .#XX#.",
# where each char maps to a color

DJVU encoding from decoded XPM color data.

c44 input.ppm output.djvu -slice 74
djvm -c icons.djvu p1.djvu p2.djvu
djvused file.djvu -e 'print-meta'
Advantages
  • Color support (256 colors) over XBM
  • Human-readable ASCII art format
  • Directly compilable into C applications
  • Named X11 color values
  • Transparency for one color
  • Efficient compression of palette graphics
  • Multi-page icon catalogs
  • Cross-platform viewing
  • Progressive rendering
  • Document distribution format
  • Open source tools
Disadvantages
  • 256 color limit
  • Large files for image size (text format)
  • No browser support
  • Legacy format largely superseded
  • 256-color palette may shift in 24-bit
  • Limited browser support
  • C-compilable format lost
  • Transparency flattened
Common Uses
  • X11 color icons and toolbars
  • GTK/Motif application icons
  • Linux desktop themes (legacy)
  • Embedded application graphics
  • X11 cursor definitions
  • X11 icon library archives
  • Desktop theme documentation
  • UI history preservation
  • Pattern and icon catalogs
  • Cross-platform reference
Best For
  • X11 color icon definitions
  • Compilable embedded graphics
  • Legacy Motif/GTK application UI
  • Small color pattern storage
  • Archiving X11 color icon sets
  • Documenting legacy desktop themes
  • Cross-platform icon reference
  • Unix UI history preservation
Version History

Introduced: 1989 (Groupe Bull, Daniel Dardailler)

Current Version: XPM3 (1991)

Status: Legacy, replaced by PNG

Evolution: XPM1 (1989) → XPM2 (1990) → XPM3 (1991, C syntax)

Introduced: 1996 (AT&T Labs)

Current Version: DjVu 3 (2001)

Status: Stable, open-source

Evolution: DjVu 1 → DjVu 2 → DjVu 3 (2001)

Software Support

Image Editors: GIMP, Pillow (read-only), ImageMagick

X11: All X Window toolkits natively

Web Browsers: Not supported

OS Preview: Linux X11 native

CLI Tools: pixmap (X11), ImageMagick, Pillow

Viewers: DjView, WinDjView, Evince, Okular

Web Browsers: Via plugin or JS viewer

OS Preview: Linux native, others third-party

Mobile: EBookDroid, DjVu Reader

CLI Tools: DjVuLibre (c44, cjb2, djvm)

Why Convert XPM to DJVU?

XPM files store color pixel maps as C source code text, an inherently inefficient format where each pixel is represented by one or more ASCII characters plus color definitions. Converting to DJVU compresses this data efficiently while creating a universally viewable format that does not require X11 toolkits.

Legacy Linux desktop themes and Motif applications used thousands of XPM icons for toolbars, menus, and status indicators. Converting these collections to DJVU creates browsable catalogs that document the visual history of Unix desktop environments.

XPM's 256-color palette is expanded to full 24-bit RGB during DJVU encoding, and the wavelet compression handles the flat-color regions typical of pixel art icons very efficiently. Collections that would be megabytes as text-format XPM compress to kilobytes as DJVU.

The C-compilable nature of XPM is lost during conversion. Keep original XPM files if they need to be compiled into applications. DJVU serves as the visual reference and archive format.

Key Benefits of Converting XPM to DJVU:

  • Efficient Compression: Dramatic reduction from text-format XPM
  • Icon Catalogs: Bundle color icon sets into browsable documents
  • Cross-Platform: View X11 color icons without Unix toolkits
  • Desktop History: Preserve legacy Linux/Unix UI aesthetics
  • Thumbnail Browsing: Visual navigation of icon collections
  • Full Color Output: 256-color palette expanded to 24-bit RGB
  • Open Tools: Free DjVuLibre for encoding and viewing

Practical Examples

Example 1: CDE Desktop Theme Documentation

Scenario: A computing historian documents the Common Desktop Environment (CDE) icon set for a paper on Unix UI evolution.

Source: cde_icons/*.xpm (800 icons, 32x32 and 48x48)
Target: cde_icon_catalog.djvu (800 pages, ~450 KB)

Result: Complete CDE icon set in under 500 KB,
browsable with thumbnails, documenting 1990s
enterprise Unix desktop aesthetics.

Example 2: GTK Theme Asset Archive

Scenario: A Linux theme designer archives XPM assets from a legacy GTK1 theme before migrating to PNG-based GTK3 themes.

Source: gtk1_theme/*.xpm (350 toolbar/menu icons)
Target: gtk1_theme_archive.djvu (350 pages, ~180 KB)

Result: Complete theme asset catalog for reference
during GTK3 theme migration, preserving the original
visual design intent.

Example 3: Motif Application UI Reference

Scenario: A maintenance engineer documents XPM icons used in a legacy Motif industrial control application for upgrade planning.

Source: scada_icons/*.xpm (120 status indicators)
Target: scada_ui_reference.djvu (120 pages, ~65 KB)

Result: Complete UI icon reference for industrial
application modernization planning, viewable on
any platform without Motif libraries.

Frequently Asked Questions (FAQ)

Q: Will XPM's 256-color palette be accurately reproduced?

A: Yes. XPM colors are expanded to full 24-bit RGB using the named X11 color values. The resulting DJVU contains the accurate RGB equivalents of all XPM palette colors.

Q: Is XPM transparency preserved in DJVU?

A: XPM's single transparent color is flattened against a white background. DJVU does not preserve the original XPM transparency. Keep original XPM files when transparency is needed.

Q: Is the C source code format preserved?

A: No. XPM's C-compilable format is converted to raster image data. The DJVU output cannot be compiled into C applications. Keep original XPM files for compilation use.

Q: Are all XPM versions supported (XPM1, XPM2, XPM3)?

A: The converter primarily handles XPM3 (the most common C-syntax format). XPM1 and XPM2 variants may require conversion to XPM3 first.

Q: How efficient is DJVU compression for pixel art icons?

A: Very efficient. Pixel art with flat color regions and sharp edges compresses excellently with DJVU's wavelet and JB2 encoders. A 48x48 color icon might compress to under 500 bytes.

Q: Can I view tiny XPM icons at magnified sizes?

A: Yes. DJVU viewers support zoom controls. Small 16x16 or 32x32 icons can be magnified for detailed examination of individual pixels and color choices.

Q: Is DJVU the right format for archiving XPM collections?

A: For creating browsable visual catalogs, yes. For preserving the compilable source format, keep the original XPM files. DJVU serves as the accessible viewing and documentation layer.

Q: Can I batch convert an entire icon theme?

A: Yes. Upload multiple XPM files simultaneously for individual conversion. Bundle the results into a multi-page DJVU document for a complete, navigable theme catalog.