One pixel art app for your whole game

I'm making a game and drawing all of its art myself. I got tired of switching apps: sprites in one, the level in another, effects drawn frame by frame, and an export every time something changed. So I built one app that does all of it.

Check your inbox. I sent a link to you@example.com. Click it to confirm.

Get it on itch.io Get it on the App Store

On itch.io for Windows, macOS and Linux and on the App Store for iPad, with Steam to come. You pay once, with no subscription and no account. I send one email when it's out and nothing else.

A pixel art village with wooden houses, barrels, a log pile, a cart and a fence, and three characters, Bram, Wren and Rory, standing on the path between them

Everything in one file

This village is one document. The ground is a tilemap layer with the path and the grass on terrain layers inside it, and the houses, trees and three characters sit on pixel layers above. It all shares one timeline, so a walk cycle plays on the level it belongs to before you export anything.

  • Pixel, tilemap and particle layers in one layer list
  • Groups, blend modes, opacity, clipping, alpha lock and reference layers
  • One timeline for every kind of layer
Nomad Pixel with a village on a tilemap layer, three characters on the road between the houses and market stalls, and the Tileset panel open

Effects and particles

Sparks, dust and hit flashes usually get drawn frame by frame, then redrawn whenever the sprite changes. Here effects and particles render as real pixels on the timeline, using only colors from your palette. They stay editable until you bake them into frames, and you can switch any of them off.

How the tree sways

The trunk is a pixel layer that never changes. The canopy is a second layer with a gentle ripple pinned at the trunk, so it sways from the top. A third layer holds the brightest leaves and sways a little more, and a fourth holds small leaf clumps that wave on their own. Falling leaves are a particle layer with five hand-drawn leaf shapes in the tree's own shades, blown off by the wind. Every frame uses the document's palette, and all of it stays editable.

  • Effects sit on a layer and cover a range of frames
  • Particles can use shapes you draw, with spin
  • Bake either into plain frames when you're done
An autumn tree whose canopy sways gently, its bright leaves and leaf clumps moving on their own, while leaves blow off it in the wind past a still trunk
  • The cat head squashing wider and shorter, then stretching back, over and over

    Squash and stretch

    Scales the sprite about its feet, wider as it gets shorter.

  • The cat head hopping up and landing with a small squash

    Jump

    Lifts the sprite by up to 64 pixels on an ease curve.

  • The cat head shaking in place

    Shake

    A random offset each frame, the same every time you play it.

  • The cat head rocking left and right about its base

    Wobble

    Rocks the sprite about its feet, by an angle and a rate.

  • The cat head with its rows shifting in a slow wave

    Wave

    Shifts each row sideways on a sine, for water and heat.

  • The cat head swaying from its base as if in wind

    Cloth ripple

    Sways from a pinned line, with wind. For capes, flags and hair.

  • The cat head flashing pale for a few frames

    Flash

    Fills the sprite with one palette color for a hit or a spawn.

  • The cat head tinting purple and back

    Tint

    Mixes a palette color in by an amount.

  • A pale outline appearing around the cat head and fading

    Outline

    Draws a palette color around the edge.

  • The cat head dissolving into scattered pixels and back

    Dissolve

    Clears pixels in a dither as the curve rises.

  • The cat head with a warm glow swelling around its edge and fading

    Glow

    A soft halo in a palette color, dithered so it stays pixel art.

  • The cat head jolting with red and cyan edges pulled apart

    Color split

    Two palette colors pulled to either side for a hit or a glitch.

  • The cat head recolored through a fiery ramp and back

    Gradient map

    Recolors the sprite through a ramp by brightness. Pick a ramp from the library or make one.

  • The cat head stretching up into a hop and settling back

    Transform

    Move, turn, scale and skew about the feet or the middle, each on its own curve.

  • A sword swinging about its hilt, its blade sweeping one solid outlined slash

    Smear

    Fast moves leave a trail of the sprite behind them, like a drawn smear frame.

  • A ring of distortion passing out through the cat head

    Shockwave

    A ring that pushes pixels outward as it grows.

  • The cat head shimmering as if seen through heat

    Heat haze

    Rows ripple on a slow shimmer, for heat and magic.

  • The cat head pulsing with a red fringe pushed outward and blue pulled in

    Radial split

    Colors pulled toward and away from the middle, like a lens.

  • The Float preset added to Wren from the Effects panel, and Wren bobbing gently in the village square as it plays

    Effect presets

    Hit, land, float, spawn and pickup glow to start from, or save your own.

  • A cat head bobbing and rippling with Jump and Wave, the Bake button clicked so the effects list empties while the head still moves, then undo bringing both effects back

    Bake

    Turns the covered frames into plain cels in one undo step.

  • A spark emitter dragged up past Wren while the particles play

    Particle layers

    An emitter with rate, life, angle, spread, speed, gravity, wind, drag, turbulence and bounce.

  • Autumn leaves drifting down beside Wren from a box, a circle, a point and a line as the spawn shape changes

    Emitter shapes

    A point, a line, a box, a circle or a path you draw.

  • An attractor added to the falling leaves and dragged around, the leaves gathering wherever it goes

    Attractors

    Up to eight that pull particles in or push them away.

  • Pink hearts drawn by hand floating up and swaying, with gold stars flying out and leaving fading copies behind

    Your own shapes

    Particles can be shapes you draw, with spin and trails of copies.

  • Rain streaking down onto the cat head and stopping where it hits, so its face stays dry

    Collisions

    Particles hit a layer's pixels and stop, bounce or stick, with a splash where they land.

  • Snow drifting down past the cat head in a loop with no jump where it starts again

    Clean loops

    Loop over the sprite's frames, or play once. The same seed gives the same particles.

  • The falling leaves baked to a pixel layer, and the new layer appearing in the timeline with a cel on every frame

    Bake to pixels

    Dither to the palette and bake to a pixel layer, one cel per frame.

