Strike is a web-based, 1-bit paint tool, primarily for quick sketching or line-drawing.

View Standalone version here.

Why are there two versions? hosts web games / apps by embedding them within an iframe. While this doesn't affect Strike's functionality for the most part, I'm not sure if all browsers / devices support file loading and saving from within the iframe. The standalone version is provided in case there are some features that the iframe can't support.


  • brush / eraser / fill tools with different brush shapes and sizes
  • 16-'color' palette via dither patterns. Each pattern is treated as a separate color for fill tool
  • ~50 step undo / redo (it's fragile, so don't rely on it too much)
  • import PNG and JPG files, which will be converted to 1 bit form
  • zoom via mouse scroll or two-finger pinch
  • basic image transform tools (flip / mirror / resize canvas)
  • save images as a 16-color greyscale (which will import back into Strike with all patterns intact), or as 1-bit black and white image
  • autosave (see notes)

Strike is supported on mobile devices and tablets; I personally use it with an iPad Pro. 


Strike is not meant to be a full-featured paint app, so has quite a few limitations.

  • Undo / redo may slow down for large strokes or complex drawings. If they behave strangely, please file a bug report.
  • There is a limited autosave feature; by default, starting up Strike will load up the previously drawn image. Creating a new canvas will erase the autosave. You can disable autosaves via the settings (gear) menu. Strike only autosaves one image at a time, so please regularly export your work.

Browser Support 

Strike has been tested on up-to-date Firefox, Chrome, Microsoft Edge (the Chromium-based one), and Safari (both desktop and iOS). Do note that with Safari, the app may behave weirdly on versions pre-13.0 (as I was not able to test on anything earlier).

Open Source

The program is written in JS without any build tools. Source code can be found at

Rated 4.9 out of 5 stars
(34 total ratings)
Made withPixiJS
Tags1-bit, 2D, Painting

Development log


Log in with to leave a comment.

very fun to use :)


dunno if it was intended but with a touch screen you can make cool patterns with two

 or more fingers on the screen

Cool stuff! It's wonderful to see programs that recreate the visual style of Hypercard.

I recently built my own 1-bit drawing program, and only later discovered Strike- maybe Ditherpaint could have some inspirational ideas? I use the same internal model of "patterns as colors", but allow users to edit the patterns and create sequences of those patterns to cycle through, as a limited form of animation.


Brings up memories of an Atari ST with 640x480 monochrome display. I like those greyscale patterns.


Interesting tool. Any chances for the steam version?

Steam version is unlikely, as this is a web-based app and I don't know how to wrap that up for Steam and get it onto the marketplace.


WOW, is this cool.

Now I want to try this for adapting some sketches I have around.

You can get this look with other softs, right, but this is quick and easy to use.

If you're going to add anything else, I'd recommend a circle - square - vector tool to get bigger surfaces painted quicker.


Very cool!!

Just for your info, there is a small bug with the brush when you increase its size and then decrease again. 

Anyway, congrats for the project! :)

Thank you!

Re: the bug - what kind of issue are you seeing when you change brush size? I haven't noticed anything myself, but I'm also not sure what to look for.


Hey, I'm sorry if I was too vague.

What I see is that the brush starts to draw "dirty" lines with some pixels on the side, instead drawing single pixels. Like if it was not reset to the original configuration. 

Here are the steps to reproduce: 

1. open a new document and zoom in 

2. draw a curve with minimum brush size (1)

3. increase brush size to the maximum (20)

4. draw another curve

5. decrease brush size to the minimum (1) 

6. draw another curve

In my case I see that the line of step 6 is different from step 2. Here is a screen shot of the three curves:


This should be fixed now! Thank you for the detailed bug report.


Nice work! One tiny, tiny suggestion: for the very first use of the tool, it might be worth defaulting the brush size to something larger than 1, because a 1-pixel-sized brush doesn't really show off the patterns much. A small thing, but might make it fractionally easier to grasp.


Really nice controls! It would be cool to have an opacity option too (e.g. all black on all white at 50% opacity would result in the middle dot pattern)


love love love this! any plans for key mapping some of the controls? esp. the brush size and stuff? really nice!


Thanks for ur job;)