Dustin Mierau
banner
mierau.me
Dustin Mierau
@mierau.me
Blippo+. Playmaker. Path. Napster.
MacPaint remake. Hotline remake.

Mac nerd. Maker of software.

I delete my account annually when I tire of social media. But for now.
One of the surprising features of MacPaint I found was the ability to paste text from the clipboard to the canvas giving you the ability to reposition the text and change the font, size, pattern, and the bounding box to rewrap the text.

Pretty impressive. Not a lot of fun to implement. 😄
January 17, 2026 at 3:12 AM
I legit forgot macOS had this exposé type UI baked into tabbed windows. I can't use my keyboard to navigate open tabs however. Can't drag documents in. Can't drag tabs around to reorder. No context menus or way to close tabs from that view either.

Seems like a lot of effort for nothing? 🤷‍♂️
January 16, 2026 at 10:22 PM
Letting you drop images into MacPaint's pattern wells. Copies the 8x8 top left corner of the image as the pattern. You can also just copy a pattern from the pattern editor and paste it into another editor in the same document or another.
January 16, 2026 at 12:07 AM
I go back and forth on this one, but ultimately I think I like rendering the fill on the curve tool while drawing.

MacPaint would add the fill when you released the mouse, but that made it difficult to see while drawing. I think it was done for CPU reasons, so I think adding this makes sense.
January 15, 2026 at 7:26 PM
Added a magic wand mode to the lasso tool. Hold ⌘ while clicking and it acts as a flood fill selection (inverse of what lasso does by default—fill outwards vs fill inwards). Perhaps not the best example where a paint bucket tool would have worked just fine haha. (sorry for unhinged homer)
January 13, 2026 at 6:32 PM
Reorderable pattern swatches! This felt much harder to implement in SwiftUI than it should have. :\

MacPaint stores the pattern swatches within MacPaint documents in the order you see. So the order is preserved across sessions and should be backwards compatible with the original MacPaint.
January 13, 2026 at 5:06 AM
Speaking of the lasso tool, I forgot I added this: ⇧ and ⌥ to add or remove selected pixels. This was not available in the original, and a bit awkward with the way lasso selection works, but it works and works with the MacPaint's ⌥+drag to create a copy, or ⌘+drag to paint copies across the canvas.
January 12, 2026 at 7:01 PM
Last night I fixed printing in MacPaint. Comes out of my laser printer so much crisper than it did at first. MacPaint basically had WYSIWYG printing with the resolution of MacPaint documents being more or less paper size on a 72dpi ImageWriter. Got it pretty close. Before and after:
January 12, 2026 at 5:02 PM
Another invisible upgrade to MacPaint: pressure sensitive brush. I forgot this was included on mouse events in macOS. So now I can move a MacPaint window over to my iPad and draw on the canvas with my Apple Pencil. I use MacPaint's gradient patterns as a mask against the selected pattern. 😄
January 11, 2026 at 7:08 PM
Added ⌘ and ⌥ modifiers to the brush tool. These modifiers existed on other tools to change drawing modes in the original MacPaint, but not the brush tool for some reason. So ⌘ adds just the black pixels from the selected pattern. ⌥ instead draws just the white pixels. Super useful!
January 11, 2026 at 5:41 PM
Added your standard spacebar to pan the canvas shortcut to MacPaint. Love sprinkling these invisible quality-of-life improvements over the app.
January 11, 2026 at 1:42 AM
Found a great tool that works on Mac OS 7.5 that rasterizes outline fonts and saves them as TrueType bitmap fonts that I can then load into MacPaint remake. So I now have Chicago in more than 12pt. Playing with a bitmap version of Apple Garamond as well.
January 11, 2026 at 1:02 AM
Small upgrade this evening: like shape tools in the original MacPaint, you could hold ⌘ while drawing a shape to paint its contents overlaid (i.e. only paint black pixels from the selected pattern onto the canvas). I added this functionality to the paint brush tool as well. Great for shading!
January 10, 2026 at 3:54 AM
I have text selection in the MacPaint remake mostly working. I know the original did not have this, but these are the sorts of quality-of-life improvements we can make without changing the classic feel of the app. 🙂

That said, I need to figure out how I'm going to handle italicized selection. 🙃
January 10, 2026 at 12:08 AM
MacPaint had this top-left preview overlay that displayed the pixels of the area you were zoomed in on at 100%. Because this version of MacPaint is resizable, I of course had to make this preview resize too and show exactly what you were seeing (snapped to pixel boundaries). 😄
January 9, 2026 at 5:12 AM
I love how zen MacPaint is fullscreen.
January 9, 2026 at 4:44 AM
Doesn't get old: copying a document created in MacPaint on macOS 26 over to System 6 and seeing it open perfectly.
January 8, 2026 at 8:25 PM
A hybrid approach and I kind of like it... I mean, relatively speaking in this liquid glass world. 🤷‍♂️
January 8, 2026 at 5:18 PM
Fun fact I never thought about until I had to implement it: marching ants selection animation is actually a diagonal line pattern drawn on the 1px outline. The animation is just moving the pattern offset at 60fps. Kind of like a barber pole. A neat trick that worked so well we still use it today.
January 8, 2026 at 5:18 AM
The feature I was most terrified to implement in MacPaint was the lasso tool. I used an LLM to help me understand the original MacPaint's assembly code. 😄

This is because the tool doesn't just select the area you outlined nor select just black pixels. It actually collapses on the outlined shapes.
January 8, 2026 at 5:05 AM
Of course, some of the typefaces only work at larger point sizes but are just as beautiful if not more so. The love put into these. So happy to have found them.
January 8, 2026 at 4:02 AM
As I excavate 40 year old Mac screen fonts from the depths of system floppy disk images and forgotten resource forks, I stop to appreciate just how amazing these fonts were at a mere 9pt.

Each one clearly and cleanly expresses its unique character at even the smallest sizes.
January 8, 2026 at 3:31 AM
Hmm. This feels more correct for the project and just reads better. Bit more tweaking. Almost there.
January 7, 2026 at 7:06 PM
Hmm. Too goofy?
January 7, 2026 at 6:33 PM
MacPaint will support multiple documents and tabbed windows as you'd expect. :)
January 7, 2026 at 5:50 PM