Made with particles

A few emitters each, nothing drawn frame by frame. Every one of these is a document you can open and change.

  • A fire effect made from particles

    Fire

    Three emitters: flames from a small circle, embers, and smoke rising above them.

  • A waterfall effect made from particles

    Waterfall

    Seven emitters and no hand-drawn frames: blobs that darken as they fall, foam at the lip and the base, twinkles on the sheet, and spray.

  • A magic effect made from particles

    Magic

    Sparkles drawn into an orb by an attractor, spinning plus shapes drawn by hand.

  • An attack effect made from particles

    Attack

    A one-shot slash along an arc with trails, and an impact burst a few frames later.

  • A fireball effect made from particles

    Fireball

    A lit blob core circling on a track, flames and a fading smoke trail left behind it, sparks stretched by their speed.

  • A slime effect made from particles

    Slime

    Blob particles merged into one lit, shaded body with a shadow, and eyes on a layer above.

32 presets to start from

Fire, smoke, magic, weather, impacts, nature, liquids and UI. Pick one from the browser, then change anything after. Eight of them:

  • The campfire particle preset playing

    Campfire

    Round flames that rise and sway, dithering away at the top.

  • The explosion particle preset playing

    Explosion

    One burst of round particles that brighten where they overlap.

  • The portal particle preset playing

    Portal

    Particles drawn in from a ring laid flat on the ground, curling as they go.

  • The lava particle preset playing

    Lava

    Particles that merge into lit blobs as they rise.

  • The bubbles particle preset playing

    Bubbles

    Rings rising and wobbling side to side.

  • The rain particle preset playing

    Rain

    Streaks falling at a slight angle.

  • The aura particle preset playing

    Aura

    Plus-shaped sparkles that orbit as they rise.

  • The spell burst particle preset playing

    Spell burst

    A star of plus shapes that pops into smaller sparks.

Tilemaps

