A downloadable tool for Windows

Buy Now$14.99 USD or more

CharPad C64 and SpritePad C64 are graphics data editing tools that facilitate the production of graphics data in a format compatible with the legendary Commodore 64 home computer.

The programs accurately simulate the C64's video formats and allow you to comfortably design character sets, sprite sets, tiles, fonts and maps for 2D video games and demos.

You can get creative and make graphics by hand or import/convert from existing images or emulator snapshots.

Data can be imported/exported as binary, text or images.

CharPad Pro includes advanced features such as...

  • Support for *ALL* the standard C64 (VIC-II) display modes.
  • High quality interactive image import.
  • Flip/Reflect/Scroll/Rotate all/any items.
  • Automatic data/colour conversion between display modes.
  • Typing text directly into the Map Editor using a chosen "Key map".
  • Map Editor "Flexi-Grid" feature that allows map data to be subdivided.
  • Tile naming/tagging.
  • Interactive ripping of graphics from VICE snapshots.
  • Exporting of map data in 8, 12 or 16 bit formats (ie. >256 tiles).
  • Colour palette editing in RGB, HSL and YUV formats.
  • Copy/paste between program instances.

SpritePad Pro includes advanced features such as...

  • Tile creation / animation.
  • Tile overlays.
  • High quality interactive image import.
  • Flip/Reflect/Scroll/Rotate all/any items.
  • Interactive ripping of graphics from VICE snapshots.
  • Animated GIF import / export.
  • VIC-II 'expanded' sprite support.
  • Colour palette editing in RGB, HSL and YUV formats. 
  • Copy/paste between program instances.


  • Portable apps, run on Windows or Mac/Linux using ie. WINE.
  • Each app includes 3 executables,  Win32, Win64 and .NET builds.
  • Buyers will have free access to all future updates of these products.
Rated 5.0 out of 5 stars
(6 total ratings)
AuthorSubchrist Software
Tags2D, char-editor, charpad, Commodore 64, map-editor, sprite-editor, spritepad, subchrist, thalamus, tile-editor


Buy Now$14.99 USD or more

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

CharPadC64Pro342.rar 4 MB
CharPadPro331.rar 7 MB
CharPadPro320.rar 7 MB
CharPadPro310.rar 4 MB
SpritePadPro320.zip 5 MB
SpritePadPro320.rar 3 MB
SpritePadPro319.rar 3 MB
SpritePadPro301.rar 3 MB

Development log


Log in with itch.io to leave a comment.

