REXPaint Downloads

REXPaint is completely free to use, or even to create images (or other file exports) for your own commercial product. However, downloading, storing, or starting the program shows that you understand and agree to the following conditions:

  • REXPaint is made available "as is" with no warranty of any kind, and its author cannot be held responsible for any damage to your system.
  • REXPaint may NOT be redistributed over public channels; the latest version will always be available through this website. The program may be redistributed freely through private means (such as e-mail), provided all of its files (including all documentation) remain unchanged.
  • REXPaint itself may NOT be sold in any form.

See the included readme file for more information.

  • Current Version: 1.70 (240110)
  • Platform: Windows (compatible with Wine on Linux/OSX*)
  • File Size: 765KB

REXPaint requires Microsoft VS2010 runtime DLLs (msvcp100.dll, msvcr100.dll) to run. If the application fails to start and complains about DLL files, download and install the MSVC++ 2010 Redistributable Package (x86). After clicking "Download" it will list multiple versions, and the one you need is "vcredist_x86.exe". (Also make sure the application is run with admin rights so that it can write to its own directory, otherwise it may crash.)

*On Linux, REXPaint can be run directly in Wine. Mac users must have 10.14 Mojave or earlier to run REXPaint! (or Crossover 19 or later if using Catalina)

The ANSI download comes with rectangular Fixedsys and System fonts, whereas the normal download comes with a set of square fonts based mostly on IBM CP437.


REXPaint will always be free, but if you're one of the many users who enjoys it and/or finds it a useful tool and would like to give something back, I'm happy to accept tips!

This will not ensure that any particular feature will be implemented, though certainly with more tips I'd be more capable of spending the time necessary to continue work on new features. I've already put hundreds of hours into REXPaint, and use it a lot myself, but there's more that can be done.

Anyone who tips at least $5 and wants to be recognized, will be added to the list below as thanks. You can optionally provide a link and I'll put that here, too. (Be sure to indicate this with your donations, or send me an email!)

Thanks go out to...

Matt Triplett
Phi Dinh
David Snyder
Laurent Birtz
Alberto Pérez

Another option is to become my patron, which supports my roguelike/development work in general and eventually I'll be putting out an even more powerful REXPaint 2.0 ;)

Some of you may find REXPaint's page a more convenient outlet for downloads and tipping!

And if you use REXPaint and have your own project on, you can edit your page's Metadata > Engines and Tools settings to include REXPaint! (a new option)


For links to some original announcement posts and additional feature samples, see the GSG Release History.

REXPaint 1.70 (240110)

* NEW: Support for automated upscaling of font bitmaps (see manual under Custom and Extended Fonts)
* NEW: .ans file automated importing and conversion (ANSI art)
* NEW: .gpl (GIMP) palette support
* NEW: Ctrl-v during active file naming dialog or Text tool pastes text from system clipboard (single line only)
* NEW: Reopening REXPaint recalls the last glyph index and brush foreground/background color in use
* NEW: Remap all layer colors to closest from current palette (Shift-Alt-p, or Ctrl-Shift-Alt-p for all unlocked layers)
* NEW: Added full list of valid color names to skins.xt file for reference
* NEW: Command line support for creating new image files (see manual Appendix H)
* NEW: Command line support for opening REXPaint with specific image selected (see manual Appendix H)
* NEW: Command line support for exporting specific image as PNG (see manual Appendix H)
* MOD: .ans export format optimized for reduced file size
* MOD: C:DDA image exports now also reference custom Unicode glyph assignments in cases where users may want a custom font layout besides CP437
* MOD: Updated installation instructions with new MSVC DLL download location
* MOD: Manual Appendix H rewritten to encompass multiple types of command line options
* MOD: Manual Appendix I changes official C:DDA font reference to reflect switch from Unifont to Terminus, provided on website Resources page
* FIX: Reloading all images via Browse window blocked further mouse interaction with some popups like Resize window
* FIX: Potential rare crash due to multithreaded logging

REXPaint 1.60 (201011)

