v0.1 · Open source · MIT

Make your own anime.
Free. Forever.

A friendly, professional-minded 2D animation studio for desktop. Easy enough for your first flipbook. Built around a real X-sheet, so it can grow with you.

  • .NET 8
  • Avalonia UI
  • Win · macOS · Linux
Why this exists

There was a gap in the middle.

I'm an anime fan. I wanted to animate something of my own, so I went looking for a tool.

FlipaClip

Lovely and easy — but runs out of road quickly.

OpenToonz

Genuinely professional — genuinely hard to start.

Adobe Animate

Does everything — costs money every month.

Checkmate

Simple on day one. Doesn't hit a wall on day thirty.

“Start like a flipbook, grow like a studio.”

What's in the box

Everything you need to draw, time, and ship a scene.

Early, but honest — here's what works today.

Draw

Seven brushes with distinct feel — Pen, G-Pen, Pencil, Marker, Airbrush, plus hard & soft erasers. Pressure-sensitive. Size 1–300 px, opacity, and a stabilizer that actually helps.

Colour

Full colour picker, eyedropper (hold Alt), and 13 curated palettes — Classic, Anime, Pastel, Vivid pop, Neon cyber, Sunset, Sakura, Retro 8-bit and more. Your custom colours persist.

Animate

Layers, onion skin (red before / green after, 0–4 frames), timeline with 1–60 FPS playback, and buttons for add, hold, delete, new drawing, and copy-held.

X-sheet

The part I'm proudest of. A real exposure sheet: numbers mark starts, lines are holds, ticks are ends. One-click retiming on 1s, 2s, or 3s.

Share

Export MP4 (H.264, plays everywhere) via FFmpeg, or PNG sequence at full resolution. Frame-range picker on both. Save and open .checkmate projects.

Polish

Animated splash screen, cached rendering so heavy frames stay smooth, and undo / redo across everything — including layer and timeline edits.

The X-sheet

Anime isn't drawn on every frame.

A drawing is held for two or three frames — animating on 2s — and studios plan that on an exposure sheet. Rows are frames. Columns are layers.

Checkmate has one, built in.

  • N A number marks where a drawing starts
  • │ A line is how long it's held
  • ✓ A tick is where it ends
  • ↕ Click to jump, drag to scrub
  • 2s One-click retiming on 1s / 2s / 3s
  • ± Hold + / Hold − to stretch or shrink a drawing
X-sheet drag to scrub
Active layer · Character A
Get started

Your first animation in five minutes.

  1. 1Draw a ball on the left. Just a circle.
  2. 2Press Insert. Onion skin shows the last ball in red.
  3. 3Draw the ball a little further right, guided by the ghost.
  4. 4Repeat a few times.
  5. 5Press Space. Drag the FPS slider until it feels right. 12 is classic.
  6. 6Open the X-sheet, click 2s. You're animating on twos.
  7. 7Export MP4. You've got a video.
Run it
bash
$ git clone https://github.com/Checkmate-Studios/Checkmate.git
$ cd Checkmate
$ dotnet run --project src/Checkmate.Desktop

Requires the .NET 8 SDK. For MP4 export, install FFmpeg — Checkmate finds it on its own, or asks once and remembers.

FFmpeg winget install Gyan.FFmpeg brew install ffmpeg sudo apt install ffmpeg
Keyboard & mouse

Shortcuts you'll actually use.

Tools

Pen · G-Pen · Pencil · Marker · AirbrushBGPMA
Eraser · Soft eraserE⇧E
EyedropperI
Text toolT
Brush smaller / bigger[]

Frames

Play / pauseSpace
Previous / next frame,.
Add frame / add holdIns⇧Ins
Delete current frameDel
New drawing here / copy heldND
Hold longer / shorter=-
Onion skin toggleO

View & Edit

Zoom · rotate · panwheel⇧wheelRMB
Undo / redo⌘Z⌘Y

Everything is undoable — so don't be afraid to press things.

How it's built

Small core. Sharp tools. No magic.

Checkmate/
├─ src/
│  ├─ Checkmate.Core/       the brain: model, editing, undo/redo, save/load
│  └─ Checkmate.Desktop/    the face: Avalonia UI, MVVM, Skia, export
└─ tests/
   └─ Checkmate.Core.Tests/ xUnit tests for the core
  • Vector strokes, not pixels.

    Every line is points + pressure + brush, rendered with SkiaSharp. Clean line art, cheap undo, full-resolution exports.

  • The exposure model.

    A layer stores drawings keyed by start frame; a drawing holds until the next. Holds are free. The X-sheet is just a window onto that data.

  • A tested core.

    All editing flows through one Editor class with no UI dependencies, covered by 18 unit tests.

  • Fast while you draw.

    Finished drawings cached as bitmaps; only the live stroke renders on top. Translucent brushes and erasers still come out right.

  • Video without temp files.

    Frames stream straight into FFmpeg's input. Low FPS is written at 24 fps with repeats, so every player accepts it.

Built with C# / .NET 8 Avalonia UI SkiaSharp CommunityToolkit.Mvvm xUnit FFmpeg
Honest limitations

What's not in the box — yet.

I'd rather you hear it from me.

Roadmap

Where it's going.

  1. Shipped Pressure brushes · eraser · zoom/pan/rotate · layers · undo/redo
  2. Shipped Timeline · playback · onion skin
  3. Shipped Seven brushes · size/opacity/smoothing · text tool
  4. Shipped Palettes · custom colours · eyedropper
  5. Shipped X-sheet with exposure editing, frame insert / delete
  6. Shipped PNG sequence & MP4 export with frame ranges
  7. Soon Camera layer with pan / zoom / rotate keyframes
  8. Soon Audio import with scrubbing, for lip sync
  9. Soon GIF export
  10. Later Tweening for cut-out animation
  11. Later Brush editor · shortcut editor
  12. Later Compact project format (zip), plugin system
Contributing

More hands make a better tool.

You don't need to be an expert.

Use it

Tell me what felt wrong. Confusing buttons, slow moments, missing features — all useful.

Report bugs

What you did, what you expected, your OS. Three lines is enough.

Test Mac & Linux

That's where the most help is needed. Built on Avalonia, so it should just run.

Send code

Open an issue first for anything big. Checkmate.Core is the friendliest place to start.

Before a PR: run dotnet test and make sure it passes.

Now go make something that moves.

MIT License · Free and open source · Use it, change it, share it — even commercially.