Build the level in the same file as the art, so a tile you redraw shows up on the map straight away. A tilemap layer draws from a tileset. Edit a tile and every copy of it on the map updates, or let each edit make a new tile and keep the original.

  • Flowers and tufts added to one grass tile, shown enlarged in the corner, appearing on every grass cell around a village house at once

    Edit one tile, update the map

    Every copy of the tile changes with it.

  • Grass tufts drawn along the edge of the village road on a tilemap layer, the Flowers tileset growing from no tiles to seven as each new cell is painted

    Draw straight into tiles

    Each new cell becomes a tile as you paint.

  • One grass corner tile picked in the tileset panel and stamped four times, flipped with X and Y, to close a grass island on the dirt

    Place and flip

    Pick tiles from the tileset panel and flip them as you go.

  • A grass tile sheet opened in the import dialog, sliced into tiles and added to the tileset panel

    Import a tile sheet

    Tilesets import and export as PNG.

  • Grass painted onto the dirt in front of a village house on the Grass terrain layer, its edges and corners forming as each stroke lands

    Terrain layers

    Paint grass and the edges and corners sort themselves out as you drag. The cell under the cursor shows what you're about to paint.

  • A cobble path painted cell by cell across dirt, its ends, bends and T junctions picking the right tile as it grows

    Match sides, 16 tiles

    One tile per combination of the four sides, from a template.

  • Two patches of grass painted onto dirt, growing until they meet, their ragged edges and corners resolving as they spread

    Dual grid, 15 tiles

    Tiles sit between cells, so slopes and thin paths come out of fewer tiles.

  • Grass painted cell by cell onto the dirt beside a cobble path, its ragged edges, inside corners and a hole in the middle working themselves out as each stroke lands

    Blob, 47 tiles

    Autotiling that checks all eight neighbors, so holes and inside corners get their own tiles.

  • Grass painted column by column around a cobble crossroads on its own layer, its edges forming against the dirt while the path stays as it is

    Terrains that overlap

    Each terrain is its own layer and works out its own edges.

  • The village playing while the grass and props layers are hidden and shown, the shadows layer set to Multiply with its opacity raised, and the Weather group folded and unfolded

    One layer list

    Pixel, tilemap, terrain and particle layers together, with groups, blend modes and opacity.

Animation

Layers and frames share one timeline. Tags mark the loops, onion skin shows the frames around the current one, and effects sit on the same timeline as the drawing. Tweens move a cel's offset and opacity between keyframes, and slices such as hitboxes can change from frame to frame.

  • The hero's idle loop playing with squash and stretch and a jump, the jump effect switched off and back on in the Effects panel

    Effects on the timeline

    Squash, jump and shake cover a range of frames without redrawing.

  • Wren starts invisible off the left edge, the first and ninth cels on her row are tweened from the right-click menu, and she slides in and fades up as the playhead runs, then settles faster once the ease is switched to Ease out

    Tweened cels

    Move and fade a cel between two keyframes, with an ease.

  • A red hitbox around the character steps through the frames of a jump and landing, tightening on the crouch and widening when the arms swing out

    Hitboxes that follow the animation

    A slice can change shape on every frame, so the hitbox tracks a jump and its landing.

  • A jump effect playing while its curve is dragged, first into a quick rise and slow fall, then a slow rise and quick drop

    Ease curves you can drag

    Shape any effect's timing on a curve and watch the loop change as you drag.

Drawing

The tools you'd expect, plus pixel-perfect strokes, eight inks, seven symmetry modes and a palette that controls every color.

  • The cat's tail drawn in with the pencil, first with doubled corners, then again with pixel-perfect switched on

    Pixel-perfect strokes

    A fast diagonal stays one pixel wide, with no doubled corners.

  • Symmetry switched on, then two strokes and a gem painted on one side of a face appear mirrored on the other

    Symmetry

    Seven modes, from a plain mirror up to all four axes at once. The axis can sit anywhere.

  • Shading picked from the Ink menu, then brushed over a bush so its greens step lighter along the palette

    Inks

    Normal, only on drawn pixels, darken, lighten, shading, alpha compositing, copy alpha and color, lock alpha.

  • A leaf brush preset with scatter and random rotation, painting falling leaves around the cat

    Brush presets

    Tips, spacing, scatter, jitter and rotation. Six starters ship, from round to grass tufts.

  • A grass tuft selected, made into a brush, and painted along the ground under the cat

    Any selection as a brush

    Turn what you've drawn into a brush and stamp it.

  • The cat's colors picked in the palette, then Saturation dragged down so the cat turns gray while the grass keeps its green

    Indexed color

    Change a swatch and every pixel painted with it changes too.

  • The palette sorted from its menu, the swatches moving while the logo stays the same

    Palette sort that keeps the picture

    Sorting the palette remaps the pixels, so the art doesn't change.

  • A Lospec link for the Sweetie 16 palette entered in the palette menu, and the trees taking on its 16 colors

    Lospec link

    Paste a link to any palette on Lospec. DB16, DB32 and PICO-8 are built in.

  • The hue dragged around the color wheel with its triadic markers following, then the tint and shade picker

    Harmonies and ramps

    A color wheel for harmonies and a tint and shade picker for ramps.

  • A pen stroke that swells and thins with pressure, then pressure switched off and a stroke that keeps one width

    Pen pressure and speed

    Either can drive size, angle, gradient and opacity on the pencil.

  • A Bayer dithered gradient dragged across the banner under the logo

    Dithered gradients

    Bayer and other matrices, and extensions can add their own.

  • SHOP typed in a pixel font and placed on a wooden sign

    Text

    A text tool for labels and signs.