* NEW: Customize Unicode code points on a per-font basis, and override the default CP437 values
* NEW: Customize glyph mirroring pairs used by the copy-paste tools on a per-font basis
* NEW: Images loaded on startup containing glyphs with IDs beyond any loaded font have those glyphs temporarily converted to spaces
* NEW: Browser marks images containing invalid glyph IDs with blue asterisk
* NEW: Saving of images containing invalid glyphs blocked to prevent data loss (circumvent the block via REXPaint.cfg noSaveForOutOfBoundsGlyphs)
* NEW: Expanded manual Fonts section with more info and instructions regarding custom font features
* MOD: Font config expanded with two additional columns to support custom Unicode and glyph mirroring
* MOD: Custom GUI skin expanded with a new color entry for Extended Font Row #s (also used to mark images containing invalid glyphs)
* MOD: Unicode text and BBCode exports insert '?' for any glyphs without a defined code point
* MOD: Copy tool rectangle drawn using the GUI font rather than art font
* MOD: Dimensions readout for copy and rectangle tools use GUI font and compatible with multilayered images, displaying over higher layers
* MOD: Updated some C:DDA image export color names to match latest documentation
* FIX: Glyph ID display showed '0' for short duration if glyphHoverIdDuration active and moved cursor from a glyph to the Font window border
* FIX: Crash on scrolling to end of extended custom font glyphs with alpha transparency if an even longer extended font also loaded in same session
* FIX: Undefined behavior if startup loads an image created with a custom extended font containing a glyph index beyond the any currently loaded font

REXPaint 1.50 (200803)

* NEW: Support for more than 256 glyphs in a single font (scroll with wheel or PgUp/Dn)
* NEW: Adjustable wheel-based extended glyph scrolling ("glyphScrollRowCount" in cfg)
* NEW: Manual provides additional information about extended custom fonts and tilesets
* NEW: Multi-layer support for Copy/Cut/Paste tools, use 'd' and Shift-d to adjust the desired operational depth
* NEW: Full layer copy (Ctrl-Shift-c) obeys current multi-layer copy depth setting as well
* NEW: Cycle images while in Paint mode using Ctrl-Up/Down
* NEW: Reload all image files via Ctrl-Shift-r or the Browse window's "R" button
* NEW: Batch export of all .xp images to PNGs supported via command line (see manual Appendix H)
* NEW: Export to format used for art in Cataclysm: Dark Days Ahead (Ctrl-j) (see manual Appendix I for more info)
* NEW: Toggle transparent cell visibility with 'n' (only shows current layer)
* NEW: Switch between two different preset transparency visualization color schemes (editable in skins.xt) (hotkey Shift-Alt-n)
* NEW: Manual explicitly states that alternative paste modes affect the results of any copy action
* NEW: Manual explicitly states that custom fonts always treat index 32 as a space, regardless of what the bitmap contains there
* MOD: Font config for custom fonts requires specifying the number of columns and rows present in each bitmap font
* MOD: Options menu Default Image Background (applies to new images, expansions from resize, layer 1 areas) now defaults to transparent instead of black
* MOD: Holding Alt while cursor hovering over font glyph highlights matching glyphs across a layer using a different style rather than simply flashing them
* MOD: "Shift all layers in indicated direction" hotkey changed to Shift-Arrow/Numpad
* MOD: Color Shift Mode hotkey changed from Ctrl-h/s/v to Shift-h/s/v
* MOD: Keyboard's Pause key no longer has an effect
* FIX: Canvas-sized image created on opening also obeys Default Image Background setting
* FIX: Version check functionality restored after an unexpected server change broke the previous connection system
* FIX: Using separate fonts for GUI and art was not compatible with the new selected glyph preview in the Apply box
* FIX: Optional glyph hover ID display was off by one

REXPaint 1.04 (180619)