Hi, I`m running the latest version of Sprite Pad Pro, I have a number of sprites that have overlays...some sprites have 4 frames...others have 5 ...problem is I can only set the offset as one value so its difficult to visualize all the sprite.. is this something that can be changed in a future version? (im sure we used to have the ability to do this at one point?)

Thanks so much for a great set of tools.

Deleted 23 days ago


Thanks for your post and appreciation!

 "Overlay distance" in SpritePad has only been variable (but same for all sprites) in the last couple of years.

Older versions just had an "Overlay Next" switch in each sprite's attribute.

(equivalent to an overlay distance of 1)

So anyway if you've got a number of sprites that use overlays you should be able to solve your issue by ie. moving all of those sprites to the start of the set, then move all of their relevant overlays (in matching order) to some place further on in the set and use that distance as the universal sprite overlay distance.

So the arrangement you end up with is...

[Sprites that need overlays][Sprites that don't need overlays][Sprite overlays]

you could also use...

[Sprites that need overlays][Sprite overlays][Sprites that don't need overlays]

Basically just keep ALL of your underlays in one big block and ALL of the overlays in another.

ie. Avoid trying to do...

[Sprites1][Sprites1overlays][Sprites2][Sprites2overlays][Sprites3][Sprites3overlays] etc.

You will be severely restricted by the single (universal) overlay distance value when using such a scheme.

I hope that helps.

Really great software, one option I would would be to reverse pixels per character, so saving recreating the reversed character for all my custom character sets. I am assuming that you can not do this already.

(1 edit)


Yes CharPad can already do this, just select all the chars you want to affect (or a single char) and hit CTRL+SHIFT+N, or choose Negative from the Char/Chars item in the menu.

Perfect, thanks for the quick response and it works great, saves me some time!!

Hey there, I bought both editors :) I've been using Spritepad for a few days and I like it, but I cannot for the life of me find a  way to add frames to an animation. I have all the frames I need in the spritesheet, but copy/paste does not work. Help please....

(1 edit)

Hi, thanks for supporting the projects, much appreciated!

Ok, animations in SpritePad are all based on ranges (ie. A to B) of items in the sprite or tile sheet.

nb. sprite animations and tile animations are handled by different forms.

You can select a range of images using the LEFT mouse button without (then with) the SHIFT key held down.

Then click "Create animation from selection" from the toolbar or menu (the sprite/tile sheet form must be active).

Alternatively you can just use the From/To controls on the animation form to set desired frames.

Playback speed etc etc are all handled by the animator form.

I hope that helps.

oh ok I was missing the button "Create animation from selection" from the toolbar or menu !! Because it is not there all the time grayed out, it just appears when it is useable and I did not notice it. Thanks, everything else makes perfect sense and I’m enjoying making animations already!!

Right right, the option to create an animation will only be available if animations are enabled in the project.

I might change this so it gives the option to enable animations when it's clicked.

Anyway, glad you enjoying it! updates coming soon hopefully, stay tuned :)

I absolutely love CharPad and SpritePad. I use them a lot. There are two things that could make my life a little easier though (in CharPad):

I wish that the Flexi-Grid Settings were saved with the project file. I have to adjust these every time I open a project file. 

I also wish that there was an option to export the Flexi-Gridded Sub-Maps to one big file instead of several small ones. I have made my own script to merge these, but it's extra work every time I change the map.

(3 edits)

Thanks for the feedback, yes I can see how these things would be useful, the (ctm) project file format does get updated occasionally but I tend to wait until I have a good number of new ideas ready before designing/releasing a new one, this idea is  on the list now.

I will try and get the "big block of sub-maps" (binary export) into the next update.

Great! Thank you for listening to feedback from the community.

Any chance of C16/+4 support?

It's been on the 'todo/maybe' list for many years but has hardly ever been asked about so I've never been quite sure if it's worth the effort.

What do C16/+4 developers currently use? just native 8-bit tools?

I was using CBMPrgStudio’s sprite/char editor but with each release it gets progressively worse to the point it’s now not worth the effort. Now I use CharPad pretty much exclusively I colour manually which is a bit of effort.


Would love to see Linux versions of these.  I've almost been able to uninstall Wine on Linux but need it for these two apps and WinCUPL.  :-)

Hey, I have published a how-to using Crossover 22. It also runs on Linux and you should be able to try it out using the trial version of Crossover: https://medium.com/@angelday/how-to-launch-charpad-pro-on-a-modern-mac-97de8c7a4...

These tools are fantastic! I have been looking for something like this for a while. Keep up the great work!

Awesome piece of software.
Apologies, only just realised there is a pro version. Now purchased. #awks

Thanks so much for your support :) we hope you find the apps useful, there's always an update in the pipeline but do let us know if you have any suggestions etc. Cheers!

Hello. I love both SpritePad and CharPad. Been using both for years, but recently bought the Pro versions. I was wondering if it's possible to include some plotting system for sprites in the flexi-gridded maps. Then that could be exported as a separate text file. Right now I'm making a game and I have to write down the X and Y coordinates manually for each sprite in each room in my game.

Hi, thanks for your suggestion,

Something like this (a sprite layer) has been on the todo/maybe  list for quite a while, the idea has just taken a back seat to the more char-related features (of which there is, and has been, an enormous amount to do).

I'm sure at some point there will be a merging between SpritePad and CharPad to turn the tool into more of a programmer's "level editor" than the tile-map editor that it currently is.

The idea is on the list!

Awesome! That makes me very happy. Thank you for all the work you're putting into these products. I really appreciate it.

Hi SubChrist,

Is it possible with 3.19 to define different areas in the same map? I mean to  display different BG, MC0, MC1 colours in the map.


I'm afraid the answer to that is no.

I *will* consider it (and possible alternatives) for a future version but it is the kind of feature that could become very complicated very quickly and the current set of display modes and colouring options are really quite challenging as they are.

I have so far found the "one project/one map/one palette" model to be the least confusing for myself and for users so perhaps there is another way to tackle the problem.

I really like the SpritePadPro Editor. Good work !!!

Hi there, I've been using both Sprite Pad and CharPad for several years now, and recently I've become involved in a project that will span both C64 and spectrum. I was wondering if it would be possible to add support for either custom colours in the palette or failing that the 16 colours of the ZX Spectrum palette so that I can use the one set of tools for both versions of the game. So far I've not found a better map editor so I would really love to be able to stick with it !

kind regards,



Thanks for the suggestion.

While CharPad (Pro) *does* support custom palettes and includes a built-in palette editor where they can be created/saved/loaded and thereafter will draw all graphics using it, it will not currently display the tweaked palette in the Project window's colour selector, instead always showing the same (pre-drawn, c64) palette image(s).

I have made a note and will definitely look into it.

Awesome thanks, ill take a look at the palette options, i must have missed those but sounds like ill be able to go ahead and use this for both projects.

Hi! I have recently purchased the pro version and made a text-multi-color, per-char-colored, tileset project with CP3.09 Win64. But when I exported via File->Text/Asm->ExportAll the Tilesetdata and the Tags were missing in the file. I have used this function many times with Charpad 2.86 without problems so far. Any idea what could cause this problem?

Hi frodewin, thanks for the bug report, yes you are quite right, there is a fault, it is present in the Win32 and Win64 builds of CharPad Pro 3.09.

The .NET build is unaffected.

I have just fixed it and will try and get a new version up tomorrow.

Version 3.10 is now available. Merry Christmas!

3.10 works like a charm! Thanks a lot!


Is the Export Flexigrid opening at the last saved folder on the cards for a future release of CharPad Pro?

Thanks in advance.

Hi, thanks for posting, the issue has been noted, I will investigate and try and get a fix into the next release.

Hi - that would be great and also very appreciated.  Great product by the way!

Hi, I'm a coder working with your pad software. I am presently writing a program which deals directly with *ctm files so I can process their contents without loading the app. First of all, thank you very much for supplying comprehensive documentation. It saves a huge amount of time to have a direct reference to work from. Here are my points:

1. I'd like to lodge one gripe against it which is the use of decimal. This makes life a little harder when verified my understanding of the format using a hex editor which predictably uses rows of 8 or 16 bytes and a hex offset. I can do the conversion, but it would be nice if the doc had offset values in hex either as well as or instead of decimal so the numbers fell more conveniently into references to a hex editor.

2. Having designed some full game maps before we started to talk the artist has defined all their chardefs within a single set. The char images too, do not appear in the set where I would ideally like them to be, the numeric chars for example. How can I copy out into a different set the alphabetic chars which don't appear in the game and also later rearrange the chars within the set without disrupting the map? I want to pull out some of their char defs and then move around some defs within the set.

(4 edits)

Hi, thanks for the feedback.

#1, yes I take your point, hex offsets would probably be more useful.

#2, CharPad will 'auto-correct' (tile/map data) for all operations that move chars/tiles around, ie.. cut/paste, delete/insert, compress/decompress.

If the chars/tiles for a font need to exist in the same charset/tileset as a game map (but are not used directly by it) then it is best to keep the font as a separate project and simply copy/paste (from the font project) into the game map's project when you need to combine them (auto-correct will be performed).

If you need to rearrange chars or tiles within a project then this can be performed by swapping items (CTRL + RIGHT mouse button), auto-correct will be performed.

I hope that helps.

Turns out I really like making sprites in SpritePad :D


Nice! you clearly have a natural talent for this stuff :) I would be happy to include a few examples of your work in the packages if you ever have any spare/unused bits and pieces that you would like to show to our users. 

Hey! I was wondering if there's a way to preview the underlying sprite while editing its overlay sprite? I can't seem to find it.


Hi Mrmo, 

For the time-being you will probably find it easier to work on the overlay first, ie. a black outline, then move to the underlay sprite and fill in the previously drawn shape (where both will be visible in the editor).

In the current system, sprites can only "have" overlays, so both sprites will only be visible when working on the "underlay".

Thanks for raising the issue though, I will take a good look at it and see if there is an improvement to be made.

Thanks for the prompt response! Don't know if this is a good idea, but what if the overlay sprite was essentially the same as the underlay sprite (as in, shows the same preview) but only allows editing the overlay sprite data?

very nice

Sorry to bother you, but I get an "unknown publisher" warning when starting CharPadPro30 and now also 3.01. I guess CharPadPro290 was signed, since I get no warning there.

Thanks for letting me know, it's a bit strange as nothing has actually changed AFAIK, the .NET assemblies have never been signed.

I just tried it on a spare Win7 machine, no warning was shown.

I'm using Win10 so that might make a difference.
I checked that there are no Digital Signatures attached to both 2.90 and 3.01 so that's not it.

I might have disabled the warning for the 2.90 executable before, but I can't remember.
Anyway, I can just disable the warning for CharPadPro301_W64.exe as it's a per file setting.

Your Help -> About is linking to a parked domain in all versions of CharPad Pro I've tried since 2.85, including latest 3.0 beta #3

Thanks for letting me know, seems like the website is offline for some reason.

Hey There! Maybe a longshot but any chance you'd be able to include c16 / plus4 support? Obvious differences would be a larger palette and variable software sprites but...

(1 edit)


Yes it's posible at some point, the idea has been on the todo list for some years now but there always just seems to be endless  amounts to do just for the C64 version!

Certain concepts such as the 16 colour palette and particular features of the VIC-II are quite tightly woven into the current system and trying to squeeze in support for another platform would likely break a lot of existing stuff.

So yes it's possible but would require a great deal of work and most likely need it's own separate version rather than making the current tools more flexible to accommodate it.

I once owned a plus4, I liked it and it is definitely something I would like to do.

ps. Thank you for your support, it is greatly appreciated.

Thanks! And keep up the good work!

Is there a doc describing the CTM V5 format? 


Hi, yes all the CTM project file formats (1-7) are described in the html help files that are included with CharPad Pro / Free.

Ah yes, so they are. :) Thanks.

Excellent tool! 

In order to "simulate" color splits, could it be possible to display different Bg #1, Mc #1 and Mc#2 in the same map?. It doesn't affect generated data, only visualization.

For example if they can be set "per tile" and whenever any of these common colours are updated in a tile, the whole row is re-displayed with those values. 

Keep up the good work!

(3 edits)


Thanks for the suggestion, yes it's a good idea and I'm fairly sure it's something that has been on the "todo (maybe)" list for some time. 

CharPad includes the maps from 'Hawkeye' and 'Flimbo's Quest' which both use colour switching in their actual games and so don't appear quite correct in CharPad. 

(The lowest tile rows for those games are dynamically recoloured using a raster IRQ/colour split)

As it may (sooner or later) be desirable for a "split" to occur on any raster line (ie. mid-tile or mid-char) then I would probably rule out doing it in the map editor or per-char/tile and instead have something like a "Screen Emulator" window that could be configured with the desired splits/colours on the chosen raster lines.

The more I think about it, the more I think it's something that would be far simpler to do using some native C64 code and ie. the VICE emulator.

I know ideally you would want it to be immediately visible IN the map editor but I can't see that happening to be honest.

CharPad's map editor/renderer is not really "line based", is fully resizable and does not actually represent a "screen".

I will consider it further!

In my case it's the other way around, I want you set a raster split in an specific row in the map, so I have to calculate the IRQ raster line manually :)

I see your point.  That's why I was suggesting something pretty basic, nothing fancy. Just enabling some splits (maybe up to 4?) in specific rows in the map. That would be great.

I see how to edit a color / colour palette, but I can't seem to get it to actually apply to the project. How can I apply the palette to the project so the colors are used for characters?

(1 edit)

Just hit the 'Ok' button at the bottom of the 'Colour Palette Settings' dialog.

Hit 'Cancel' (or press the 'X') to exit without making any changes. 

If you have a project loaded you should see be able to see the colours change as you tweak the settings.

Hmmm. This doesn't seem to work, the screen shot above is after I pressed OK (then reopened it). I was using the x64 build, I'll try with the others.

Ah okay I figured out what's going on. The colors in the Project Palette don't update, so it's hard to tell what color is actually selected. Could that be changed so the thumbnails and the palette selection boxes show the configured palette?

(7 edits)

Well, it's a Commodore 64 graphics editor, those colours are kept fixed because they fairly accurately represent the VIC-II colours, even if the palette is altered for personal taste.

It's especially important when using multi-colour mode and the 'Char' pen as the palette image then changes to indicate the "multi-colour" versions on the lower row (as seen in your image above).

ie. If you are using the app for non-C64 work then the concept of the Char pen having 8 hi-res + 8 multi-colours fails and a  recoloured palette image would make no sense.

May I ask what platform you are pixelling for?

Trying to use it to edit for my own engine, with PNG output. I like the limits imparted by the structure of the C64 graphics setup, but I need to use a custom palette and not being able to see what color I'm selecting makes the custom palette really hard to use for anything other than variations of the C64 palette. Seems like a shame it's not easier to use for other environments.

Great tools, really powerful and useful. My only criticism is I would dearly like to see a good set of keyboard shortcuts in this and SpritePad to make it more productive to use.

Keys where you can keep one hand on the mouse and one for the keyboard.  For example Ctrl+left / right is awkward.

Why not

  • WASD keys to move the selected char/sprite up, left, down right
  • 1,2,3,4,5 for the colours (easier to reach)
  • F1, F2, F3, F4 for the zoom level
  • IJKL keys to shift up, left, down and right
  • - and = (+) keys to flip/mirror
  • [ and ] reflect 
  • F - flood fill
  • B - brush
  • N - select
(9 edits)

Hi, thanks for the feedback, one reason that single keys are not used as shortcuts is that the map editor has a text-entry tool that accepts most single alpha-numeric keys as input, so single key shortcuts such as WASD (or cursor keys) would not be possible there. Another is that no dev environment I've ever used has allowed single keys other than F1-F12, Ins, Del etc to be specified as shortcuts (in design mode at least), I'm not saying it isn't possible but wouldn't be practical for the first reason.  

nb. All windows that have a 'zoom' op already have a shortcut for zoom in/out, try CTRL + mouse-wheel.

F1-F5 are currently used for colour selection.

Thanks though, I will think about your requests further.

Well, every graphics editor has single key commands to make it easy to draw and change tools with a hand on keys and on mouse. I think it is worth considering, charpad and spritepad are graphical editors, not code editors afterall. Text entry is only initiated by selecting the text tool in the map editor window, so that still works. In text mode you can stay there until you press ESC for example, or click on another tool with the mouse as you do now.  It would certainly double my productivity with the tools having everything to hand, so to speak :)

(2 edits)

I hear ya.

 I've been using GIMP today and that has lots of single key shortcuts which obviously must get blocked during any actual text entry.

I will look into it for a future version.

ps. If it helps you can already use the space bar to temporarily switch to 'Pan' mode on the map editor, and use CTRL+wheel for zoom as described earlier.

yea, I love the space around as I'm used to photoshop. Thanks for the tip on the scrollwheel. 

I could have sworn I already bought the Pro version, but alas not. I had a free version.

Anyway  rectified now. Thanks for creating such a wonderful set of tools.

Is it possible to rotate hires characters? I think this would be useful if possible.  Thank you :)

One option that I would like to see is support for MC bitmap mode.  Seems more games these days are using it.  :-)

If CharPad is associated with CTM files or SpritePad with SPD files, opening these files starts the respective application but with an empty project. Would it be difficult to have them load the selected project file right away?

CharPad and SpritePad are both "portable" apps and so require no installation but this also means their project files are not automatically associated with any particular executable(s).

I'm sure it's possible to make an association manually which I'm guessing is what you have done.

That's fine but one problem with doing that is that when a new version is released you will likely have to make the association between the file type and the (new) executable again.

Personally I never bother associating files with portable apps but I will look into the issue for the benefit of those people that do.

Thanks for bringing this to my attention.

I'm missing a colouring method where the source of colour is the map itself, as opposed to the characters or the tiles. With this mode, a separate map-sized colour buffer would be saved (one per character or tile depending on whether tiling is enabled). Especially when working in ECM having to introduce an identical character to get a different colour seems rather wasteful.

(1 edit) (+1)


Thanks for the feedback. 

The main reason that such a colouring method is not supported is because of the sheer amount of memory it would require, ie. twice the map size in bytes.

In ECM mode you automatically get four different (background) colour versions of each of the 64 chars, but yes if you use "per char" colouring in any display mode you would potentially need to duplicate chars to get a different (foreground) colour version.

I will have a think about the problem and put it on the todo/maybe list.


Thanks for the quick response! I don't think target memory requirements are an issue per se, since it's anyway the responsibility of the developer to make the trade-offs for their particular use case. It's more of a problem in practice if an authoring tool imposes limitations that are hard to work around. However, I do see how this request can lead down a deeper rabbit hole.

In any case, thanks for your work, CharPad makes life a lot easier already!

How are the char materials encoded? Thanks


Char material values (0-15) are recorded in the upper nybbles of the character attribute bytes.

In the included Help folder, the file "File IO Exporting.htm" describes this and a few other things.

Thank you a lot. Keep up the great job.

Sorry for bombarding you with feature requests, but here is another one!

I am trying to make a very detailed background, but trying to get rid of characters that are only used once - in order to be really efficient with my character use. It would be great if the info bar in the Character Set window also showed the number of times a character was used!

Here's a mockup of how it could be:


Interesting,  that one that isn't on my todo list already (!).

I have added it to the list, in the mean-time you can try...

Import/Export... Text/Asm... Export Char Usage Statistics.

Yes it's a bit more hassle than having the usage count immediately visible in the set but should help a bit.

Excellent, another new great gem you got hidden there :D

After using CharPad Pro pretty extensively the past days, I miss a couple things on the file side:

- It would be nice to have a list in the File menu of recent projects.

- A regular save would be great, that is a save that just saves over the current project file.

- And some way of knowing if the current project has unsaved changes would be vital in m opinion. I think the Windows standard is to have an asterisk * after the project name in the top menu bar?

I accidentally lost several hours of work because I thought I had saved, and was used to working in other programs having that mentioned asterisk...

Hi Superrune, 

Thanks again for you suggestions, the addition of a "modified" flag coupled with a regular Save op have been on the todo list for a while now, it can be a tricky task in an app that stores multiple data blocks like this and doing it badly and ie. failing to flag a change in some element would be quite embarrassing. on the other hand I don't want a system that is sloppy and flags change where there is none,  ie. blue pixels painted over blue pixels. 

I will give it some thought and try and get some solution fitted soon + I'm very sorry to hear you have lost some work.

Thanks :)

I have another feature suggestion that I think would really speed up drawing. When I paint characters on the Map Editor, I switch between the Picker and Brush constantly to get and put characters. I would prefer to have the cursor in the area I am working, and not go up to the tool bar constantly. How about adding a feature similar to Photoshop eye dropper shortcut, where you can press ALT to temporarily switch to the Picker while in Brush mode?

(1 edit)

Hi Superrune, thanks for your suggestion, I will look into that for a future version (I find key handling and avoiding ie. shortcut conflicts to be a very tricky business in dot net),  in the mean-time you can click the middle mouse button (or wheel) to pick a char/tile when using the map editor (if you have one).

Didn't know you could do that. Fantastic, that solves it for me!

Would you consider adding keyboard shortcuts for choosing which colour to draw? For example, it would speed up drawing quite a bit if you could use keys 1-5 for choosing the current colour.


Hi Superrune, thanks for the suggestion, you are the 2nd person in the last few days to request that feature, so yes it's on my todo list for the next release.

Great to hear. Cheers!

Looks great, shame I don’t have windows!

(1 edit)

Thanks :) you can try running it using Mono or Wine on Linux/Mac, I don't use those systems but I know some people have had success with it.

OK thanks

For any future users looking for Linux compatibility, I was able to run Char Pad Pro 2.85, Char Pad Free 2.7.6, and Sprite Pad Pro 2.7.6 in Wine (via Play On Linux).

I merely tested some basic functionality, so it's unknown if everything will work.