Effects & Adjustments
Novaboard includes powerful color adjustments and effects that can be applied to selections, layers, or entire files. All effects support undo/redo.
Layer Effects
Non-destructive, GPU-accelerated visual effects can be applied to individual layers or layer groups. The library spans six categories: Style (drop shadow, glow, outline, motion echo, smoother, edge detect), Color (gradient map, color correction, OKLCH, brightness/contrast, levels, curves, invert, grayscale, modulate), Palette (posterize, bit crusher, threshold, dither, palette swap), Screen (CRT scanlines, noise, chromatic aberration, pixelate), Distort (bend, wave, distortion, parallax), and Lens (bloom, blur, vignette).
Effects live in a dockable Effects panel with live on-canvas preview. You add them from a categorized, searchable menu (with recents and keyboard navigation), stack and drag-reorder them, and keyframe any numeric parameter with the diamond beside it. See Layer Effects for full documentation.
Simple mode hides layer effects, along with blend modes.
Managing the Effect Stack
Effect cards in the panel behave like a list you can select in. Click a card to select it and open it, Ctrl+click to add or remove one from the selection, and Shift+click to take the run between the last card you touched and this one.
- Copy (Ctrl+C) — Copies the selection, or the whole stack when nothing is selected
- Cut (Ctrl+X) — Copies the selection and removes it
- Duplicate (Ctrl+D) — Drops copies right below the lowest selected card, and leaves the copies selected
- Paste (Ctrl+V) — Appends the clipboard as new effects, except where it can overwrite: paste onto a selected effect of the same type and it replaces that effect's settings in place instead of adding a second one. Copy one effect, select the same effect on another layer, paste, and the two now match
- Delete — Right-click a card and pick Delete. There is no delete key binding
The shortcuts only fire while focus is inside the Effects panel and you are not typing in a field. Right-clicking a card opens the same Copy, Paste, Duplicate and Delete menu, selecting the card first if it was not already selected. The clipboard is shared across layers and files, so it is the quickest way to carry a tuned effect from one sprite to another.
What the panel is editing is remembered per file. Layer and group ids only mean something inside one document, so each open file keeps its own effects target: switch tabs and the panel shows that file's target, which is usually nothing until you pick a layer there. Switch back and your target is still where you left it.
On an indexed file the panel shows an info row worth reading: effects render in full color and are then snapped to the file's palette, so smooth gradients from glow or blur band into palette steps. Dismiss it and it collapses into a small swatch glyph in the panel header that you can click to read again. The dismissal is a global preference, not a per-file one.
A small repeat icon shows up beside a slider parameter when a looping tween ends on the current keyframe and the value playing on canvas is not the value sitting in the input. Its tooltip reads "Loop tween: plays as" and the played value, so you can tell a stale-looking slider from a wrong one. It only appears when the panel targets a single layer, since groups do not keyframe effect parameters. See Tweening.
Color Adjustments
Color adjustments open as floating draggable panels with a live on-canvas preview instead of blocking modal dialogs. The panel shows a Preview checkbox and a Reset/Apply/Close footer, and closing it reverts the canvas unless you click Apply. You can move the panel around and keep drawing on the canvas while you tweak values.
Brightness/Contrast, OKLCH, HSL, Curves, and Posterize all share that panel, and each has a bottom-sheet version on mobile. The Filter panels (Outline, Anti-Alias, Auto-Shade) work the same way but are desktop-only and have no Reset button. Gradient Map is only available as a layer effect, not a standalone panel.
Every color field in these panels, including Outline, Anti-Alias and Auto-Shade, has a canvas eyedropper next to its swatch: click it, then click a pixel on the canvas to sample that color into the field. Filter panels sample the image as it was before the filter, so the eyedropper never picks up the effect's own preview.
Hue/Saturation/Lightness
Adjust the overall color properties of your image. Access via Image → Adjust Colors → Hue/Saturation or the command palette.
| Parameter | Range | Effect |
|---|---|---|
| Hue | -180° to +180° | Shifts all colors around the color wheel |
| Saturation | -100% to +100% | Increase or decrease color intensity |
| Lightness | -100% to +100% | Make image lighter or darker overall |
Brightness/Contrast
Adjust the light and contrast levels. Access via Image → Adjust Colors → Brightness/Contrast.
| Parameter | Range | Effect |
|---|---|---|
| Brightness | -100 to +100 | Overall lightness/darkness |
| Contrast | -100 to +100 | Difference between lights and darks |
Curves
Fine-tune the tonal range by adjusting midtones. The curves tool uses a simplified 3-point curve with a single adjustable midpoint.
- Raise the midpoint slider (0-255, default 128) to brighten midtones
- Lower it to darken midtones
- Affects RGB channels together
OKLCH Correction
Perceptually uniform color correction using the OKLCH color space. Access via Image → Adjust Colors → OKLCH.
| Parameter | Range | Effect |
|---|---|---|
| Lightness | -100% to +100% | Perceptually uniform brightness adjustment |
| Chroma | -0.40 to +0.40 | Absolute chroma delta — color vividness (more accurate than HSL saturation) |
| Hue | -180° to +180° | Perceptually uniform hue rotation |
Invert Colors
Invert all colors in the selection or layer. Access via Image → Adjust Colors → Invert Colors. Each pixel's RGB values are flipped (e.g., white becomes black, red becomes cyan).
Grayscale
Convert the selection or layer to grayscale. Access via Image → Adjust Colors → Grayscale. Uses luminance-weighted conversion to produce natural-looking results while preserving alpha.
Posterize
Reduce the number of color levels per channel for a stylized, poster-like effect. Access via Image → Adjust Colors → Posterize. The panel's Levels slider runs from 2 to 256 and starts at 8. The Posterize layer effect covers a narrower 2 to 32, starting at 4.
| Levels | Result |
|---|---|
| 2 | Extreme contrast, almost 2-color |
| 4-8 | Retro game look |
| 16-32 | Subtle color reduction |
| 256 | No visible change |
Outline Effect
Add outlines around sprites, perfect for game assets. Access via Filter → Outline…, Shift+O , or the command palette. This standalone panel creates a new layer; the Outline layer effect is a separate non-destructive option.
| Option | Description |
|---|---|
| Size | Outline thickness (1-10 pixels) |
| Color | Outline color (customizable) |
| Mode | Outline (outside) or Inline (inside) |
| Directions | Full (8-dir), Cross (4-dir), Vertical, Horizontal |
| Alpha Threshold | Minimum opacity to consider as edge (0-255, default 128). Standalone panel only — the Outline layer effect hard-codes this to 128. |
Dithering
Dithering creates the illusion of more colors by using patterns of dots. Novaboard has a dedicated Dither tool (Alt+B) that paints between two colors, and the bucket and gradient fills support dither patterns too. The Dither layer effect is separate and offers 4 patterns (2x2/4x4/8x8 Bayer and Noise) rather than the tool's 8.
Available Patterns
Using Dithering
- Select the Dither tool (Alt+B)
- Set your primary and secondary colors
- Choose a pattern in the tool options
- Set the Dither slider next to it, 0 to 100%, 50% by default. It is the ratio of primary to secondary within the pattern: 100% is all primary, 0% is all secondary, and the values between thin one color out into the other. The same ratio is what the bucket uses for a dithered fill, so setting it here changes both
- Paint - the strokes will alternate between colors
Anti-Alias
Apply configurable anti-aliasing to smooth jagged edges in your pixel art. Access via Filter → Anti-Alias…. Opens as a floating draggable panel with live preview that reverts on close unless you apply.
- A/B color ramp — Pick two boundary colors and an ordered list of intermediate colors; the tool walks inward from the A↔B edges and paints the intermediates, splitting across edges for a continuous A→B gradient
- Perceptual ramp generation — Intermediate colors are generated in OKLCH color space for perceptually uniform transitions
- Color suggestions — A and B seed from your primary and secondary colors, and a suggestion strip proposes the image's top 10 colors as boundary picks
Auto-Shade
Shade a flat sprite in one pass. Access via Filter → Auto-Shade…. Pick the base color the shading should build from, say how many highlight and shadow steps you want, and choose where the light comes from.
- Prevalent strip — The image's ten most common colors; click one to set it as the Base
- Highlights and Shadows — 0 to 5 steps each. Auto regenerates both ramps from the base in OKLCH space, and you can recolor any swatch by clicking it
- Light direction — An eight-way compass around a Surface marker, so the highlights land on the lit side and the shadows on the other
Scope
With an active layer, an adjustment writes to whatever the layers panel and timeline have selected: the active cel on its own, or every cel in a multi-cel selection. An active marquee clips the write to the selected pixels, and an edit made on a held frame lands on the keyframe that governs it. With no active layer the adjustment covers every layer at the current frame.
Quick Tools
For standalone image processing without opening the editor, check out the Quick Tools — browser-based utilities including color correction, format conversion, and more.