
XP Paint – A Web-Based Version of Window XP's MS Paint - chowderman
https://chowderman.github.io/xp-paint.html
======
somehnguy
This version of MS Paint is like the peak example of covering 99% of basic use
cases while being incredibly simple to use. Whenever I need to make an
arbitrary image real quick I miss this version of Paint. Nothing else I can
find in 2020 even comes close to its intuitive interface.

~~~
smhenderson
Isn't mspaint in Windows 10 basically the same thing but with a ribbon instead
of a toolbar?

I don't much care for the ribbon but I'm used to it now. Hitting WinKey-R,
mspaint, [Enter] is still my goto for simple picture editing, even just
recording a screenshot despite the existence of the snipping tool...

Other than the minor annoyance of getting used to the ribbon I felt as if I
was still using the same old paint when I did this.

~~~
JoeSmithson
Two things I dislike about the new Paint are;

1\. Can't select secondary colour with right click

2\. Needs way more clicks to get a filled Rectangle

~~~
forgotpwd16
1\. On latest Windows version I am on now it works as the classic paint. 2\.
On classic paint you set colors > rectangle > select filling (w/ outline or
w/o). On new paint is set colors > rectangle > fill > select filling > outline
> select outline. So 1 or 3 more if you want to remove the outline.

------
chowderman
Here is the repo as well: [https://github.com/chowderman/xp-
paint](https://github.com/chowderman/xp-paint).

Note: this is in no way affiliated with Microsoft, its merely a fan project
based on my love of Windows XP

~~~
apatheticonion
Added a PR to make it installable on desktop. The build script rewrites the
link to a local directory for some reason though

------
nicoburns
Is you like MS Paint art then you should check out Jim'll Paint It
([https://jimllpaintit.tumblr.com/](https://jimllpaintit.tumblr.com/) \- also
on facebook).

He takes requests.

~~~
stan_rogers
That's... an unfortunate name.
[https://en.wikipedia.org/wiki/Jimmy_Savile](https://en.wikipedia.org/wiki/Jimmy_Savile)

~~~
mkl
Nonsense. Jim is a very common name, too widespread to be impacted by one bad
guy.

~~~
vanderZwan
GP wasn't comparing just the name _" Jim"_, it was comparing _" Jim'll Paint
It"_ to _" Jim'll Fix It"_.

[https://en.wikipedia.org/wiki/Jim%27ll_Fix_It](https://en.wikipedia.org/wiki/Jim%27ll_Fix_It)

~~~
mkl
Okay, now I understand their point. Strange not to link it though.

------
captbaritone
Looks like this is a fork of [https://jspaint.app/](https://jspaint.app/)

~~~
cpach
What is the difference between those two?

~~~
chowderman
The main differences are:

* it works totally offline (it performs no XHR requests and none of the libraries are linked to CDNs or other sites)

* is contained within a single ~1 MB in size .html file (I baked all images, scripts, style sheets, etc. within a single file)

* is lighter, as I removed some features to keep it closer to the original (but kept a few like the history and rendering as a GIF)

* is Win XP themed instead of Win 95

~~~
csunbird
Is it possible to save it locally and work on that?

------
2038AD
This is a very good recreation. Pleased to see it even replicates the hidden
zoom (below 8x). I also spot a good inaccuracy: the undo doesn't appear
limited to 3 :-)

------
djxfade
How where you able to implement such a fast floodfill? I tried to make
something similar a few years ago, but was not able to get the floodfilling to
work in reasonably time

~~~
EquallyJust
Here's the source code for draw_fill: [https://github.com/chowderman/xp-
paint/blob/b6dfcce7f449d3bb...](https://github.com/chowderman/xp-
paint/blob/b6dfcce7f449d3bb6eec21c3c859571067e7c771/xp-paint/src/image-
manipulation.js#L362)

------
moolcool
The square brush tool is broken
[https://imgur.com/a/2CqIdhx](https://imgur.com/a/2CqIdhx)

~~~
jayd16
Same for me as well.

------
_nickwhite
In 1993 I was 12 years old and spent many, many hours drawing a pixel-perfect
replica of the Mortal Kombat dragon logo in MS Paintbrush (the name of MS
Paint at the time). I believe it was a 640x480 BMP. I so wish I had saved a
copy of this and all of the other stuff I downloaded off bulletin boards!
Stuff like this got me started in web graphics, HTML, and eventually sysadmin.

To this day I still take screenshots (PrtScn) and save them using pbrush
(WinKey+R pbrush).

------
lajawfe
So is this just a fork of [https://jspaint.app/](https://jspaint.app/) with
styling changes?

~~~
ry4nolson
yep says so in the Help > About modal

"XP Paint is a fork of the web-based remake of MS Paint called JS Paint."

------
anonytrary
Holy crap that was fun. Big fan of the history view and the spray effect. Is
the cursor lagging behind the mouse intentionally or is it just lag because
javascript? I didn't notice anything else lagging, but I don't remember MS
Paint having a mass/drag effect like that. FWIW, I found it even easier to
write my name with the pencil on a trackpad.

------
c9fc42ad
These always miss my favorite hidden feature of mspaint: Control + Scrolling
should be able to increase/decrease the size of the brush to sizes much larger
than you can normally select. Instead, this just zooms the browser but maybe
it could be changed to alt + scroll or something.

------
mkup
For some reason, I can't zoom via main menu (View/Zoom). Level 3 menu just
diappears. (My browser is Firefox if this matters.) Keyboard accelerators
don't work either (e.g. Alt+V,Z,L). Only level 1 menu works via keyboard
accelerator (Alt+V).

------
glerk
Small bug: on Brave browser, the "fill" tool is not covering 100% of the
pixels [https://i.imgur.com/Ej6owmI.png](https://i.imgur.com/Ej6owmI.png)

------
randomsearch
Someone I know once got brief access to source code for a version of Windows
that included paint. He had just a few mins with it and opened up the source
to paint because he liked the software. One of the variable names was
something like “fluffy_bunny_rabbit” and he read a comment that said “this
fixes bug X, I don’t understand why, but just leave this code here.” Unsure if
former softies can confirm this was code quality back then...

------
thedays
Nice work! It would be great if you could include a feature to crop an image,
similar to how you can in MS Paint. Crop is the feature I probably use most
often in MS Paint.

------
thorin
Started using MS Paint or whatever it was called then after years of drawing
on Deluxe Paint on the Amiga. I wasn't very impressed, but now after seeing
later alternatives it's actually not too bad. Didn't Hockney do lots of recent
paintings on the most basic iPad drawing program?

------
user1234568
There is also [https://jspaint.app/](https://jspaint.app/)

------
mehrdadn
If you don't like the display scaling, you can try running this in the browser
console:

    
    
      document.body.style.zoom = 1 / window.devicePixelRatio

------
destory-everyth
This is the best replica of mspaint I have seen everything looks and behaves
exactly the same , well done!

~~~
hirako2000
I wish it would save as bmp only, that png feature makes it orders of
magnitudes less horrific than the orignal paint.

And I think it should only save to localStorage, so that saving a few images
would fill up all the space like I quickly did on my few GBs hardrive.

------
consultutah
The best version of paint. ;)

~~~
chowderman
you know it! It had a sleek and modern look for the time, while still having
the simplicity and user-friendliness of MS Paint from Win 95/98\. really wish
this version of paint was still supported in Win 10

~~~
matjazdrolc
Surely it can be packed as an Electron app?

~~~
pantaloony
I wouldn’t be surprised if a stripped-to-the-bone installation of WinXP in a
VM, running only Paint, is lighter on system resources than Electron running
this.

~~~
jaclaz
A very basic XP install with a GUI can fit in 20-30 MB[1][2][3], using
minlogon, but even with a "standard" Winlogon it should be below 50 MB, so it
surely would take less disk space than the hypothetical 100 MB electron based
version.

[1] [http://reboot.pro/topic/3717-xpsp1-with-full-commandline-
and...](http://reboot.pro/topic/3717-xpsp1-with-full-commandline-and-ntfs-
below-10-mb/)

[2][http://reboot.pro/topic/16765-minixp/](http://reboot.pro/topic/16765-minixp/)

[3][http://mistyprojects.co.uk/documents/MiniXP/](http://mistyprojects.co.uk/documents/MiniXP/)

------
n-gauge
Nice job! (Would like to see Ctrl + e focus into the first value box)

------
p4bl0
Oh my! This even has the secret x10 zoom! That's awesome. :)

------
ape4
Is anyone else having trouble going View > Zoom > Normal

------
adamredwoods
As much as I enjoy this, I feel for it to really shine would be a desktop
version, not locked into the browser. I think a Chromium/Electron app would be
fine.

~~~
notRobot
I couldn't disagree more. An entire electron app just for mspaint? That's
ridiculous.

~~~
adamredwoods
I disagree with you. The way I work is based in realms of OS apps, not browser
tabs. Electron is bloated, but for a 'cute' app like this I don't think it's
any worse than Slack, or a Qt app. Overall, I'm less likely to use an app on a
regular basis if I need to go to a website to use it.

------
bionoid
Nice work! Please add a LICENSE file