* NEW: Selected glyph's ID shown in Apply box, along with the glyph itself (activate in options menu)
* NEW: ID for glyph currently under cursor in selection box can be shown directly to the right (activate in options menu)
* NEW: Swap foreground/background colors across entire image (Shift-Alt-w)
* NEW: Copy entire active layer to clipboard (Ctrl-Shift-c)
* NEW: Arrow keys for glyph selection now wrap around to opposite side
* NEW: Undo/Redo functionality also accessible via simply z/y as hotkeys (ctrl optional)
* NEW: Limit application of specific RGB channels in foreground and/or background (Shift-Alt-r/g/b and Ctrl-Shift-Alt-r/g/b)
* NEW: File browser can be set to ignore specified paths ("ignorePath" in cfg)
* NEW: Option to use basic CP437 characters instead of UTF8 for txt output ("txtOutputUTF8" in cfg)
* NEW: Can now override the normal autodetection for font bitmap color keying (see "fontKeyColorOverride" in cfg)
* NEW: F2 hotkey opens rename dialogue for currently selected image in browse mode
* NEW: Better input support for very long filenames
* NEW: Currently selected filename in browse mode also expanded to full length if longer than available width (not only on mouse hover)
* NEW: PNG importing now assumes direct pixel-to-cell conversion if no cell dimensions appended to filename (see manual Appendix G)
* NEW: Manual's .xp specification explicitly states that the 32-bit character is stored as little-endian
* NEW: Checks for newer version on startup to show a notification (toggleable in options)
* MOD: Brought back Undo/Redo buttons
* MOD: Locking a layer no longer prevents the copy tool from being used on it
* MOD: Hotkeys for switching between HSV color shifting modes now require Ctrl modifier
* MOD: Options hotkey changed to F3
* MOD: Cycle GUI skin hotkey changed to F4
* MOD: "Base Image Path" and "Exports to Base" removed from options menu (still available in REXPaint.cfg)
* FIX: Crash if moving caret too far before visible section of filename dialogue box when filename length exceeded box's width
* FIX: Crash when using fill tool on very large and open images
* FIX: Foreground colors on a non-black background color output to PNG would have their RGB values changed by +1 for any channel the background color used
* FIX: Browse mode hotkeys for toggling all folders would simultaneously shift-wrap currently open image
* FIX: 14x14 CP437 character 147 slightly misaligned (extra pixels)

REXPaint 1.03 (160701)

* NEW: UI supports up to 9 image layers instead of previous 4 (Ctrl-Shift-l to toggle Extended Layers Mode)
* NEW: Batch PNG export of all images in a single directory (Shift-RMB on directory name)

REXPaint 1.02 (160502)

* NEW: Image shifting with wrapping (Ctrl-Arrow/Numpad or Ctrl-Shift-Arrow/Numpad for single layer)
* NEW: TXT file importing (conversion to .xp format) supported via command line (see manual Appendix F)
* NEW: Partial PNG image importing (conversion to .xp format) supported via command line (see manual Appendix G)
* NEW: Fill tool includes second mode for 8-directional search
* NEW: Unlimited font size regardless of resolution limits--NOT ideal usage, implemented by request (see "unlimitedFontSize" in cfg)
* FIX: One line junction glyph in the 8x8 CP437 font misaligned

REXPaint 1.01 (160112)

* FIX: Skins/fonts/palettes with long names not saved to config correctly, making it impossible to select them (1.0 regression)
* FIX: Ctrl-RMB "Copy Cell Contents (uppermost visible)" command was also selecting from hidden layers in some cases

REXPaint 1.00 (151220)

