OpenSourcePicks

Open source alternatives to popular software, with live GitHub data

GitHub stats refreshed every day

MyPaint

Distraction-free painting and sketching app with an infinite canvas and a configurable brush engine

Visit MyPaintGitHubDocumentation

Main features

  • Infinite canvas
  • Configurable brush engine emulating pencil, charcoal, ink and paint
  • Brush settings stored with each stroke
  • Graphics tablet pressure support
  • Fullscreen mode with tools shown on demand
  • Layers with blend modes and layer groups
  • Pigment-like color mixing and linear RGB color space
  • Line, curve, ellipse, inking and symmetry tools
  • OpenRaster files and editing layers in an external app

What MyPaint does

MyPaint is a desktop program for painting and sketching from scratch. It is deliberately narrow: instead of the photo-editing features of a general image editor, it concentrates on the act of drawing, with an infinite canvas that grows as you paint and a fullscreen mode that hides the interface until you call up a tool. The project describes the goal as a simple painting experience with enough depth for advanced users.

The core of the program is its own brush engine, published separately as the libmypaint library. The bundled brushes imitate charcoal, pencil, ink and paint, and almost every aspect of a brush can be configured, which makes it possible to create brushes that behave unlike any traditional medium. Brush settings are stored with each stroke on the canvas. Pressure and other inputs from graphics tablets are well supported; a mouse works, but the documentation recommends a tablet.

Beyond freehand strokes, there are tools for lines and curves, connected lines, ellipses and inking, a symmetry tool, flood fill and a frame tool. Layers support blend modes and groups. Colors can mix in a paint-like pigment model, and the program works internally in a 15-bit linear RGB color space.

Files and other tools

MyPaint saves its working documents as OpenRaster (.ora), an open layered format that several other painting programs read. Finished work goes out as PNG or JPG. Version 1.2 added “Edit Layer in External App”, which hands a layer to a program such as GIMP or Inkscape and brings the result back, for jobs MyPaint does not do itself.

Installing MyPaint

MyPaint is a desktop application for Linux, Windows and macOS. The website offers v2.0.1 through Flathub, MacPorts and a Windows installer; release pages also carry standalone Windows archives and AppImage files, and nightly builds come from the project’s CI. Community-maintained packages exist for winget and Chocolatey. Building from source requires libmypaint, the mypaint-brushes collection and GTK 3 with Python bindings. There is no server component.

Hosted version

None. MyPaint runs only on your own computer.

Limitations

The last stable release, v2.0.1, dates from May 2020. The repository is not abandoned: in 2025 and 2026 it received fixes for newer PyGObject and SWIG versions, a move to pytest and a steady stream of translations, but new features reach users only through nightly builds. The FAQ states plainly that resizing, selection manipulation and color adjustments are missing and suggests Krita or GIMP when those matter; there is no print function either. The user manual describes version 1.2.0 and some pages are unfinished. There is no collaboration, and MyPaint is not a design tool: it does not replace Figma, Canva or Miro.

Who it suits

MyPaint suits illustrators and sketchers with a graphics tablet who want a fast, uncluttered canvas and fine control over brushes, and who are happy to finish images in another program. To paint together with others over the network, see Drawpile; for general image editing, Pinta on the desktop or miniPaint in the browser.

License details

GPL-2.0-or-later. The libmypaint brush library is ISC-licensed; many brushes and artist resources are public domain.

Technical details

Self-hosting needs

  • Linux
  • Windows or macOS desktop

Built with

  • Python
  • C++
  • GTK 3

GitHub topics

  • art
  • brushes
  • creative
  • distraction-free
  • drawing
  • graphics-tablet
  • infinite-scroll
  • libmypaint
  • mypaint
  • painting
  • python

Reviewed by the OpenSourcePicks editors from the project's repository and documentation. Something out of date? Tell us.