Skip to main content

Overview

The Pencil and Brush tools are your primary freehand drawing instruments in Aseprite. They use the Freehand Controller which tracks mouse movement to create natural, flowing strokes.
Keyboard Shortcut: Press B to quickly select the Pencil tool

Basic Usage

1

Select the Tool

Click the Pencil/Brush icon in the toolbar or press B
2

Choose Colors

  • Left-click draws with foreground color
  • Right-click draws with background color
  • Alt+Click picks color from canvas (eyedropper)
3

Start Drawing

Click and drag on the canvas to create freehand strokes

Brush Configuration

Brush Size

Adjust the size of your brush:
[ - Decrease brush size
] - Increase brush size
Shift+[ - Minimum size (1px)
Shift+] - Maximum size
You can also adjust brush size in the context bar at the top of the window, or by right-clicking on the brush size indicator.

Brush Types

Aseprite supports multiple brush shapes:
Round brushes create smooth, circular strokes
  • Best for: Organic shapes, soft edges
  • Default brush type
  • Anti-aliasing option available

Advanced Features

Pixel Perfect Mode

The Pixel Perfect intertwiner automatically removes redundant pixels from your strokes, creating clean lines perfect for pixel art.
// From: source/src/app/tools/intertwiners.h:593
class IntertwineAsPixelPerfect : public Intertwine {
  // Removes redundant corner pixels for clean L-shapes
  // Maintains stroke history for undo operations
};
When to Use Pixel Perfect:
  • ✅ Line art and outlines
  • ✅ Geometric shapes with clean edges
  • ❌ Textured or intentionally rough strokes
  • ❌ When using custom image brushes (limited support)
Enable via: Tools → Pixel Perfect or the context bar checkbox.

Brush Dynamics

Add variation to your strokes with dynamics:
Requires a graphics tablet with pressure supportConfigure dynamics:
  • Size: Vary brush size with pressure
  • Angle: Rotate brush based on pressure
  • Opacity: Control transparency
  • Gradient: Shift through gradient colors
Access via: Edit → Preferences → Tablet
Respond to drawing speed
Faster strokes = lighter/smaller
Slower strokes = heavier/larger
Useful for natural variation without a tablet
Add organic randomness to strokes
  • Size jitter: Randomize brush size
  • Angle jitter: Random rotation
  • Color jitter: Slight color variations

Drawing Modifiers

Hold keys while drawing for special behaviors:
ModifierFunctionUse Case
ShiftDraw straight line from last pointQuick straight segments
Shift+ClickContinue from last stroke pointExtend existing lines
Ctrl/Cmd+ClickEyedropper (pick color)Sample colors quickly
Space+DragPan canvasNavigate while drawing
Shift+Click Workflow: Click once to start, hold Shift and click again to draw a straight line. Keep Shift held and click multiple times to create connected line segments.

Ink Modes

The Pencil tool supports multiple ink modes that change how color is applied:

Paint Inks

Simple

Direct color application at full or specified opacity
  • Default mode
  • Fastest performance
  • Opacity from tool settings

Alpha Compositing

Blends colors with existing pixels
  • Natural color mixing
  • Respects layer blending
  • Slightly slower than Simple

Copy

Replaces pixels completely
  • Ignores alpha blending
  • Overwrites transparency
  • Use for: masks, cutouts

Lock Alpha

Preserves transparency
  • Only paints visible pixels
  • Maintains alpha channel
  • Use for: recoloring, texturing

Special Inks

Keyboard Shortcut: Shift+RUses color ramps for pixel art shading:
  1. Configure color ramps in Edit → Shade
  2. Draw with Shading ink
  3. Left-click: Shift to lighter colors
  4. Right-click: Shift to darker colors
Shading ink reads your palette and uses configured color relationships. Perfect for consistent cel-shading and pixel art highlights/shadows.

Practical Examples

Creating Clean Pixel Art Lines

1

Enable Pixel Perfect

Tools → Pixel Perfect ✓
2

Use 1px Brush

Set brush size to 1 pixel
3

Draw Freehand

Draw your line naturally - redundant corner pixels are automatically removed
4

Use Shift for Straight Lines

Hold Shift while clicking to snap to 45° angles

Working with Custom Brushes

1

Create Selection

Select a region of your sprite you want to use as a brush
2

Save as Brush

Edit → New Brush or Ctrl+B
3

Configure Brush

  • Set center point (click on preview)
  • Enable/disable alpha transparency
  • Save to brush collection
4

Paint with Custom Brush

Select your saved brush from the brush selector
Performance Note: Custom image brushes with large dimensions or complex alpha channels may cause slower drawing performance. Consider using smaller brushes or geometric shapes when smooth real-time feedback is important.

Tablet Support

Aseprite fully supports drawing tablets:
Edit → Preferences → TabletSettings:
  • Pressure curve adjustment
  • Minimum pressure threshold
  • Tilt support (hardware dependent)
  • API selection (Windows Ink, Wintab)
If pressure isn’t working, try switching the tablet API in preferences.

Technical Details

Tool Architecture

The Pencil tool is implemented using:
// From: source/src/app/tools/controllers.h:62
class FreehandController : public Controller {
  bool isFreehand() override { return true; }
  
  // Adds each mouse position as a stroke point
  void movement(ToolLoop* loop, Stroke& stroke, const Stroke::Pt& pt) {
    stroke.addPoint(pt);
  }
};
Key characteristics:
  • Accumulative trace policy: Each stroke builds on previous
  • Controller adds all mouse points to stroke
  • Intertwiner connects points based on selected mode
  • Ink processor applies color to affected pixels

Tool Overview

Shapes

Symmetry Mode

Tiled Mode