* NEW: Added more CP437 fonts (greater range of image zoom/scale options): 14x14, 18x18, 20x20
* NEW: Cellwise HSV color shifting of both foreground and background (interval controlled in options)
* NEW: Info window shows palette/art foreground/background color values under cursor, either RGB or HSV (toggle with 'q')
* NEW: Rect/Copy tools can show area dimensions directly on the canvas (toggle via "RDim" button, or Ctrl-d)
* NEW: Lock individual layers to prevent accidental modification ("Lck" button, or Shift-1~4)
* NEW: Hold Alt while cursor hovering over a palette color to highlight all uses in image (akin to glyph highlighting feature)
* NEW: Options menu (the 'O' button at the bottom, or F2)
* NEW: Program settings changed while running are saved/remembered for next time, without requiring cfg modifications
* NEW: Exiting while image(s) have unsaved changes requires confirmation (can be disabled in options)
* NEW: Reset image location to top-left corner via Enter (centering switched to Ctrl-Enter)
* NEW: Ctrl-RMB copies the uppermost visible cell at that position in a multi-layered image (working w/reference layers, etc.)
* NEW: Premade Arne32/Arne64 palettes available from the website resources page
* MOD: Enhanced 16x16 CP437 font's relative proportionality with other fonts
* MOD: Image dimension limits increased from 999x999 to 2500x2500
* MOD: Removed Undo/Redo buttons to save space (use ctrl-z/y instead)
* MOD: Autosaving now inactive by default (must set desired interval value in options)
* MOD: Layer delete button changed from "Del" to "X"
* MOD: Palette/color swaps only operate on unhidden layers
* MOD: Changes to layer hide/unhide/active states no longer count towards the unsaved progress indicator
* MOD: Different cfg format, now that options are available from within REXPaint itself
* MOD: Change skin keyboard command switched from F2 to F3 (also now accessible directly from options menu)
* MOD: License in README file more explicit about commercial use of images
* MOD: Removed backwards compatibility with pre-R9 .xp images (2013 format), which were converted by 0.99r9 build (2014)
* FIX: One mixed-line glyph in the square 10x10 CP437 font was 1 pixel off
* FIX: Reversed NW/SE directional canvas scrolling via numpad
* FIX: Using the mouse to select a value box in the color picker required an extra key press before detecting input
* FIX: Creating a new image copied the view offset of the image currently open, rather than resetting it to (0,0)
* FIX: Image browser couldn't collapse subdirectories at a depth of three or greater
* FIX: Copy-paste of lone transparent cell on layer 2+ crashed editor (Note: RMB-copy faster for this purpose, anyway!)
* FIX: Cellwise drawing off edge of image without releasing LMB damaged undo history, which could crash if accessed
* FIX: Could attempt to draw multi-cell objects to parts of a large image shifted under the tools area, leading to UI issues
* FIX: Typing a grave character at the end of a text entry would crash the font renderer
* FIX: Crash on running without an enabled audio device (now no such device required)

REXPaint beta v0.99r9 (140902)

* NEW: Image-wide single-color swapping (Shift-LMB in palette window)
* NEW: Scroll image up/down with Shift-Wheel
* NEW: Switch between current/previous image with Ctrl-Tab
* NEW: Separate undo history maintained for each image, making simultaneous editing of multiple files easier
* NEW: Expanded undo support to include image resizing and layer manipulation (all possible edit actions can now be undone)
* NEW: Active layer and layer hide states are now stored for inactive images
* NEW: Set default image dimensions and background color in config
* NEW: Optional hex input/output in color picker
* NEW: Palettes/skins/configs can now specify hex color codes (in addition to RGB/HSV/named colors)
* NEW: Duplicate image names are allowed, provided each image is located in a separate subdirectory
* NEW: Images with changes are auto-saved after a certain duration (interval set in config)
* NEW: Left/Right arrows skip to previous/next directory in image browser
* NEW: File browser supports directory collapsing/expanding (click on folder name)
* NEW: Ctrl-Left/Right collapses/expands all subdirectories
* MOD: Cutting from bottom layer auto-fills area with default image background color (used to be transparent)
* MOD: Set-swap palette color command changed to Alt-LMB
* MOD: Grid resolution command changed to Alt-Wheel
* MOD: Image-wide glyph swap command changed to Shift-LMB (to match new color swap command)
* MOD: .xp files now begin with an internal format version number (will retroactively auto-update old files)
* MOD: File browser extends to full window height when config dimensions are greater than default
* MOD: Create image in image browser subdirectory command changed to Shift-LMB
* FIX: Palette color moving works again (borked in R7 by glyph swapping implementation)
* FIX: Failure to load an image could crash file browser
* FIX: Two mixed-line ASCII codes were inversed (only affected flip-paste orientation)
* FIX: Significant optimizations when processing massive images (render performance equivalent to small images)
* FIX: Undo/redo functionality was failing for image-wide glyph replacements in multi-layered images
* FIX: Undo/redo updates image unsaved changes indicator when applicable
* FIX: Copy tool retains transparency of content selected from non-base layers, rather than converting it to black on paste
* FIX: Skipping to previous directory in image browser via kb (Left/Ctrl-Up) selects first contained image rather than last