Export

Sprite sheets with a JSON file, PNG frames, GIF, APNG, WebP and FLI, plus layered .psd, .ase and .aseprite files. If a format can't keep something, the app warns you before it saves. Export the whole canvas, a selection or a slice, all frames, one tag or a range, at any scale.

  • A sprite sheet of Bram, Wren and Rory, each facing four directions

    Sprite sheets with JSON

    Strips, rows, columns or packed, with padding, a border and trimming. JSON as a hash or an array.

  • The export dialog switched from one sheet to a sheet per tag and a sheet per layer, the preview redrawing each time, then back to one sheet

    One sheet, or by layer or tag

    Constraints for fixed rows, columns, width or height, and power of two.

  • The export target changed from sprite sheet to GIF, APNG and WebP for the hero animation

    GIF, APNG and WebP

    Animations out as a single file.

  • The export target set to PNG frames, 48 files for the whole sprite, then narrowed to the Idle tag for 10 files and the Walk tag for 8

    PNG frames

    A numbered image per frame.

  • An .ase file opened with a report of its 6 layers, 48 frames and 7 tags, the hero playing, then a layered .psd of the village opened with its groups

    Opens other files

    .psd, .ase and .aseprite, plus PNG, GIF, JPEG, BMP, TGA, PCX, ICO and QOI.

  • The Export tileset dialog with the village tiles in a grid, the columns raised from 4 to 8, then the sheet packed

    Tileset PNG

    A tileset exports on its own.

  • The props of a village linked into a map that only has ground, then a bush copied in the props file beside it and saved, and the map picking up the new bush

    Linked imports

    Another file's layer, tileset or palette as a linked copy that refreshes when the source is saved.

  • The Godot export extension installed from Preferences, then run from the Extensions menu to write the village into a Godot project

    Extensions

    An extension is a folder with a plugin.json and one JavaScript or TypeScript file, and it runs without a build step. It can add commands, panels, palettes, key sets, themes and language packs.

On the iPad too

The same app with a touch interface for the iPad and Apple Pencil Pro, and a companion mode that draws into a file open on your desktop.

Studio mode on the desktop: the village as a tilemap with the path and the grass on terrain layers, and the Tileset panel showing the grass terrain and its dual grid template
Focus mode on an iPad: the same village on the canvas, with the tool bar, brush size, tile picker, layers and timeline around it

More about the iPad app

Get it on the App Store

Your files

  • Crash recovery

    The app writes a recovery copy as you work. If it closes unexpectedly, the next launch offers to restore the document, undo history included.

  • No account needed

    The app works offline and needs no account.

  • Ordinary files

    Projects are ordinary files on your computer, so they go in git or a synced folder like everything else you make.

  • Other formats

    It opens .psd, .ase and .aseprite files and saves layered copies in those formats. Palettes load from GPL, HEX, PAL and TXT files, or from a Lospec link.

Price

You buy it once. There's no subscription and no account to make, and updates to this version are included.

Desktop, on itch.io

$19.99Paid once

One copy covers Windows, macOS and Linux. New versions come from the itch app or your itch.io download page.

Notify me Get it on itch.io

iPad

$19.99Free to download with a 14-day trial, then one in-app unlock at this price

The download is free and one in-app purchase unlocks the full app, with Apple Pencil Pro support, both interfaces and the same files as the desktop.

Get it on the App Store

Pricing details and questions

Get Nomad Pixel

On itch.io for Windows, macOS and Linux, paid once. On the App Store for iPad, free to try for 14 days. Steam comes later.