How to Write a Paint.NET Plugin

I'll show you how it's done!

So, you want to learn how to write your own Paint.NET plugin? Cool. I'll show you how it's done.

In order to follow along with this series of tutorials, you'll need to install the CodeLab plugin and you'll need at least a basic understanding of the C#.NET programming language. If you have experience with C, C++, or Pascal, you'll probably do fine. If not, you'll need to get familiar with C# first. Go ahead, I'll wait...

Ready to start? OK, let's go...

Modern Effect Pipeline Overview

Starting with v5.0, Paint.NET introduced a modern effect pipeline for us plugin authors. This allows us to write GPU accelerated plugins. But, before we jump into that, let's review how the effect pipeline works:

• How Paint.NET renders your effect ← start here!

Tutorials Index

The first decision you must make is: What type of effect do you want to write? CodeLab offers three effect types:

• How to write a Paint.NET Bitmap plugin ← pixel by pixel
   - Adding a simple UI

• How to write a Paint.NET GPU Image plugin ← effect chaining
   - Adding a simple UI
   - Premultiplied vs. Straight Alpha

• How to write a Paint.NET GPU Drawing plugin ← text/shape drawing
   - Adding a simple UI
   - Rendering Text
   - Rendering Selection/Outlined Text

How to use CodeLab Itself

• Using the Code Editor Menus
• Building a DLL File from Your Script File
• Designing a UI for Your Effect

Older Tutorials

Below is a link to my classic tutorials. I don't recommend following them now, as Paint.NET v5.0 has introduced a modern effect pipeline (tutorials above) and the classic pipeline will eventually be turned off.

• How to write a Paint.NET Classic plugin

You have been warned.


The best way to say "Thanks" for teaching you something here, is to fill out this form. It uses PayPal to process your donation. You don't need a PayPal account, just a credit/debit card will do. If PayPal doesn't work for you, no need to worry--just enjoy the tutorials for free!

Thank you for your donation. I don't get many, so you can be sure I really appreciate yours!




CodeLab 6.12 Released
(February 11, 2024)
This latest release of CodeLab for Paint.NET includes the ability to write GPU accelerated plugins.

Double-Six Dominoes 3.1
(May 10, 2021)
This long-awaited refresh of the most popular dominoes game on is now available!

HTML Editor 1.5 Released
(March 31, 2016)
This latest release is a complete rewrite adding a wysiwyg editor mode and a much improved UI.