REXPaint beta v0.97r8 (140209)

* NEW: Export BBCode (Ctrl-b)
* MOD: Pure text export stores ASCII in unicode (UTF-8)

REXPaint beta v0.97r7 (140206)

* NEW: Export pure text (Ctrl-t)
* NEW: Export to CSV (Ctrl-k)
* NEW: Export to XML (Ctrl-m)
* NEW: Export to XPM (Ctrl-p)
* NEW: Image-wide swapping of glyphs (Ctrl-LMB in font window)
* NEW: Toggle highlighting of already-used glyphs ('u')
* NEW: Multiple paste modes, added to support flipping/rotation of clipboard contents
* NEW: Set the grid glyph manually via config file
* NEW: Change grid resolution in program (Shift-Wheel)
* NEW: Hold Alt key while hovering over a glyph in font selection window to highlight all uses in current layer
* NEW: Grid can be set to appear under image (i.e. in undrawn areas only) (Alt-g)
* NEW: Text tool supports multiple lines (Ctrl-Enter), started directly below current line
* NEW: Text tool can recall any previously entered text for later use (Up/Down to cycle through history)
* NEW: Additional command for viewing previous/next image in browser (Shift-Wheel)
* NEW: Non-filled rects drawn with a single/double line glyph automatically draw a properly oriented ASCII box
* MOD: Ovals drawn from centerpoint by default (switch to corner mode via Alt-o)
* MOD: "File" menu renamed to "Image"
* FIX: Alt-key commands no longer cause system beeps (Windows)

REXPaint beta v0.95r6 (130903)

* NEW: Export to .ans for ANSI art
* NEW: ANSI mode (see manual)
* NEW: Added ANSI VGA palette
* NEW: Duplicate images through browser
* NEW: Rename images through browser
* NEW: Delete images through browser
* MOD: Lifted 25-character limit on filename input
* MOD: REXPaint.cfg specifies default canvas view size rather than console dimensions

REXPaint beta v0.94r5 (130726)

* NEW: Copy/Cut modes also display area dimensions in info window (like Rect/Oval mode)
* NEW: Resize canvas dialogue supports hotkeys ('w'/'h')
* NEW: Force a specific FPS cap in the config file (default was 60)
* FIX: Glyphs now shown properly in menu when GUI & Art using different fonts

REXPaint beta v0.93r4 (130514)

* NEW: Image position in canvas view remembered when browsing back and forth between multiple images
* MOD: Inverted directions when shifting image with keyboard
* MOD: Image border drawn around image rather than on its outer edges; also new style
* MOD: Non-image area in canvas may be set to a non-black color (skin-dependent)
* FIX: Text input mode no longer cancelled when cursor leaves image area
* FIX: Crash when typing text up to right edge of image
* FIX: Home/End keys fail to load image in browser, crashing it on next image load
* FIX: Browser keyboard input now allows selection of images listed outside visible area

REXPaint beta v0.92r3 (130513)

* NEW: Layer merging (Ctrl-Shift-m)
* NEW: Manual references BaconSoap's RexReader library
* MOD: Selection of a layer automatically unhides it

REXPaint beta v0.91r2 (130512)

* NEW: Expanded manual with .xp format specification and description of canvas border
* FIX: Releasing LMB/spacebar with a mod key depressed failed to exit active drawing/dragging mode, blocking further kb input

REXPaint beta v0.90r1 (130511)